オンプレミス XenMobile® と Active Directory の連携
この記事では、XenMobile Server と Active Directory の連携について説明します。XenMobile Server は、インラインおよびバックグラウンドの両方で Active Directory と連携します。以下のセクションでは、Active Directory との連携を伴うインライン操作とバックグラウンド操作について詳しく説明します。
注:
この記事は連携の概要であり、詳細な内容には触れていません。XenMobile コンソールでの Active Directory および LDAP の構成について詳しくは、「ドメインまたはドメインとセキュリティトークン認証」を参照してください。
インライン連携
XenMobile Server は、管理者が構成する LDAP 設定を使用して Active Directory と通信します。これらの設定は、ユーザーとグループに関する情報を取得します。以下は、XenMobile Server と Active Directory の連携につながる操作です。
-
**LDAP 構成。**Active Directory 自体の構成により、Active Directory との連携が発生します。XenMobile Server は、Active Directory で情報を認証することにより、その情報の検証を試みます。サーバーは、指定されたインターネットプロトコル、ポート、およびサービスアカウントの資格情報を使用してこれを行います。バインドが成功すると、接続が正しく構成されていることを示します。
-
グループベースの連携。
-
ロールベースのアクセス制御(RBAC)およびデリバリーグループ定義の作成中に、1つ以上のグループを検索します。XenMobile Server 管理者は、XenMobile コンソールで検索テキスト文字列を入力します。XenMobile Server は、指定されたサブストリングを持つすべてのグループについて、選択されたドメインを検索します。その後、XenMobile Server は、検索で識別されたグループの objectGUID、sAMAccountName、および Distinguished Name 属性を取得します。注:この情報は XenMobile Server データベースには保存されません。
-
RBAC および展開グループ定義の追加または更新。XenMobile Server 管理者は、以前の検索に基づいて対象の Active Directory グループを選択し、それらを展開グループ定義に含めます。XenMobile Server は、Active Directory 内で特定のグループを一度に1つずつ検索します。XenMobile Server は objectGUID 属性を検索し、メンバーシップ情報を含む選択された属性を取得します。グループメンバーシップ情報は、取得されたグループと XenMobile Server データベース内の既存のユーザーまたはグループとの間のメンバーシップを判断するのに役立ちます。グループメンバーシップの変更は、影響を受けるユーザーメンバーの RBAC および展開グループの派生につながり、ユーザーの資格を決定します。注:展開グループ定義の変更は、影響を受けるユーザーのアプリまたはポリシーの資格の変更につながる可能性があります。
-
**ワンタイム PIN(OTP)招待。**XenMobile Server 管理者は、XenMobile Server データベースに存在する Active Directory グループのリストからグループを選択します。このグループの場合、直接的および間接的なすべてのユーザーが Active Directory から取得されます。OTP 招待は、前の手順で識別されたユーザーに送信されます。注記:前述の3つのやり取りは、グループベースのやり取りがXenMobile Serverの構成変更に基づいてトリガーされることを意味します。構成に変更がない場合、これらのやり取りはActive Directoryとのやり取りがないことを意味します。また、定期的にグループ側の変更を捕捉するためのバックグラウンドジョブの要件がないことも意味します。
-
-
ユーザーベースのやり取り
-
ユーザー認証: ユーザー認証ワークフローは、Active Directoryとの2つのやり取りをもたらします。
-
提供された資格情報でユーザーを認証するために使用されます。
-
objectGUID、識別名、sAMAccountName、およびグループへの直接メンバーシップを含む、選択されたユーザー属性をXenMobile Serverデータベースに追加または更新します。グループメンバーシップの変更により、アプリ、ポリシー、およびアクセス権限が再評価されます。
ユーザーは、デバイスから、またはXenMobile Serverコンソールから認証できます。どちらのシナリオでも、Active Directoryとのやり取りは同じ動作に従います。 -
-
App Storeへのアクセスと更新: ストアの更新により、直接グループメンバーシップを含むユーザー属性が更新されます。このアクションにより、ユーザーの権限が再評価されます。
-
デバイスのチェックイン: 管理者は、XenMobileコンソールでデバイスの定期的なチェックインを設定できます。デバイスがチェックインされるたびに、直接グループメンバーシップを含む対応するユーザー属性が更新されます。これらのチェックインにより、ユーザーの権限が再評価されます。
-
グループによるOTP招待: XenMobile Server管理者は、XenMobile Serverデータベースに存在するActive Directoryグループのリストからグループを選択します。直接的および間接的(ネストのため)なユーザーメンバーは、Active Directoryから取得され、XenMobile Serverデータベースに保存されます。OTP招待は、前述のステップで特定されたユーザーメンバーに送信されます。
-
ユーザーによるOTP招待: 管理者はXenMobileコンソール内で検索テキスト文字列を入力します。XenMobile ServerはActive Directoryを照会し、入力されたテキスト文字列に一致するユーザーレコードを返します。その後、管理者はOTP招待を送信するユーザーを選択します。XenMobile ServerはActive Directoryからユーザーの詳細を取得し、ユーザーに招待を送信する前に同じ詳細をデータベースで更新します。
-
バックグラウンドでのやり取り
Active Directoryとのインライン通信から得られる結論の1つは、グループベースのやり取りがXenMobile Server構成の選択された変更に基づいてトリガーされるということです。構成に変更がない場合、グループに対するActive Directoryとのやり取りがないことを意味します。
このやり取りには、Active Directoryと定期的に同期し、関連する変更を対象グループに更新するバックグラウンドジョブが必要です。
以下は、Active Directoryとやり取りするバックグラウンドジョブです。
-
グループ同期ジョブ。このジョブの目的は、関心のあるグループについて、Active Directoryに対し、識別名またはsAMAccountName属性の変更をグループごとに照会することです。Active Directoryへの検索クエリは、関心のあるグループのobjectGUIDを使用して、識別名とsAMAccountName属性の現在の値を取得します。関心のあるグループの識別名またはsAMAccountName値の変更は、データベースに更新されます。注:このジョブは、ユーザーからグループへのメンバーシップ情報を更新しません。
-
ネストされたグループ同期ジョブ。このジョブは、関心のあるグループのネスト階層の変更を更新します。XenMobile Serverは、関心のあるグループの直接メンバーと間接メンバーの両方がエンタイトルメントを取得できるようにします。ユーザーの直接メンバーシップは、ユーザーベースのインラインインタラクション中に更新されます。バックグラウンドで実行されるこのジョブは、間接メンバーシップを追跡します。間接メンバーシップとは、ユーザーが、関心のあるグループのメンバーであるグループのメンバーである場合を指します。このジョブは、XenMobile ServerデータベースからActive Directoryグループのリストを収集します。これらのグループは、展開グループまたはRBAC定義の一部です。このリストの各グループについて、XenMobile Serverはグループのメンバーを取得します。グループのメンバーは、ユーザーとグループの両方を表す識別名のリストです。XenMobile Serverは、関心のあるグループのユーザーメンバーのみを取得するために、Active Directoryに別のクエリを実行します。2つのリストの差は、関心のあるグループのグループメンバーのみを示します。メンバーグループの変更はデータベースに更新されます。階層内のすべてのグループに対して同じプロセスが繰り返されます。ネストの変更により、影響を受けるユーザーのエンタイトルメント変更が処理されます。
-
無効なユーザーの確認。このジョブは、XenMobile管理者が無効なユーザーを確認するアクションを作成した場合にのみ実行されます。このジョブは、グループ同期ジョブの範囲内で実行されます。このジョブは、Active Directoryにクエリを実行して、関心のあるユーザーの無効なステータスをユーザーごとに確認します。
よくある質問
バックグラウンドジョブの実行頻度は、デフォルトでどのくらいですか?
-
グループ同期ジョブは、現地時間の午前2時から5時間ごとに実行されます。
-
ネストされたグループ同期ジョブは、現地時間の深夜に1日1回実行されます。
グループ同期ジョブが必要なのはなぜですか?
-
Active DirectoryのユーザーレコードのmemberOf属性は、ユーザーが直接メンバーであるグループのリストを提供します。グループが1つのOUから別のOUに移動すると、memberOf属性は識別名の最新の値を反映します。XenMobile Serverデータベースにも、最後に更新された値があります。グループの識別名に不一致があると、ユーザーが展開グループへのアクセスを失う可能性があります。ユーザーは、その展開グループに関連付けられているアプリとポリシーも失う可能性があります。
-
バックグラウンドジョブは、ユーザーがエンタイトルメントにアクセスできるように、XenMobile Serverデータベースのグループ識別名属性を最新の状態に保ちます。
-
同期ジョブは5時間ごとにスケジュールされます。これは、Active Directory内のグループ変更がまれであると想定されているためです。
グループ同期ジョブをオフにできますか?
-
対象のグループが1つのOUから別のOUに変更されないことがわかっている場合、ジョブをオフにできます。
ネストされたグループ処理のバックグラウンドジョブが必要なのはなぜですか?
-
Active Directoryにおけるグループのネストの変更は日常的に発生するものではありません。対象グループのネスト階層の変更は、影響を受けるユーザーのエンタイトルメントの変更につながります。グループが階層に追加されると、そのメンバーユーザーはそれぞれの役割に対するエンタイトルメントが付与されます。グループがネストから外れると、そのグループのメンバーユーザーはロールベースのエンタイトルメントへのアクセスを失う可能性があります。
-
ネストの変更はユーザーのリフレッシュ中に捕捉されません。ネストの変更はオンデマンドではできないため、変更はバックグラウンドジョブを通じて捕捉されます。
-
ネストの変更はまれであると想定されているため、バックグラウンドジョブは1日1回実行され、変更がないか確認します。
ネストされたグループ処理ジョブをオフにできますか?
-
対象のグループにネストの変更が発生しないことがわかっている場合、ジョブをオフにできます。