Microsoft Entra アプリケーション プロビジョニングのための拡張属性の同期

Microsoft Entra ID のユーザー アカウントを SaaS アプリまたはオンプレミス アプリケーションにプロビジョニングするときは、ユーザー プロファイルを作成するために必要なすべてのデータ (属性) が Microsoft Entra ID に含まれている必要があります。 ユーザー プロビジョニングのために属性マッピングをカスタマイズしているときに、マップ対象の属性が [ソース属性] の一覧に表示されないことがあります。 この記事では、欠落している属性を追加する方法について説明します。

拡張機能を追加する必要がある場所を特定する

アプリケーションに必要な欠落している属性の追加は、ユーザー アカウントが存在する場所に応じて、オンプレミスの Active Directory または Microsoft Entra ID で開始されます。

まず、Microsoft Entra テナント内のどのユーザーがアプリケーションへのアクセスを必要とし、したがってアプリケーションにプロビジョニングされる範囲に含まれるかを特定します。

Note

オンプレミスの Active Directory 内のユーザーについては、そのユーザーを Microsoft Entra ID に同期する必要があります。 Microsoft Entra Connect または Microsoft Entra Connect クラウド同期を使用して、ユーザーと属性を同期できます。これらのソリューションではいずれも、特定の属性を Microsoft Entra ID に自動的に同期しますが、すべての属性を同期するわけではありません。 さらに、既定で同期される一部の属性 (SAMAccountName など) は、Graph API を使用して公開されない可能性があります。 このような場合は、Microsoft Entra Connect ディレクトリ拡張機能を使って、Microsoft Entra ID に属性を同期するか、Microsoft Entra Connect クラウド同期を使うことができます。これにより、属性は Microsoft Graph API と Microsoft Entra プロビジョニング サービスに表示されるようになります。

  1. 必要な属性が AD DS スキーマの一部であるかどうかをオンプレミスの Active Directory ドメイン管理者に確認し、そうでない場合は、これらのユーザーのアカウントが存在するドメイン内の AD DS スキーマを拡張します。
  2. Microsoft Entra Connect または Microsoft Entra Connect クラウド同期を構成し、Active Directory から Microsoft Entra ID に拡張属性を持つユーザーを同期するようにします。 Microsoft Entra Connect では、特定の属性を Microsoft Entra ID に自動的に同期しますが、すべての属性を同期するわけではありません。 さらに、既定で同期される一部の属性 (sAMAccountName など) が、Graph API を使用して公開されない可能性があります。 このような場合は、Microsoft Entra Connect ディレクトリ拡張機能を使用して、Microsoft Entra ID に属性を同期することができます。 これにより、属性は Microsoft Graph API と Microsoft Entra プロビジョニング サービスに表示されるようになります。
  3. オンプレミスの Active Directory 内のユーザーが必要な属性をまだ持っていない場合は、それらのユーザーを Active Directory で更新する必要があります。 これは、Workday または SAP SuccessFactors からプロパティを読み取るか、または別の人事システムを使っている場合は Microsoft Identity Manager (MIM) を使って実行できます。
  4. Microsoft Entra Connect によって、Active Directory スキーマで行われたこれらの更新と Active Directory ユーザーが Microsoft Entra ID に同期されるまで待ちます。

あるいは、オンプレミスの Active Directory でアプリケーションへのアクセスを必要とするユーザーが作成されていない場合は、アプリケーションへのプロビジョニングを構成する前に、Microsoft Entra ID で PowerShell または Microsoft Graph を使ってスキーマ拡張機能を作成する必要があります。

次に、オンプレミスの Active Directory でアプリケーションへのアクセスを必要とする 1 人または複数のユーザーが作成されていない場合は、アプリケーションへのプロビジョニングを有効にする前に、Microsoft Entra ID 内のこれらのクラウド ユーザーに必要な属性を設定する必要があります。 これらのユーザーを一括で設定するには、次の 4 つの方法があります。

  • プロパティがクラウド HR システムで作成された場合は、Workday または SAP SuccessFactors からそのプロパティを読み取るように Microsoft Entra ID を構成できます。
  • プロパティがオンプレミス システムで作成された場合は、Microsoft Entra ユーザーを作成または更新するように Microsoft Graph 用の MIM コネクタを構成できます。
  • これらのプロパティがユーザー自身で作成された場合は、エンタイトルメント管理カタログに属性の要件を含めることによって、アプリケーションへのアクセス権が要求されたときに、その属性の値を指定するようユーザーに依頼できます。
  • その他のすべての状況では、カスタム アプリケーションが Microsoft Graph API を使用してユーザーを更新できます。

以降のセクションでは、クラウド専用ユーザーを含むテナントと、Active Directory ユーザーを含むテナントの拡張属性を作成する方法の概要について説明します。

クラウド専用ユーザーを含むテナントで拡張属性を作成する

Microsoft Graph と PowerShell を使用して、Microsoft Entra ID 内のユーザーのユーザー スキーマを拡張できます。 これは、この属性を必要とし、オンプレミスの Active Directory 内に存在しないユーザーがいる場合に必要となります。 (Active Directory が存在する場合は、後述の Microsoft Entra Connect ディレクトリ拡張機能を使用して属性を Microsoft Entra ID に同期する方法に関するセクションを引き続きお読みください)。

スキーマ拡張機能が作成されると、これらの拡張属性は、ほとんどの場合、次回 Microsoft Entra 管理センターのプロビジョニング ページにアクセスしたときに自動的に検出されます。

サービス プリンシパルが 1,000 を超える場合は、ソース属性の一覧に拡張子が欠落していることがあります。 作成した属性が自動的に表示されない場合は、その属性が作成されたことを確認し、それをスキーマに手動で追加します。 作成されたことを確認するには、Microsoft Graph と Graph Explorer を使用します。 スキーマに手動で追加するには、「サポートされている属性一覧の編集」を参照してください。

Microsoft Graph を使用してクラウド専用ユーザーの拡張属性を作成する

Microsoft Graph を使用して、Microsoft Entra ユーザーのスキーマを拡張できます。

まず、テナント内のアプリを一覧表示して、作業中のアプリの ID を取得します。 詳細については、「extensionProperties を一覧表示する」を参照してください。

GET https://graph.microsoft.com/v1.0/applications

次に、拡張属性を作成します。 下の ID プロパティを、前の手順で取得した ID に置き換えます。 "appId" ではなく "ID" 属性を使用する必要があります。 詳細については、[extensionProperty の作成]/graph/api/application-post-extensionproperty) を参照してください。

POST https://graph.microsoft.com/v1.0/applications/{id}/extensionProperties
Content-type: application/json

{
    "name": "extensionName",
    "dataType": "string",
    "targetObjects": [
      "User"
    ]
}

前の要求で、extension_appID_extensionName という形式の拡張属性が作成されました。 これで、この拡張属性を使用してユーザーを更新できます。 詳細については、「ユーザーの更新」を参照してください。

PATCH https://graph.microsoft.com/v1.0/users/{id}
Content-type: application/json

{
  "extension_inputAppId_extensionName": "extensionValue"
}

最後に、ユーザーの属性を確認します。 詳細については、「ユーザーの取得」を参照してください。 Graph v1.0 は、属性が返すべきプロパティの 1 つとして要求内で指定されていない限り、既定ではユーザーのディレクトリ拡張属性のいずれも返しません。

GET https://graph.microsoft.com/v1.0/users/{id}?$select=displayName,extension_inputAppId_extensionName

PowerShell を使用してクラウドのみのユーザーに拡張属性を作成する

PowerShell を使用してカスタムの拡張機能を作成し、ユーザーに値を割り当てます。

#Connect to your Azure AD tenant
Connect-AzureAD

#Create an application (you can instead use an existing application if you would like)
$App = New-AzureADApplication -DisplayName “test app name” -IdentifierUris https://testapp

#Create a service principal
New-AzureADServicePrincipal -AppId $App.AppId

#Create an extension property
New-AzureADApplicationExtensionProperty -ObjectId $App.ObjectId -Name “TestAttributeName” -DataType “String” -TargetObjects “User”

#List users in your tenant to determine the objectid for your user
Get-AzureADUser

#Set a value for the extension property on the user. Replace the objectid with the ID of the user and the extension name with the value from the previous step
Set-AzureADUserExtension -objectid 0ccf8df6-62f1-4175-9e55-73da9e742690 -ExtensionName “extension_6552753978624005a48638a778921fan3_TestAttributeName”

#Verify that the attribute was added correctly.
Get-AzureADUser -ObjectId 0ccf8df6-62f1-4175-9e55-73da9e742690 | Select -ExpandProperty ExtensionProperty

クラウド同期を使用して拡張属性を作成する

クラウド同期では、ユーザーが新しいマッピングの追加に移動したときに、オンプレミスの Active Directory 内の拡張機能が自動的に検出されます。 これらの属性を自動検出し、Microsoft Entra ID への対応するマッピングを設定するには、以下の手順を使用します。

  1. 少なくともハイブリッド ID 管理者として Microsoft Entra 管理センターにサインインします。
  2. [ID]>[ハイブリッド管理]>[Microsoft Entra Connect]>[クラウド同期] の順に移動します。
  3. 拡張属性とマッピングを追加する構成を選択します。
  4. [属性の管理] で、[クリックしてマッピングを編集します] を選択します。
  5. [属性マッピングの追加] を選択します。 属性は自動的に検出されます。
  6. 新しい属性は、[ソース属性] のドロップダウンで使用できます。
  7. 目的のマッピングの種類を入力し、[適用] をクリックします。

詳細については、Microsoft Entra Connect クラウド同期でのカスタム属性のマッピングに関するページを参照してください。

Microsoft Entra Connect を使用して拡張属性を作成する

アプリケーションにアクセスするユーザーがオンプレミスの Active Directory で作成された場合は、それらのユーザーの属性を Active Directory から Microsoft Entra ID に同期する必要があります。 アプリケーションへのプロビジョニングを構成する前に、次のタスクを実行する必要があります。

  1. 必要な属性が AD DS スキーマの一部であるかどうかをオンプレミスの Active Directory ドメイン管理者に確認し、そうでない場合は、これらのユーザーのアカウントが存在するドメイン内の AD DS スキーマを拡張します。

  2. Microsoft Entra Connect ウィザードを開き、[タスク] を選択し、[同期オプションのカスタマイズ] を選びます。

  3. グローバル管理者としてサインインします。

  4. [オプション機能] ページで [ディレクトリ拡張属性の同期] を選択します。

  5. Microsoft Entra ID に拡張する属性を選択します。

    Note

    [使用可能な属性] での検索は、大文字と小文字が区別されます。

  6. Microsoft Entra Connect ウィザードを終了し、完全同期サイクルの実行を許可します。 サイクルが完了したら、スキーマが拡張され、オンプレミスの AD と Microsoft Entra ID の間で新しい値が同期されます。

  7. Microsoft Entra 管理センターで、ユーザー属性マッピングを編集している間に、[ソース属性] リストには追加された属性が <attributename> (extension_<appID>_<attributename>) という形式で含まれるようになりました。ここで、appID はテナント内のプレースホルダー アプリケーションの識別子です。 属性を選択し、プロビジョニングのためにターゲット アプリケーションにマップします。

    Microsoft Entra Connect wizard Directory extensions selection page

Note

オンプレミスの AD から参照属性 (managedbyDN/DistinguishedName など) をプロビジョニングする機能は、現在サポートされていません。 ユーザーの声に関するページで、この機能の要求をお送りください。

次のステップ