2020年12月14日月曜日

Workspace ONE UEM の認証をAzure ADで行う【SAMLプロトコルの設定】

このブログは、vExperts Advent Calendar 2020の14日目です。


最近たまにオンプレミスのActive Directoryがなく、Azure ADしかない環境でのWorkspace ONE UEM利用についての相談を耳にするようになりました。

Office 365(Microsoft 365)利用にAzure ADでID管理・ユーザー認証を行っていて、オンプレミスのActive Directoryドメインコントローラーはない、といったケースです。


Workspace ONE UEMではAirWatch Cloud Connectorを使ってオンプレミスのActive Directoryと連携し、ユーザーのディレクトリ同期や認証を行う構成が多いのですが、Azure ADのみの環境ではこのようなコネクターを使った連携構成にできません。

連携するオンプレActive Directoryが無いため、ユーザーアカウントをWorkspace ONE UEM内にベーシックユーザーで作成して管理する方法が考えられますが、パスワード管理をする数が増えて面倒な気もします。


そこで、Workspace ONE UEMにデバイスを加入する際の認証をAzure ADで認証する設定を検証してみようと思います。Workspace ONE UEMをService Provider(SP)、Azure ADをIdentity Provider(IDP)とし、SAMLプロトコルで連携します。


■構成イメージ

Workspace ONE UEMにデバイスを加入する際と、セルフサービスポータルを利用する際にAzure ADで認証する設定します。



・Azure ADの環境

Azure AD は無償版でもシングルサインオン(SSO)のアプリ登録ができます。今回の検証も無償版のAzure ADで行いました。
ドメインは独自ドメインをAzure ADに登録し、独自ドメインのアカウントを事前に作成しました。


■Azure AD アプリケーションの追加

まず、Azure ADにSSOアプリケーションとしてWorkspace ONE UEMを追加します。

Azure ADの管理画面で[エンタープライズアプリケーション]-[概要]-[新しいアプリケーション]を選択します。



[ギャラリー以外のアプリケーション]を選択します。


名前に[Workspace ONE UEM]を入力し、[追加]をクリックします。


新規にエンタープライズアプリケーションが登録されるので[シングルサインオンの設定]を選択します。


シングルサインオン方式で[SAML]を選択します。


この時点では特に設定を変えずに、フェデレーション メタデータ XMLの[ダウンロード]をクリックし、Azure AD(IDP)のメタデータをダウンロードします。



■Workspace ONE UEM の設定

Workspace ONE UEMの管理画面を開き、設定をする組織グループの[グループと設定]-[すべての設定]を開きます。

[システム]-[エンタープライズ統合]-[ディレクトリサービスを]開き、”現在の設定”を[オーバーライド]にして一度保存します。


ディレクトリタイプを[なし]に設定し、”認証にSAMLを使用”の設定を[有効]にします。SAML有効化の対象を[加入・セルフサービスポータル]にして、”新しいSAML認証エンドポイントを使用”を[有効]にします。

次に、”IDプロバイダの設定をインポート”で先程ダウンロードしたAzure ADのIDPメタデータをアップロードして、設定を保存します。保存後、IDPメタデータの内容が読み込まれ設定値が追加されます。


IDPメタデータの情報が読み込まれていることを確認します。
要求バインドタイプ・応答バインドタイプを[POST]に変更して再度保存します。


後ほどAzure ADにアップロードする、Workspace ONE UEM(SP側)のメタデータを[サービスプロバイダの設定をエクスポート]をクリックしてダウンロードします。


次に、[ユーザー]タブを開き、ドメインのベースDNにドメイン名を入力します。

※MicrosoftのDocsなどをいろいろ調べているとこの項目に”WAAD”と入力する様に紹介している場合があるのですが、なんの値が正しいのか明確な情報が確認できませんでした。検証した際は”WAAD”でも動作しましたし、元々はオンプレAD連携時に必要なベースDNの情報なので、SAML連携のみの構成時は影響がないのかもしれません。



次に[高度な設定]をクリックします。
属性のマッピング値をそれぞれ下記の値に変更します。

・属性マッピング値の変更

オブジェクト識別子 http://schemas.microsoft.com/identity/claims/objectidentifier
ユーザー名 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
表示名 http://schemas.microsoft.com/identity/claims/displayname
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
メールアドレス http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name



変更後[保存]をクリックしてWorkspace ONE UEM側のSAML設定は完了です。

次に、[デバイスとユーザー]-[全般]-[加入]を開き、”現在の設定”を[オーバーライド]にします。

[認証]タブの”認証モード”で[ディレクトリ]を追加し、”デバイス加入モード”が[新規加入]になっていることを確認して保存します。


■Azure ADの設定

ダウンロードしたSPメタデータを使用してAzure ADのSSO設定を完了させます。

先程追加した、エンタープライズアプリケーション”Workspace ONE UEM”の[シングルサインオン]を開き、[メタデータファイルをアップロードする]をクリックします。SPメタデータをアップロードします。


必要な設定がSPメタデータから読み込まれるので[保存]をクリックします。
これでAzure ADのSAML設定は完了です。



最後に作成したエンタープライズアプリケーション”Workspace ONE UEM”を利用者に割り当てます。[ユーザーとグループ]-[ユーザーの追加]からユーザーを指定します。
なお、Azure ADの無償版だとグループ割り当てができないのでユーザー毎に指定する必要があります

※これを忘れると加入時に失敗します。


■動作の確認

では、設定した環境にWindows 10デバイスを加入させます。

実施前はWorkspace ONE UEMのユーザー一覧にユーザーアカウントがなにもない状態です。


通常のWorkspace ONE UEMへのデバイス加入時と同様に、https://getwsone.com からIntelligent Hubをダウンロード・インストールして加入処理を実施します。



ユーザー認証画面で、Azure ADの認証画面が表示されました。Azure ADに登録されているアカウントで認証します。
(Intelligent Hubの中にMicrosoftの認証画面というのが不思議な感じ…)


Azure ADでの認証後、問題なくWorkspace ONE UEMにデバイスが登録されました。



事前に登録していたアプリケーションが自動でインストールされました。Intelligent Hubのカタログも問題なく動作しています。


Workspace ONE UEMの管理画面を確認すると、デバイスが登録されていることが確認できました。


元々何もユーザーアカウントは登録されていませんでしたが、Azure ADからの初回認証のタイミングでユーザーアカウントが新規作成されました。


ユーザーアカウントの詳細を確認すると、ユーザー名やメールアドレス、姓、名など、Azure ADに登録された情報(属性)を元にアカウントが作成されていました。




また、セルフサービスポータルにもアクセスしてみます。
下記URLにアクセスして組織グループのセルフサービスポータルを開きます。

https://xxx.awmdm.com/MyDevice/?ac=組織グループID



加入時と同様にAzure ADにリダイレクトされました。Azure ADのアカウントで認証します。



Azure ADの認証後、セルフサービスポータルが開きました。登録したデバイスの情報が表示されています。




■おわりに

以上で、Workspace ONE UEMとAzure ADのSAML連携設定は終わりです。

SAML連携自体はできると思っていましたが、SAML認証でWorkspace ONE UEMへの初回SSOした際にユーザーアカウントが自動作成されることが驚きました。Workspace ONE UEM はSAML Just-in-Time Provisioningができるんですね。グループ設定や組織グループの構成を考えるとJITプロビジョニングだけでID運用ができるのかはさらに検討が必要ですが、IDを自動作成してくれるのは便利でいいですね。

ちなみにIDの統合管理といえばSCIMに対応しているか気になるところですが、Workspace ONE UEM SCIM AdapterというものがVMware Flingsに公開されています。これを使えばAzure ADとSCIMプロトコルで連携できるようですが、FlingsはVMwareの開発中・テスト中のツールが公開されている場所でメーカーサポートは受けられませんのでご注意下さい。


明日の vExperts Advent Calendar 2020 - Adventar はKan Chiyoda さんです。
宜しくお願いします!



■あとがき

xxx.onmicrosoft.comの場合
本文で紹介したAzure ADのアカウントは独自ドメインのアカウントで設定しましたが、xxx.onmicrosoft.comのアカウントでも同様に動作しました。





・この構成の考慮事項

今回ご紹介したAzure ADとのSAML連携設定はWorkspace ONE UEMのSAML認証機能を使った設定であり、Workspace ONE UEMの「Azure ADとの統合設定」には別の構成や設定が必要です。

特に、Workspace ONE UEMの公式ドキュメント上、Azure ADとの統合に関するドキュメントには下記のように書かれています。

Azure AD を Workspace ONE UEM と統合するためには、Premium Azure AD P1 または P2 サブスクリプションが必要です。Azure AD と Workspace ONE UEM との統合は、(LDAP のような)Active Directory が構成されるテナントで構成される必要があります。

Azure AD を ID サービスとして使用するための Workspace ONE UEM の構成https://docs.vmware.com/jp/VMware-Workspace-ONE-UEM/2001/Windows_Desktop_Device_Management/GUID-AWT-ENROLL-CONFIGAADSERVICES.html


実際にSAML設定のみでどこまでできるか色々試して見ましたが、Azure AD JoinするWindows 10に対しIntelligent Hubを利用した手動代理セットアップを使った場合、加入後のエンドユーザーへの割り当てがうまく行きませんでした。
エンドユーザーの自動割り当ては動作せず、自動割り当て失敗後のエンドユーザー手動ログイン割り当ても認証時にAzure ADにフェデレーションされずログインエラーになってしまいました。


よって本ブログでご紹介したようにユーザーが手動加入する場合はオンプレミスActive Directoryなしでも動作ができそうですが、実際の運用時に代理セットアップなどの方法でデバイスセットアップを予定している場合、想定どおりのことができるかよく確認したほうが良さそうです。


■参考URL

・Microsoft Azure での Workspace ONE (AirWatch) との SAML 統合の構成 (50104947)
https://kb.vmware.com/s/article/50104947?lang=ja

・チュートリアル:AirWatch を Azure Active Directory と統合する
https://docs.microsoft.com/ja-jp/azure/active-directory/saas-apps/airwatch-tutorial