WS1 IntelligenceはWS1 UEMとの連携設定をすることでアクション(アプリのインストールなど)を実行することができます。
プリセットされたものでも様々なアクションを実行することができるのですが、今回はカスタムコネクタを利用することで、標準では用意されていないWS1 UEMのアクションを実行してみます。
今回は例として「デバイスログを要求」というアクションをIntelligenceから実行します。
大まかな流れは以下の通りです。
1.UEM管理コンソール上の操作を実行するAPIの調査
2.Postman Collectionの作成
3.Intelligenceでカスタムコネクタを作成
4.動作確認
1.UEM管理コンソール上の操作を実行するAPIの調査
IntelligenceからUEMのAPIを実行するにあたり、そもそもUEMで目的の処理をするためのAPIが存在するかどうかを調査し、テスト実行するところまでを行います。
まずはUEMの管理コンソールのGUI上で実行する場合の該当箇所を探します。
デバイス詳細画面で「その他のアクション」>「デバイスログを要求」が今回実行する操作なので、これをAPIで実行することができるかを確認します。
WS1 UEMで実行できるAPIは以下のURLにアクセスして確認します。
※XXXXの部分は環境によって異なるので、利用する環境の値に置き換えます。
URL:https://asXXXX.awmdm.com/api/help
今回実行したい操作は以下赤枠内にありました。
2.Postman Collectionの作成
Intelligenceのカスタムコネクタを設定する際、連携先となるサービスのAPIをテスト的に実行したりする必要があるため、Postmanとは仲良くしておくといいことがあります。
Postmanを起動し、「File」>「Import」をクリックします。
Import画面で「Raw text」タブをクリックし、入力欄にUEMのAPIテスト実行画面でコピーしたCurlコマンドをすべて貼り付けて、「Continue」をクリックします。
Curlコマンドをインポートすることにより、PostmanからAPIを実行できる形式で設定が追加されるため、「Send」をクリックして実行します。
実行が正常に完了したら、「Save as example」をクリックしてResponseを保存します。
なぜExampleが必要かというと、WS1 Intelligenceでのインポート時にJSONファイルにexampleが含まれている必要があるためです。
保存後Collection(Postman上のAPIコマンドをまとめたもの)をエクスポートします。
WS1 Intelligenceへのインポート時に必須の値を追加するため、エクスポートされたJSONファイルをテキストエディタで開き、以下赤枠箇所を追記して保存します。
この値がないとIntelligenceへのインポート時にエラーとなってしまいます。
3.Intelligenceでカスタムコネクタを作成
次はいよいよ、WS1 Intelligence上でカスタムコネクタを作成して、先ほどPostmanからエクスポートした内容を元にカスタムのアクションを定義します。
WS1 Intelligenceの管理コンソールにて、「統合」>「ワークフローコネクタ」をクリック後、「追加」をクリックします。
連携するSaaSのAPIを実行するための認証情報を設定します。
認証の詳細はユーザー名/パスワード認証やOAuth2認証などが利用可能で、UEMはOAuth2が利用できるのでOAuth2の認証に必要な情報を設定します。
【補足】
PostmanでAPIを実行した際に設定した認証情報などはここの設定で定義した認証情報によって上書きされます。
コネクタが保存されるとアクションを定義することができるようになります。
「アクションのインポート」をクリック後、PostmanからエクスポートしたJSONファイルを選択してインポートを実行します。
インポート後アクションが追加され、テスト実行などが可能になります。
4.動作確認
本来であれば、Intelligenceは何らかの情報をトリガーに自動的なアクションを実行することができるというコンポーネントですが、今回はカスタムのアクションを実行することを主眼にしているため、テスト実行によってログ取得要求のコマンドがUEMにキューされるかを確認するところまでをすることで動作確認とします。
WS1 Intelligenceの管理コンソールにて、「ワークスペース」>「FreeStyle」をクリック後、「ワークフローを追加」をクリックします。
この内容はJSONファイルの内容が表示されているだけなので特に触らず、「テスト」をクリックします。
するとパラメータを設定する欄が現れるので、Idの箇所にテスト対象デバイスのシリアル番号を入力して、「テスト」をクリックします。
【補足】
今回は「Searchby」つまり「何でデバイスを特定するか」というパラメータにシリアル番号を指定しているため、Idにシリアル番号を入力しましたが、他にもデバイスを一意に特定することができる属性値を「Searchby」に指定することもできます。
問題なく成功することを確認します。
問題なく成功することを確認します。
UEMの管理コンソールで対象デバイスの「トラブルシューティング」>「コマンド」を見ると「ログを要求」というコマンドがキューされていることが確認できます。
今回はIntelligenceとUEMを連携した場合に標準的に利用できるアクションには無い操作をカスタムコネクタを使用して実現するという内容で、Win10デバイスからログ取得をするという内容でした。
この検証を実施したきっかけも、何かトラブルがあった際に後追いで数日前のログが取得できるように日時などの単位でログを取得しておきたいという要望があるものの、手動で全台実施するのはさすがに無理があるという背景があり、カスタムアクションとしてログ取得ができるようにしておき、Intelligenceのワークフローをスケジュール実行(1日1回など)することでログ取得を自動化することで実現できないか、ということで検証を実施しました。
他にもUEMではAPIで実施できる処理がたくさんあるので、Intelligeceが利用できる環境であれば様々な運用を自動化することができるかもしれません。
コメント
コメントを投稿