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

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

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

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

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

次に、属性のソースと、それらのユーザーを Microsoft Entra ID に取り込む方法のトポロジを決定します。

属性のソース トポロジ 必要な手順
HR システム 人事システムのワーカーは、ユーザーとして Microsoft Entra ID にプロビジョニングされます。 Microsoft Entra ID で拡張属性を作成します
HR 受信マッピングを更新して、HR システムの Microsoft Entra ID ユーザーに拡張機能属性を設定します。
HR システム 人事システムのワーカーは、ユーザーとして Windows Server AD にプロビジョニングされます。
Microsoft Entra Connect クラウド同期は、それらを Microsoft Entra ID に同期します。
必要に応じて、AD スキーマを拡張します。
クラウド同期を使用して、Microsoft Entra ID で拡張機能属性を作成します
HR 受信マッピングを更新して、HR システムから AD ユーザーの拡張機能属性を設定します。
HR システム 人事システムのワーカーは、ユーザーとして Windows Server AD にプロビジョニングされます。
Microsoft Entra Connect は、それらを Microsoft Entra ID に同期します。
必要に応じて、AD スキーマを拡張します。
Microsoft Entra Connect を使用して、Microsoft Entra ID に拡張属性を作成します
HR 受信マッピングを更新して、HR システムから AD ユーザーの拡張機能属性を設定します。

組織のユーザーが既にオンプレミスの Active Directory に存在する場合、または Active Directory でユーザーを作成している場合は、Active Directory から Microsoft Entra ID にユーザーを同期する必要があります。 Microsoft Entra Connect または Microsoft Entra Connect クラウド同期を使用して、ユーザーと属性を同期できます。

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

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

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

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

Microsoft Graph と PowerShell を使用して、Microsoft Entra ID 内のユーザーのユーザー スキーマを拡張できます。 これは、その属性を必要とするユーザーがいて、オンプレミスの Active Directory に由来するユーザーやオンプレミスの 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 を使用してカスタム拡張機能を作成できます。

Note

Azure AD および MSOnline PowerShell モジュールは、2024 年 3 月 30 日の時点で非推奨となります。 詳細については、非推奨の最新情報を参照してください。 この日以降、これらのモジュールのサポートは、Microsoft Graph PowerShell SDK への移行支援とセキュリティ修正プログラムに限定されます。 非推奨になるモジュールは、2025 年 3 月 30 日まで引き続き機能します。

Microsoft Entra ID (旧称 Azure AD) を使用するには、Microsoft Graph PowerShell に移行することをお勧めします。 移行に関する一般的な質問については、「移行に関する FAQ」を参照してください。 注: MSOnline のバージョン 1.0.x では、2024 年 6 月 30 日以降に中断が発生する可能性があります。

#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 Connect クラウド同期を使用している場合、クラウド同期では、新しいマッピングを追加するときに、オンプレミスの Active Directory で拡張機能が自動的に検出されます。 Microsoft Entra Connect 同期を使用している場合は、次の「Connect を使用して拡張属性を作成する」セクションに進みます。

これらの属性を自動検出し、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 に同期する必要があります。 Microsoft Entra Connect を使用する場合は、アプリケーションへのプロビジョニングを構成する前に、次のタスクを実行する必要があります。

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

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

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

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

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

    Note

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

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

Note

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

新しい属性の設定と使用

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

Microsoft Entra Connect ウィザードの [ディレクトリ拡張機能] 選択ページ

次に、アプリケーションへのプロビジョニングを有効にする前に、アプリケーションに割り当てられているユーザーに必要な属性を設定する必要があります。 属性が Active Directory で生成されていない場合、ユーザーを一括で設定する方法は 5 つあります。

  • プロパティが HR システムで生成され、その HR システムから Active Directory のユーザーとしてワーカーをプロビジョニングする場合は、WorkdaySAP SuccessFactors を使用してマッピングを構成します。または別の HR システムを使用している場合は、受信 HR API を使用して Active Directory 属性へのマッピングを構成します。 次に、Microsoft Entra Connect または Microsoft Entra Connect クラウド同期を待って、Active Directory スキーマと Active Directory ユーザーで行った更新を Microsoft Entra ID に同期します。
  • プロパティが HR システムで生成され、Active Directory を使用していない場合は、WorkdaySAP SuccessFactors、またはその他から受信 API を介して Microsoft Entra ユーザー属性へのマッピングを構成できます。
  • プロパティがもう一方のオンプレミス システムで作成された場合は、Microsoft Entra ユーザーを作成または更新するように Microsoft Graph 用の MIM コネクタを構成できます。
  • これらのプロパティがユーザー自身で作成された場合は、エンタイトルメント管理カタログに属性の要件を含めることによって、アプリケーションへのアクセス権が要求されたときに、その属性の値を指定するようユーザーに依頼できます。
  • その他のすべての状況では、カスタム アプリケーションが Microsoft Graph API を使用してユーザーを更新できます。

次のステップ