シナリオ - Active Directory へのグループのプロビジョニングでディレクトリ拡張を使用する
シナリオ: Microsoft Entra ID には数百のグループがあります。 Active Directory にこれらのグループの一部をプロビジョニングしますが、すべて戻す必要はありません。 より複雑なスコープ フィルターを作成しなくてもグループに適用できるクイック フィルターが必要です。
このチュートリアルで作成する環境は、テストを行ったり、クラウド同期について理解を深めるために使用したりできます。
前提条件
- このシナリオでは、ユーザーを Microsoft Entra ID に同期する作業環境が既にあることを前提としています。
- 同期されるユーザーは 4 人います。 つまり、Britta Simon、Lola Jacobson、Anna Ringdahl、John Smith です。
- Active Directory に、Sales、Marketing、Groups という 3 つの組織単位が作成されています
- Britta Simon と Anna Ringdahl のユーザー アカウントは、Sales OU に存在します。
- Lola Jacobson と John Smith のユーザー アカウントは、Marketing OU に存在します。
- Groups OU は、Microsoft Entra ID のグループがプロビジョニングされる場所です。
ヒント
Microsoft Graph PowerShell SDK コマンドレットを使いやすい環境で実行するには、Visual Studio Code と ms-vscode.powershell
拡張機能を ISE モード で使用することをお勧めします。
Microsoft Entra ID で 2 つのグループを作成する
まず、Microsoft Entra ID で 2 つのグループを作成します。 1 つのグループは Sales で、もう 1 つは Marketing です。
2 つのグループを作成するには、次の手順に従います。
- 少なくともハイブリッド ID 管理者として Microsoft Entra 管理センターにサインインします。
- ID>グループ>すべてのグループ を参照します。
- 上部の [新しいグループ] をクリックします。
- [グループの種類] が [セキュリティ] に設定されていることを確認します。
- [グループ名] に 「Sales」と入力します
- [メンバーシップの種類] は割り当て済みのままにします。
- Create をクリックしてください。
- [グループ名] として Marketing を使用して、このプロセスを繰り返します。
新しく作成したグループにユーザーを追加する
- 少なくともハイブリッド ID 管理者として Microsoft Entra 管理センターにサインインします。
- ID>グループ>すべてのグループ を参照します。
- 上部の検索ボックスに「Sales」と入力します。
- 新しい Sales グループをクリックします。
- 左側の [メンバー] をクリックします
- 上部の [メンバーの追加] をクリックします。
- 上部の検索ボックスに「Britta Simon」と入力します。
- Britta Simon と Anna Ringdahl の横にあるチェック ボックスをオンにし、[選択] をクリックします
- これで、グループに彼女が正常に追加されるはずです。
- 左端にある [すべてのグループ] をクリックし、Marketing グループを使用してこのプロセスを繰り返し、Lola Jacobson と John Smith をそのグループに追加します。
Note
Marketing グループにユーザーを追加するときは、概要ページでグループ ID をメモしておきます。 この ID は、後で新しく作成したプロパティをグループに追加するために使用されます。
Microsoft Graph PowerShell SDK をインストールして接続する
まだインストールしていない場合は、Microsoft Graph PowerShell SDK のドキュメントに従って、Microsoft Graph PowerShell SDK のメイン モジュールをインストールします:
Microsoft.Graph
。管理者特権で PowerShell を開きます
実行ポリシーを設定するには、以下を実行します (プロンプトが表示されたら、[A] (はい) を押します)。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
テナントに接続します (サインイン時に必ず代理を受け入れてください)。
Connect-MgGraph -Scopes "Directory.ReadWrite.All", "Application.ReadWrite.All", "User.ReadWrite.All, Group.ReadWrite.All"
CloudSyncCustomExtensionApp アプリケーションとサービス プリンシパルを作成します
重要
Microsoft Entra クラウド同期のディレクトリ拡張は、識別子 URI “api://<tenantId>/CloudSyncCustomExtensionsApp” および Microsoft Entra Connect によって作成された Tenant Schema Extension App を持つアプリケーションでのみサポートされます。
テナント ID を取得します。
$tenantId = (Get-MgOrganization).Id $tenantId
Note
これにより、現在のテナント ID が出力されます。 このテナント ID を確認するには、[Microsoft Entra 管理センター]> [ID] > [概要] に移動します。
前の手順の
$tenantId
変数を使用して、CloudSyncCustomExtensionApp が存在するかどうかを確認します。$cloudSyncCustomExtApp = Get-MgApplication -Filter "identifierUris/any(uri:uri eq 'api://$tenantId/CloudSyncCustomExtensionsApp')" $cloudSyncCustomExtApp
CloudSyncCustomExtensionApp が存在する場合は、次の手順に進みます。 それ以外の場合は、新しい CloudSyncCustomExtensionApp アプリを作成します。
$cloudSyncCustomExtApp = New-MgApplication -DisplayName "CloudSyncCustomExtensionsApp" -IdentifierUris "api://$tenantId/CloudSyncCustomExtensionsApp" $cloudSyncCustomExtApp
CloudSyncCustomExtensionsApp アプリケーションにセキュリティ プリンシパルが関連付けられているかどうかを確認します。 新しいアプリを作成したばかりの場合は、次の手順に進みます。
Get-MgServicePrincipal -Filter "AppId eq '$($cloudSyncCustomExtApp.AppId)'"
新しいアプリを作成したばかりの場合、またはセキュリティ プリンシパルが返されない場合は、CloudSyncCustomExtensionsApp のセキュリティ プリンシパルを作成します。
New-MgServicePrincipal -AppId $cloudSyncCustomExtApp.AppId
カスタム拡張機能属性を作成する
ヒント
このシナリオでは、Microsoft Entra クラウド同期スコープ フィルターで使用される WritebackEnabled
というカスタム拡張機能属性を作成します。こうすると、WritebackEnabled が True に設定されたグループのみオンプレミスの Active Directory に書き戻され、Microsoft Entra 管理センターの [書き戻しが有効] フラグに似た効果が得られます。
CloudSyncCustomExtensionsApp アプリケーションを取得します。
$cloudSyncCustomExtApp = Get-MgApplication -Filter "identifierUris/any(uri:uri eq 'api://$tenantId/CloudSyncCustomExtensionsApp')"
次に、CloudSyncCustomExtensionApp 以下に "WritebackEnabled" というカスタム拡張機能属性を作成し、それをグループ オブジェクトに割り当てます。
New-MgApplicationExtensionProperty -Id $cloudSyncCustomExtApp.Id -ApplicationId $cloudSyncCustomExtApp.Id -Name 'WritebackEnabled' -DataType 'Boolean' -TargetObjects 'Group'
このコマンドレットを使って、extension_<guid>_WritebackEnabled のような拡張機能属性を作成します。
クラウド同期構成を作成する
少なくともハイブリッド ID 管理者として Microsoft Entra 管理センターにサインインします。
[ID]>[ハイブリッド管理]>[Microsoft Entra Connect]>[クラウド同期] に移動します。
[新しい構成] を選択します。
[Microsoft Entra ID から AD への同期] を選びます。
- 構成画面で、ドメインと、パスワード ハッシュ同期を有効にするかどうかを選択します。[作成] をクリックしてください。
[作業の開始] 画面が開きます。 ここから、クラウド同期の構成を続行できます
左側の [スコープのフィルター] をクリックし、[グループ スコープ] - [すべてのグループ] を選択します
[属性マッピングの編集] をクリックし、[ターゲット コンテナー] を
OU=Groups,DC=Contoso,DC=com
に変更します。 [保存] をクリックします。[属性スコープ フィルターの追加] をクリックします
スコープ フィルターの名前を入力します:
Filter groups with Writeback Enabled
[ターゲット属性] で、extension_<guid>_WritebackEnabled のような新しく作成された属性を選択します。
重要
このドロップダウン リストには、スコープ フィルターとして使用できないターゲット属性も表示されることがあります。これは、Entra ID ですべてのプロパティを管理できるわけではないからです (例: extensionAttribute[1-15])。したがって、この特定の目的のためにカスタム拡張プロパティを作成することをお勧めします。
- [演算子] で [IS TRUE] を選択します
- [保存] をクリックします。 [保存] をクリックします。
- 構成は無効のままにして、後で戻ります。
グループのいずれかに新しい拡張プロパティを追加する
この部分では、新しく作成されたプロパティを既存のグループの 1 つである Marketing に値を追加します。
Microsoft Graph PowerShell SDK を使用して拡張機能プロパティ値を設定する
前の手順の
$cloudSyncCustomExtApp
変数を使用して、拡張機能プロパティを取得します。$gwbEnabledExtAttrib = Get-MgApplicationExtensionProperty -ApplicationId $cloudSyncCustomExtApp.Id | Where-Object {$_.Name -Like '*WritebackEnabled'} | Select-Object -First 1 $gwbEnabledExtAttrib $gwbEnabledExtName = $gwbEnabledExtAttrib.Name
次に、
Marketing
グループを取得します。$marketingGrp = Get-MgGroup -ConsistencyLevel eventual -Filter "DisplayName eq 'Marketing'" $marketingGrp
次に、
extension_<guid>_WritebackEnabled
を含む変数$gwbEnabledExtName
を使用して、マーケティング グループに値True
を設定します。Update-MgGroup -GroupId $marketingGrp.Id -AdditionalProperties @{$gwbEnabledExtName = $true}
確認するには、次のようにして
extension_<guid>_WritebackEnabled
プロパティ値を読み取ることができます。$marketingGrp = Get-MgGroup -ConsistencyLevel eventual -Filter "DisplayName eq 'Marketing'" -Property Id,$gwbEnabledExtName $marketingGrp.AdditionalProperties.$gwbEnabledExtName
Microsoft Graph Explorer を使用して拡張機能プロパティ値を設定する
Group.ReadWrite.All
に同意しておく必要があります。 [アクセス許可の変更] を選択するこで、これを行うことができます。
Microsoft Graph Explorer に移動します
テナント管理者アカウントを使用してサインインします。 その際にハイブリッド ID 管理者アカウントが必要になる場合があります。 このシナリオの作成には、ハイブリッド ID 管理者アカウントが使用されました。 ハイブリッド ID 管理者アカウントで十分な場合があります。
上部の [GET] を [PATCH] に変更します
アドレス ボックスに「
https://graph.microsoft.com/v1.0/groups/<Group Id>
」と入力します。要求本文で、次のように入力します。
{ extension_<guid>_WritebackEnabled: true }
正常に完了すると、[] と表示されます。
次は、上部の [PATCH] を [GET] に変更し、マーケティング グループのプロパティを確認します。
構成をテストする
Note
オンデマンド プロビジョニングを使用する場合、メンバーは自動的にプロビジョニングされません。 テストするメンバーを選ぶ必要があります。また、メンバー数の上限は 5 です。
- Microsoft Entra 管理センターに少なくともハイブリッド管理者としてサインインします。
- [ID]、[ハイブリッド管理]、[Microsoft Entra Connect]、[クラウド同期] の順に移動します。
- [構成] の下で、自分の構成を選択します。
- 左側の、[オンデマンドでプロビジョニング] を選択します。
- [選択したグループ] ボックスに「Marketing」と入力します
- [選択したユーザー] セクションで、テストするユーザーを選びます。 Lola Jacobson と John Smith を選択します。
- [プロビジョニング] をクリックします。 これで正常にプロビジョニングされるはずです。
- 次に、Sales グループを試し、Britta Simon と Anna Ringdahl を追加します。 この場合、プロビジョニングされないはずです。
- Active Directory に、新しく作成された Marketing グループが表示されるはずです。
- [ID]>[ハイブリッド管理]>[Microsoft Entra Connect]>[クラウド同期] > [概要] ページで構成を確認して有効に設定し、同期を開始します。