HR ソースからカスタム セキュリティ属性をプロビジョニングする (プレビュー)
カスタム セキュリティ属性のプロビジョニングにより、お客様は Microsoft Entra 受信プロビジョニング機能を使用してカスタム セキュリティ属性を自動的に設定できます。 このパブリック プレビューでは、人事システムなどの権限のあるソースからカスタム セキュリティ属性の値をソースできます。 カスタム セキュリティ属性のプロビジョニングでは、Workday、SAP SuccessFactors、および API 駆動型プロビジョニングを使用するその他の統合 HR システムのソースがサポートされます。 プロビジョニング ターゲットは、Microsoft Entra ID テナントです。
手記
プレビューに適用される条件に基づき、お客様がパブリック プレビューを利用できるようにします。 これらの用語は、オンライン サービスのに関する Microsoft 製品の用語全体で概説されています。 通常のサービス レベル アグリーメント (SLA) はパブリック プレビューには適用されず、限られたカスタマー サポートのみが利用できます。 さらに、このプレビューでは、エンタープライズ SaaS アプリまたはオンプレミスの Active Directory 機能へのカスタム セキュリティ属性のプロビジョニングはサポートされていません。
カスタム セキュリティ属性
Microsoft Entra ID のカスタム セキュリティ属性は、Microsoft Entra オブジェクトを定義して割り当てることができるビジネス固有の属性 (キーと値のペア) です。 これらの属性は、情報の格納、オブジェクトの分類、特定の Azure リソースに対する微調整されたアクセス制御の適用に使用できます。 カスタム セキュリティ属性の詳細については、「Microsoft Entra ID のカスタム セキュリティ属性とは」を参照してください。.
前提 条件
カスタム セキュリティ属性をプロビジョニングするには、次の前提条件を満たす必要があります。
- 次のいずれかの受信プロビジョニング アプリを構成するための Microsoft Entra ID Premium P1 ライセンス。
- 属性マッピングプロセス中に検出するために、テナント内のカスタムセキュリティ属性をアクティブにしてください。 このプレビュー機能を使用する前に、Microsoft Entra ID テナントでカスタム セキュリティ属性セットを作成する必要があります。
- 受信プロビジョニング アプリの属性マッピングでカスタム セキュリティ属性を構成するには、アプリケーション管理者 の Microsoft Entra ロールと 属性プロビジョニング管理者のロールが割り当てられているユーザーとして、Microsoft Entra 管理センター にサインインします。
- プロビジョニング アプリ 作成して更新するには、アプリケーション管理者 が必要です。
- 属性プロビジョニング管理者 は、プロビジョニング アプリの属性マッピング セクションでカスタム セキュリティ属性を追加または削除する必要があります。
既知の制限事項
- プロビジョニング サービスでは、
String
型のカスタム セキュリティ属性の設定のみがサポートされます。 Integer
およびBoolean
の種類のカスタム セキュリティ属性のプロビジョニングはサポートされていません。- 複数値のカスタム セキュリティ属性のプロビジョニングはサポートされていません。
- 非アクティブ化されたカスタム セキュリティ属性のプロビジョニングはサポートされていません。
- 属性ログ閲覧者 ロールでは、プロビジョニング ログのカスタム セキュリティ属性値を表示できません。
カスタム セキュリティ属性を使用したプロビジョニング アプリの構成
開始する前に、次の 手順 に従って、Microsoft Entra ID テナントにカスタム セキュリティ属性を追加し、インバウンド プロビジョニング アプリでカスタム セキュリティ属性をマップします。
Microsoft Entra ID テナントでカスタム セキュリティ属性を定義する
Microsoft Entra 管理センターので、Protection メニューからカスタム セキュリティ属性を追加するオプションにアクセスします。 このタスクを完了するには、少なくとも 属性定義管理者 ロールが必要です。
この例には、テナントに追加できるカスタム セキュリティ属性が含まれています。 HRConfidentialData
属性セットを使用し、次の属性を追加します。
- EEOStatus
- FLSAStatus
- PayGrade
- PayScaleType
受信プロビジョニング アプリでカスタム セキュリティ属性をマップする
アプリケーション管理者 と 属性プロビジョニング管理者 ロールのアクセス許可の両方を持つユーザーとして、Microsoft Entra 管理 センターにサインインします。
エンタープライズ アプリケーションに移動し、受信プロビジョニング アプリを開きます。
[プロビジョニング] 画面を開きます。
手記
このガイダンスでは、Microsoft Entra ID への API 駆動型プロビジョニングの画面キャプチャを表示します。 Workday または SuccessFactors プロビジョニング アプリを使用している場合は、Workday と SuccessFactors に関連する属性と構成が表示されます。
[プロビジョニングの編集] を選択します。
属性マッピング を選択して、属性マッピング画面を開きます。
機密性の高い HR データを格納するソース属性を定義し、[詳細オプションの表示] ボックスをオンにして属性一覧を開きます。
API の [属性の編集] リスト
選択して、テストする属性を特定します。 SCIM スキーマ名前空間 (
urn:ietf:params:scim:schemas:extension:microsoft:entra:csa
) を定義して、Inbound Provisioning API を使用してカスタム セキュリティ属性のプロビジョニングをテストします。 次の属性を必ず含めます。urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:EEOStatus
urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:FLSAStatus
urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:PayGrade
urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:PayScaleType
手記
SCIM ペイロード内の機密 HR データを表すために、独自の SCIM スキーマ名前空間を定義できます。
urn:ietf:params:scim:schemas:extension
で始まるかどうかを確認します。HR ソースとして Workday または SuccessFactors を使用している場合は、API 式を使用して属性リストを更新して、格納する HR データをカスタム セキュリティ属性リストに取得します。
SuccessFactors から同じ HR データのセットを取得する場合は、次の API 式を使用します。
$.employmentNav.results[0].jobInfoNav.results[0].eeoClass
$.employmentNav.results[0].jobInfoNav.results[0].flsaStatus
$.employmentNav.results[0].jobInfoNav.results[0].payGradeNav.name
$.employmentNav.results[0].jobInfoNav.results[0].payScaleType
スキーマの変更を保存します。
属性マッピング 画面で、[新しいマッピングを追加] を選択します。
- カスタム セキュリティ属性は、
CustomSecurityAttributes.<AttributeSetName>_<AttributeName>
形式で表示されます。
- カスタム セキュリティ属性は、
次のマッピングを追加し、変更を保存します。
API ソース属性 Microsoft Entra ID ターゲット属性 urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:EEOStatus CustomSecurityAttributes.HRConfidentialData_EEOStatus urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:FLSAStatus カスタムセキュリティ属性.HR(人事)機密データ_FLSAステータス urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:PayGrade カスタムセキュリティ属性.HR機密データ_給与等級 urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:PayScaleType CustomSecurityAttributes.HRConfidentialData_PayScaleType
カスタム セキュリティ属性のプロビジョニングをテストする
HR ソース属性をカスタム セキュリティ属性にマップしたら、次のメソッドを使用して、カスタム セキュリティ属性データのフローをテストします。 選択する方法は、プロビジョニング アプリの種類によって異なります。
- ジョブで Workday または SuccessFactors をソースとして使用する場合は、オンデマンド プロビジョニング 機能を使用して、カスタム セキュリティ属性のデータ フローをテストします。
- ジョブで API 駆動型プロビジョニングを使用する場合は、SCIM 一括ペイロードをジョブの bulkUpload API エンドポイントに送信します。
SuccessFactors プロビジョニング アプリを使用してテストする
この例では、次に示すように、SAP SuccessFactors 属性がカスタム セキュリティ属性にマップされます。
- SuccessFactors プロビジョニング ジョブを開き、プロビジョン オンデマンドを選択します。
[ユーザー の選択] ボックスに、テストするユーザーの personIdExternal 属性を入力します。
プロビジョニング ログには、設定したカスタム セキュリティ属性が表示されます。
手記
カスタム セキュリティ属性のソースとターゲットの値は、プロビジョニング ログで編集されます。
ユーザーの Microsoft Entra ID プロファイル
カスタム セキュリティ属性の画面で、そのユーザーに設定された実際の値を表示できます。 このデータを表示するには、少なくとも 属性割り当て管理者 または属性割り当て閲覧者 ロール必要があります。
API 駆動型プロビジョニング アプリを使用してテストする
カスタム セキュリティ属性の値を含む SCIM 一括要求ペイロードを作成します。
- 完全な SCIM ペイロードにアクセスするには、SCIM ペイロードのサンプル
参照してください。
- 完全な SCIM ペイロードにアクセスするには、SCIM ペイロードのサンプル
プロビジョニング ジョブの概要ページから、bulkUpload API URL をコピーします。
Graph エクスプローラー または cURLを使用し、SCIM ペイロードを bulkUpload API エンドポイントにポストします。
- SCIM ペイロード形式でエラーがない場合は、承認済み 状態が表示されます。
- 数分待ってから、API 駆動型プロビジョニング ジョブのプロビジョニング ログを確認します。
カスタム セキュリティ属性は、次の例のように表示されます。
手記
カスタム セキュリティ属性のソースとターゲットの値は、プロビジョニング ログで編集されます。 ユーザーに設定された実際の値を表示するには、ユーザーの Microsoft Entra ID プロファイルに移動します。
カスタム セキュリティ属性 画面でデータを表示します。 このデータを表示するには、少なくとも属性割り当て管理者ロールまたは属性割り当て閲覧者ロールが必要です。
カスタム セキュリティ属性を使用した SCIM ペイロードのサンプル
この SCIM 一括要求のサンプルには、カスタム セキュリティ属性にマップできる拡張 urn:ietf:params:scim:schemas:extension:microsoft:entra:csa
の下にカスタム フィールドが含まれています。
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:BulkRequest"],
"Operations": [{
"method": "POST",
"bulkId": "897401c2-2de4-4b87-a97f-c02de3bcfc61",
"path": "/Users",
"data": {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
"urn:ietf:params:scim:schemas:extension:microsoft:entra:csa"],
"id": "2819c223-7f76-453a-919d-413861904646",
"externalId": "701984",
"userName": "bjensen@example.com",
"name": {
"formatted": "Ms. Barbara J Jensen, III",
"familyName": "Jensen",
"givenName": "Barbara",
"middleName": "Jane",
"honorificPrefix": "Ms.",
"honorificSuffix": "III"
},
"displayName": "Babs Jensen",
"nickName": "Babs",
"emails": [{
"value": "bjensen@example.com",
"type": "work",
"primary": true
}
],
"addresses": [{
"type": "work",
"streetAddress": "234300 Universal City Plaza",
"locality": "Hollywood",
"region": "CA",
"postalCode": "91608",
"country": "USA",
"formatted": "100 Universal City Plaza\nHollywood, CA 91608 USA",
"primary": true
}
],
"phoneNumbers": [{
"value": "555-555-5555",
"type": "work"
}
],
"userType": "Employee",
"title": "Tour Guide",
"preferredLanguage": "en-US",
"locale": "en-US",
"timezone": "America/Los_Angeles",
"active": true,
"password": "t1meMa$heen",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "701984",
"costCenter": "4130",
"organization": "Universal Studios",
"division": "Theme Park",
"department": "Tour Operations",
"manager": {
"value": "89607",
"$ref": "../Users/26118915-6090-4610-87e4-49d8ca9f808d",
"displayName": "John Smith"
}
},
"urn:ietf:params:scim:schemas:extension:microsoft:entra:csa": {
"EEOStatus":"Semi-skilled",
"FLSAStatus":"Non-exempt",
"PayGrade":"IC-Level5",
"PayScaleType":"Revenue-based"
}
}
}, {
"method": "POST",
"bulkId": "897401c2-2de4-4b87-a97f-c02de3bcfc61",
"path": "/Users",
"data": {
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
"urn:ietf:params:scim:schemas:extension:microsoft:entra:csa" ],
"id": "2819c223-7f76-453a-919d-413861904646",
"externalId": "701985",
"userName": "Kjensen@example.com",
"name": {
"formatted": "Ms. Kathy J Jensen, III",
"familyName": "Jensen",
"givenName": "Kathy",
"middleName": "Jane",
"honorificPrefix": "Ms.",
"honorificSuffix": "III"
},
"displayName": "Kathy Jensen",
"nickName": "Kathy",
"emails": [{
"value": "kjensen@example.com",
"type": "work",
"primary": true
}
],
"addresses": [{
"type": "work",
"streetAddress": "100 Oracle City Plaza",
"locality": "Hollywood",
"region": "CA",
"postalCode": "91618",
"country": "USA",
"formatted": "100 Oracle City Plaza\nHollywood, CA 91618 USA",
"primary": true
}
],
"phoneNumbers": [{
"value": "555-555-5545",
"type": "work"
}
],
"userType": "Employee",
"title": "Tour Lead",
"preferredLanguage": "en-US",
"locale": "en-US",
"timezone": "America/Los_Angeles",
"active": true,
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "701984",
"costCenter": "4130",
"organization": "Universal Studios",
"division": "Theme Park",
"department": "Tour Operations",
"manager": {
"value": "89607",
"$ref": "../Users/26118915-6090-4610-87e4-49d8ca9f808d",
"displayName": "John Smith"
}
},
"urn:ietf:params:scim:schemas:extension:microsoft:entra:csa": {
"EEOStatus":"Skilled",
"FLSAStatus":"Exempt",
"PayGrade":"Manager-Level2",
"PayScaleType":"Profit-based"
}
}
}
],
"failOnErrors": null
}
ハイブリッド ユーザーのカスタム セキュリティ属性をプロビジョニングする
ハイブリッド ユーザーは、最初にオンプレミスの Active Directory で人事システムからプロビジョニングされた後、Entra Connect Sync または Cloud Sync を使用して Microsoft Entra ID に同期されます。カスタム セキュリティ属性はハイブリッド ユーザーに割り当てることができます。これらの属性は、ハイブリッド ユーザーの Microsoft Entra ID プロファイルにのみ存在します。
このセクションでは、ハイブリッド ユーザーのカスタム セキュリティ属性を自動プロビジョニングするためのプロビジョニング トポロジについて説明します。 信頼できる HR ソースとして Workday が使用されます。 ただし、SuccessFactors と API 主導のプロビジョニングでも、同じトポロジを使用できます。
たとえば、あなたは、ID のレコードの人事システムとして Workday を使用するとします。 Workday から提供されるハイブリッド ユーザーにカスタム セキュリティ属性を設定するには、次の 2 つのプロビジョニング アプリを構成します。
- Workday からオンプレミス Active Directory へのプロビジョニング: このプロビジョニング アプリは、オンプレミスの Active Directory でハイブリッド ユーザーを作成および更新します。 Workday からの通常の属性のみを処理します。
- Workday から Microsoft Entra ID へのプロビジョニング: このプロビジョニング アプリを更新操作のみを処理し、カスタム セキュリティ属性のみをターゲット属性として含むように属性マッピングを制限するように構成します。
このトポロジでは、エンドツーエンドのフローのしくみを次に示します。
- Workday-to-AD プロビジョニング アプリは、Workday からコア ユーザー プロファイルをインポートします。
- アプリは、従業員 ID を一致する識別子として使用して、オンプレミスの Active Directory でユーザー アカウントを作成または更新します。
- Microsoft Entra Connect Sync/Cloud Sync は、ユーザー プロファイルを Microsoft Entra ID に同期します。
- Workday ライトバックを構成した場合、メールまたは電話番号の情報が Workday に書き戻されます。
- Workday から Microsoft Entra ID へのプロビジョニング アプリは、更新のみを処理し、機密属性をカスタム セキュリティ属性として設定するように構成されています。 [詳細オプションの表示] の下にあるスキーマ エディターを使用して、このシナリオに関係のない
accountEnabled
やisSoftDeleted
などの既定の属性マッピングを削除します。
この構成では、オンプレミスの Active Directory から Microsoft Entra ID に同期されるハイブリッド ユーザーにカスタム セキュリティ属性が割り当てられます。
手記
上記の構成では、特定の順序で完了するために 3 つの異なる同期サイクルに依存しています。 ハイブリッド ユーザー プロファイルが Microsoft Entra ID で使用できない場合、Workday-to-Microsoft Entra ID プロビジョニング ジョブが実行されると、更新操作は失敗し、次の実行中に再試行されます。 API 駆動型プロビジョニングから Microsoft Entra ID アプリを使用している場合は、カスタム セキュリティ属性更新プログラムの実行タイミングをより適切に制御できます。
カスタム セキュリティ属性のプロビジョニングに対する API アクセス許可
このプレビュー機能では、次の新しい Graph API アクセス許可が導入されています。 この機能を使用すると、サインインしているユーザーに代わって、カスタム セキュリティ属性マッピングを含むプロビジョニング アプリ スキーマに直接アクセスして変更できます。
CustomSecAttributeProvisioning.ReadWrite.All: このアクセス許可は、カスタム セキュリティ属性を含む属性マッピングを読み書きする機能を呼び出し元アプリに付与します。 カスタム セキュリティ属性マッピングを含むプロビジョニング アプリを編集するには、
Application.ReadWrite.OwnedBy
、Synchronization.ReadWrite.All
、またはApplication.ReadWrite.All
(最小から最高の特権) を持つこのアクセス許可が必要です。 このアクセス許可を使用すると、カスタム セキュリティ属性を含む完全なスキーマを取得し、カスタム セキュリティ属性を使用してスキーマを更新またはリセットできます。CustomSecAttributeProvisioning.Read.All: このアクセス許可は、呼び出し元アプリに属性マッピングとカスタム セキュリティ属性を含むプロビジョニング ログを読み取る機能を付与します。 保護されたリソースのカスタム セキュリティ属性の名前と値を表示するには、
Synchronization.Read.All
またはApplication.Read.All
(最小から最高の特権) を持つこのアクセス許可が必要です。
アプリに CustomSecAttributeProvisioning.ReadWrite.All
アクセス許可または CustomSecAttributeProvisioning.Read.All
アクセス許可がない場合、カスタム セキュリティ属性を含むプロビジョニング アプリにアクセスまたは変更することはできません。 代わりに、エラー メッセージまたは編集されたデータが表示されます。
カスタム セキュリティ属性のプロビジョニングのトラブルシューティング
問題 | トラブルシューティングの手順 |
---|---|
カスタム セキュリティ属性が ターゲット属性のマッピング ドロップダウン リスト に表示されません。 | - カスタム セキュリティ属性をサポートするプロビジョニング アプリにカスタム セキュリティ属性を追加していることを確認します。 - ログインしているユーザーに、属性プロビジョニング管理者 (編集アクセス用) または属性プロビジョニング閲覧者 (ビュー アクセス用) |
プロビジョニング アプリ スキーマをリセットまたは更新すると、エラーが返されます。 HTTP 403 Forbidden - InsufficientAccountPermission Provisioning schema has custom security attributes. The account does not have sufficient permissions to perform this operation. |
ログインしているユーザーに、属性プロビジョニング管理者 |
属性マッピングに存在するカスタム セキュリティ属性を削除できません。 | ログインしているユーザーに、属性プロビジョニング管理者 |
属性マッピング テーブルには、ソース属性とターゲット属性の下に文字列 redacted が表示される行があります。 |
この動作は、ログインしているユーザーが 属性プロビジョニング管理者 または 属性プロビジョニング閲覧者 のロールを持っていない場合、設計どおりのものです。 これらのロールのいずれかを割り当てると、カスタム セキュリティ属性マッピングが表示されます。 |
エラー The provisioning service does not support setting custom security attributes of type boolean and integer. Unable to set CSA attribute 返されました。 |
プロビジョニング アプリ属性マッピングから整数/ブール型のカスタム セキュリティ属性を削除します。 |
エラー The provisioning service does not support setting custom security attributes that are deactivated. Unable to set CSA attribute <attribute name> 返されました。 |
非アクティブ化されたカスタム セキュリティ属性を更新しようとしました。 プロビジョニング アプリ属性マッピングから非アクティブ化されたカスタム セキュリティ属性を削除します。 |