スキップしてメイン コンテンツに移動

Workspace ONE IntelligenceのカスタムコネクタでMS Teamsにメッセージを投稿


以前Intelligenceのカスタムコネクタを使用して、WS1 UEMに対してカスタムのアクションを実行するという内容をポストしました。(こちら

今回は、同じくカスタムコネクタを利用することで、IntelligeceからMicrosoft Teamsにメッセージを送信するということを試してみたいと思います。

大まかな流れは以下の通りです。
    1.MS Teams側の設定
    2.Postman Collectionの作成
    3.Intelligenceカスタムコネクタ設定と動作確認


1.MS Teams側の設定

まずは、Teams側でWebhookによるメッセージの送信ができるようにするための準備をします。
Teamsでチームの[…]をクリック後[チャネルを追加]をクリックします。


チャネル名に任意の値を設定し、[追加]をクリックします。


チャネルが作成されたら、チャネルの[…]をクリック後、[チャネルを管理]をクリックします。


[チャネルのモデレーション]を[オン]にし、[コネクターにチャネルメッセージの送信を許可する]にチェックが入っていることを確認します。


チャネルの[…]をクリック後、[コネクタ]をクリックします。
【補足】
モデレーションをオンにしたあと、[コネクタ]が選択肢に現れるまで少々時間が掛かるようなので、表示されない場合はしばらく待ちましょう。


[Incoming Webhook]の[追加]をクリックします。


[追加]をクリックします。


名前を適当に付け、[作成]をクリックます。


URL欄右横のコピーボタンをクリック後、[完了]をクリックします。
【補足】
このURLは後程使うので、テキストエディタか何かに控えておいてください。


ここまででTeams側の準備は完了です。
次はIntelligence側の設定の事前準備をします。



2.Postman Collectionの作成

Intelligenceでカスタムコネクタを設定する際、実行するアクションの内容を定義したJSONファイルが必要になります。
Postmanというツールを使用して、JSONファイルを作成します。


Intelligenceのカスタムコネクタ用のJSONファイルのサンプルがGithubで公開されているので、その中からMS Teamsのものを探し出し、[Microsoft Teams Sample.postman_collection.json]を入手しておきます。


Postmanを起動し、[Import]をクリックします。


先ほど入手した[Microsoft Teams Sample.postman_collection.json]をドラッグ&ドロップします。


JSONファイルの内容を基にCollectionが作成されます。
[Create Simple Message]をクリックします。


URL欄に先ほど控えたTeamsのWebHookのURLを入力します。


[Body]タブにメッセージを入力して、[Send]をクリックし、テストを実行します。


メッセージが表示されたか、Teams側でも確認しておきます。


レスポンスとしてエラーが返ってこなければ、[Save Response]をクリック後、[Save as example]をクリックします。


[Save Example]をクリックします。
【補足】
IntelligenceにJSONファイルをアップロードする際にExampleが無いとエラーになってしまうので、お作法として[テスト実行して動作確認]⇒[Exampleとして保存]をするようにしておきましょう。


最終的に[Save]をクリックして、Request自体も保存します。


同じことを[Create Card]のほうのRequestでも行い、2つともRequestの保存まで完了したらCollectionを右クリックして、[Export]をクリックします。


デフォルト(Collection v2.1)のまま[Export]をクリックします。


Intelligenceへのインポート時に必須の値を定義するためJSONファイルをテキストエディタで開き、以下赤枠箇所を追記して保存します。
1つのJSONファイル内に複数のアクションが設定されている場合、すべてのアクションに[id]を設定する必要があります。
今回のMS Teamsの場合はサンプルファイルにはデフォルトで2つのアクションが含まれているため、[id]という値を2か所に追記する必要があるということになります。


以上でIntelligence側の設定の準備は完了しました。
いよいよIntelligeceの設定を行います。


3.Intelligenceカスタムコネクタ設定と動作確認

Intelligenceの管理コンソールで[統合]>[ワークフローコネクタ]をクリック後、[追加]をクリックします。


[カスタムコネクタ]タブをクリック後、以下を入力して[設定]をクリックします。
 -名前:任意の値
 -Base URL:https://outlook.office.com
 -Auth Type:No Authentication


[アクション]タブをクリック後、[お使いのコンピュータから選択します。]のリンクをクリックします。


2つのアクションが追加されます。


動作確認のためアクション名の左の[]をクリック後[テスト]をクリックします。


Postmanでの実行時に入力した文字列がプリセットされているので、Intelligenceからの実行だとわかるようなメッセージに変更して、[テスト]をクリックしてみます。


「200 OK」が表示されればテストは成功しています。


Teamsの方も見てみると、テスト実行画面で設定した通りの文言でメッセージが追加されているため、IntelligenceのカスタムコネクタからTeamsに対してメッセージを送信することができたことがわかります。



ここまでできれば、Intelligenceのアクションとして「MS Teamsへのメッセージ送信」が利用できるようになっているため、あとは何らかのトリガーによって本カスタムアクションを実行するようにすれば、「WS1 UEMから取得したデバイス情報を基にMS Teamsにメッセージを送信」ということが自動化できます。


MS Teamsをメインのコミュニケーションツールとして利用している組織であれば、デバイスの状態変更をトリガーにTeamsにメッセージを送信することで、運用業務自動化などにも活用できるかもしれません。



コメント

このブログの人気の投稿

Workspace ONE Accessに証明書認証でログイン

Workspace ONE AccessではSaaSなどのサービスへのアクセス管理ができますが、クライアント証明書認証の機能も備わっています。 ここでは、Workspace ONE UEMから配信した証明書を使用して、Workspace ONE Accessに証明書認証でログインする、ということをやってみます。 まずは、Workspace ONE UEMコンソールでの作業です。 すべての設定>システム>エンタープライズ統合>Workspace ONE Access>構成 へ移動し、「 エクスポート 」をクリックしてAirWatch認証局のルート証明書をエクスポートします。 次に、Windows向けにWorkspace ONE Access認証用証明書プロファイルを作成してデバイスに対して配信します。 SCEPペイロードを選択し、「 資格情報ソース 」は「 AirWatch認証局 」を選択します。証明書テンプレートは「 証明書(クラウド展開) 」です。 【補足】 上記のプロファイルで配信した証明書は 秘密キーのエクスポートができない ようになっているため、使い回しを防ぐことができます。つまり、私用のデバイスにインポートし直してログインしてしまおう...ということはできない仕組みになっているワケですね。 次はWorkspace ONE Accessの管理コンソールでの作業です。 IDとアクセス管理>管理>認証方法をクリックし、「 証明書(クラウドデプロイ) 」の設定を変更します。(UEMのプロファイルで選択した証明書テンプレートと同じ名前ですね。若干の誤差はありますが...) 始めに、「 証明書アダプタを有効にする 」にチェックを入れ、「 ルートおよび中間CA証明書 」のところには先ほどWorkspace ONE UEMからエクスポートした証明書をアップロードし、「 証明書の失効を有効にする 」にもチェックを入れておきます。 【補足】 公的認証局であっても、ここでルート証明書をアップロードしない限り証明書認証はできないので、今回の例では Workspace ONE UEM内部の認証局から発行されている証明書以外では認証できない 構成にすることができます。 少し下にスクロールして「 OCSPの失効を有効にする 」にチェックを入れ、「 OCSPレスポンダの署名証明書 」には...

自分のデバイスは自分で管理

Workspace ONE UENにはセルフサービスポータル(SSP)という機能があります。 名前の通りセルフサービスで自身に紐付いているデバイスに対して色々できるポータルで、デバイスのステータスを確認したり、位置情報を確認してみたり、コマンドを実行したりと様々なことができます。 色々できるとなると、逆に誤操作などでデバイスワイプを実行してしまい意図せず初期化してしまったりするのではないか...という懸念が出てきますが、WS1 UEMのセルフサービスポータルではユーザーが実施可能な操作をカスタマイズできます。 例えば、あくまで情報参照用とするためにデバイス情報の表示の権限だけ与えておいたり、紛失したときの対策のために加入解除操作はできるようにしておく、など運用要件によりカスタマイズして利用できるというワケです。 ここでは、加入解除のみを実行できるようにカスタマイズしたSSPにログインし、ユーザー目線で実際に自分のデバイスを加入解除する、ということをやってみます。 実際にありそうなシーンと言えば、あまり考えたくありませんが、夜中に会社支給のデバイスの紛失に気付いてしまったときとかですかね... まずは、Workspace ONE UEMのSSPにログインします。 WebブラウザでWorkspace ONE UEMコンソールのURLの末尾にmydeviceを付けてEnterキーを押します。「https://cnXXX.awmdm.com/mydevice」みたいな感じです。 アクセス後は、ログイン方法などを選択後次ヘ進み、ユーザー名パスワードを入力してログインします。 今回は事前に権限を極限まで絞っているため「 企業情報ワイプ 」のみ表示されていますので、これをクリックします。 【補足】 画像に映っている通り、自分に紐付くデバイスが複数存在する場合もすべてSSPから管理できます。 すると、対象のデバイスで加入解除が実行され、企業データが削除されます。 ちなみに、上記の動作確認ではSSPの権限をかなり限定して企業情報ワイプしかできないようにしてますが、特に権限を限定しなければ「 企業情報ワイプ 」以外にも「 デバイスの位置情報を確認 」など様々なオプションが実行できますし、「 詳細に進む 」をクリックすると... デバイスの順守状態や適切にプロファイルが適用されているか、...

Workspace ONE UEMでWindowsデバイスのログ収集

WS1 UEM管理下のWindowsデバイスのトラブルシューティング時などに有用なログ収集の方法を紹介します。 また、実際のトラブルシュート時の小技なども紹介したいと思います。 大まかな流れは以下の通りです。      1.WS1 UEM管理コンソールからリモートでログ取得     2 .取得したログの確認     3 .小技 1.WS1 UEM管理コンソールからリモートでログ取得 ログ収集を行う際、管理者目線で言うと、可能であればユーザー側の操作なしにリモートでかつサイレントで収集できることが望ましいと思います。 WS1 UEMではリモートでログ収集を行う機能が備わっているため、その機能を利用します。 WebブラウザでWorkspace ONE UEMの管理コンソールにログインし、ログ取得対象のデバイス詳細画面で[その他のアクション]>[デバイスログを要求]をクリックします。 [デバイスログを要求]画面で、[HUB]を選択した状態で[保存]をクリックします。 同じ手順を繰り返し、次は[システム]を選択した状態で[保存]をクリックします。 【補足】 [HUB]の方は文字通りIntelligent Hubのログの収集で、[システム]の方はOSレベルのログを一部収集することができます。 2.取得したログの確認 次に実際に取得されたログを確認してみます。 先ほどログ取得を実行したデバイスの詳細画面で[その他]>[添付ファイル]をクリックします。 [ファイル]タブをクリックすると収集されたログの一覧が表示されます。 ファイル名の接頭辞部分(Hub_とかSystem_の部分)は、ログ取得実行時に選択した種別に対応したものになります。 [spanned]という文字列が含まれているファイルはサイズの関係で複数のファイルに分割された状態になっているログです。 ファイル名のリンクをクリックするとダウンロードができます。 【補足】 ファイル分割はされないような機能改善がどこかのバージョンで実施されたため今後は不要かもしれません。分割されていても次の手順で対応が可能です。 [spanned]が名前に含まれるファイルはそのままだと中身を見ることができないため一手間必要になります。 まずは、末尾にzXXを含むファ...