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

Workspace ONE Intelligenceを使ってWorkspace ONE UEMにカスタムアクションを実行

 

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

今回実行したい操作は以下赤枠内にありました。


認証情報などをセットして「Try it out!」をクリックするとAPIのテスト実行ができます。
するとAPIを実行するためのCurlコマンドが生成されますので、これをPostmanにインポートすることでAPIコールを一から作成する手間が省けるのでコピーしておきます。



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」に指定することもできます。


問題なく成功することを確認します。
APIの設定や認証情報などに誤りがあるとここでエラーになってしまうので、エラーが表示されたら設定値などに誤りが無いか確認します。


UEMの管理コンソールで対象デバイスの「トラブルシューティング」>「コマンド」を見ると「ログを要求」というコマンドがキューされていることが確認できます。




今回はIntelligenceとUEMを連携した場合に標準的に利用できるアクションには無い操作をカスタムコネクタを使用して実現するという内容で、Win10デバイスからログ取得をするという内容でした。

この検証を実施したきっかけも、何かトラブルがあった際に後追いで数日前のログが取得できるように日時などの単位でログを取得しておきたいという要望があるものの、手動で全台実施するのはさすがに無理があるという背景があり、カスタムアクションとしてログ取得ができるようにしておき、Intelligenceのワークフローをスケジュール実行(1日1回など)することでログ取得を自動化することで実現できないか、ということで検証を実施しました。

他にもUEMではAPIで実施できる処理がたくさんあるので、Intelligeceが利用できる環境であれば様々な運用を自動化することができるかもしれません。


コメント

このブログの人気の投稿

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 AccessでOpenID Connect連携

Workspace ONE Accessはその名の通りSaaSなどへのアクセス管理をすることができる製品ですが、Identity Providerの役割を果たすことも可能で、以下のフェデレーションプロトコルに対応しています。  -WS-Federation  -SAML  -OpenID Connect WS-FederationはOffice365と連携する際などに利用したりするヤツですね。 個人的な感覚では、クラウドサービスはSAML認証に対応しているものが多いのでWorkspace ONE Accessと認証連携する場合、SAMLを利用するケースが一番多い気がします。 また、設定ガイド( SAML ベース SSO 統合のドキュメント センター )なんかも公開されており、連携のハードルは比較的低いと思います。 一方で、OpenID Connectの利用に関してはかなり情報が少ない気がしてます... ただ、OpenID Connectも認証連携の仕組みとしては代表的なものの一つではありますので、今回はOpenID Connectを使用してWorkspace ONE Accessと認証連携をしてみたいと思います。(連携先のサービスにはRedmineを使用します。) まずはWorkspace ONE Accessの管理コンソールでの作業です。 カタログ>Webアプリケーション とクリックして、Workspace ONE Accessのアプリカタログに載せるWebアプリの一覧を開き、「 新規 」をクリックします。 「 名前 」に入力した値はそのままユーザーのアプリカタログに表示されるので、わかりやすい名称にします。入力したら次に進みます。 【補足】 いくつかのサービスは連携用のテンプレートがあり、「 またはカタログから参照 」をクリックすることで利用が可能です。今回使用するRedmineについても、SAML連携であればテンプレートがあるので比較的カンタンに設定できると思います。 まずは、「認証タイプ」で「 OpenID 接続 」を選びます。(おそらくOpenID Connectが訳されているのでしょうが、何か違うような...) すると、OpenID Connect連携用の設定項目が現れるので、各設定を入れていきます。 「 クライアントID 」と「 クライアント シークレ

Workspace ONE AccessからServiceNowにシングルサインオン(SAML)

以前、Workspace ONEと他システム間で、 OpenID Connect で連携する内容をポストしましたが、今回は SAML を利用したシングルサインオンの構成を検証してみました。 ServiceNow と SAML連携 して、WS1のポータルからシングルサインオンする構成を試してみます。 大枠の流れとしては以下の通りです。      1.ServiceNow(SP)のSAML認証設定          1.1. WS1 AccessからSAML連携に必要な情報を取得           1.2.SAML認証設定      2.WS1 Access(IDP)でSAML認証設定      3.動作確認 1.ServiceNow側(SP)でSAML認証設定 まずは、今回の構成ではSP(Service Provider)となるServiceNow側でSAMLによるシングルサインオンを可能とするように構成します。 1.1.WS1 Accessから S AML連携に必要な情報を取得 まずは、WS1 AccessのIDPメタデータのURLを取得します。 [カタログ]>[Webアプリケーション]をクリック後、[設定]をクリックします。 左ペインから[SAMLメタデータ]をクリック後、IDPメタデータの[URLをコピー]をクリックします。 クリップボードにコピーされるので、テキストエディタにでも貼り付けておきます。 次に、WS1 AccessのIDP署名証明書を取得します。 左ペインから、[SAMLメタデータ]をクリック後、署名証明書の[ダウンロード]をクリックします。 こんなファイルがダウンロードされます。 1.2.SAML認証設定 続いて、ServiceNow側のSAML認証設定を行います。 ServiceNowの管理コンソールにログインし、検索バーに[saml]と入力後、[SAML2 Single Sign-On]配下の[Certificate]をクリックします。 後で、使用するため先ほどダウンロードした、[signingCertificate.cer]をテキストエディタで開いておきます。 証明書の一覧画面で、[New]をクリックします。 Nameに[SAML 2.0]と入力して下にスクロールします。 PEM Certificateに先ほどテキストエディタで開い