共用方式為


從人力資源來源提供自訂安全性屬性

自訂安全性屬性布建可讓客戶使用Microsoft Entra 輸入布建功能自動設定自定義安全性屬性。 透過這項功能,您可以從權威來源取得自定義安全性屬性的來源值,例如來自 HR 系統的值。 自定義安全性屬性布建支援下列來源:Workday、SAP SuccessFactors 和其他使用 API 驅動布建的整合式 HR 系統。 設定目標是您的 Microsoft Entra ID 租戶。

自訂安全性屬性架構的圖表。

自訂安全性屬性

Microsoft Entra ID 中的自訂安全性屬性是針對商務需求特定的屬性(鍵值對),您可以定義並指派給 Microsoft Entra 物件。 這些屬性可用來儲存資訊、分類物件,或對特定 Azure 資源強制執行微調的訪問控制。 若要深入瞭解自定義安全性屬性,請參閱 Microsoft Entra ID 中什麼是自定義安全性屬性?

先決條件

若要布建自定義安全性屬性,您必須符合下列必要條件:

已知的限制

  • 不支援布建多重值自定義安全性屬性。
  • 不支援設定已停用的自訂安全性屬性。
  • 使用 屬性記錄讀取器 角色,您無法在布建記錄中檢視自定義安全性屬性值。

使用自訂安全性屬性設定布建應用程式

開始之前,請遵循下列步驟,在 Microsoft Entra ID 租使用者中新增自訂安全性屬性,並在入站佈建應用程式中對應這些自訂安全性屬性。

在您的 Microsoft Entra ID 租用戶中定義自定義安全性屬性

Microsoft Entra 系統管理中心中,存取從 Entra ID>自定義安全性屬性新增自定義安全性屬性的選項。 您必須至少有 屬性定義系統管理員 角色才能完成這項工作。

此範例包含您可以新增至租使用者的自訂安全性屬性。 使用 屬性集 HRConfidentialData ,然後將下列屬性新增至:

  • EEOStatus (字串)
  • FLSAStatus (字符串)
  • PayGrade (字串)
  • PayScaleType (字符串)
  • IsRehire (布爾值)
  • 員工等級(整數)

自訂安全性使用中屬性的螢幕快照。

在入站佈建應用程式中對應自訂安全性屬性

  1. 以同時具有應用程式管理員和屬性布建系統管理員角色許可權的使用者身分登入 Microsoft Entra 系統管理中心

  2. 移至 [企業應用程式],然後開啟您的輸入布建應用程式。

  3. 開啟 布建 畫面。

    布建概觀畫面的螢幕快照。

    備註

    本指南顯示了將 API 驅動的布建過程作用於 Microsoft Entra ID 的螢幕擷圖。 如果您使用 Workday 或 SuccessFactors 布建應用程式,則您會看到 Workday 和 SuccessFactors 相關的屬性和組態。

  4. 選取 [編輯佈建]。

    編輯設置畫面的螢幕快照。

  5. 選取 [屬性對應 ] 以開啟屬性對應畫面。

    屬性對應畫面的螢幕快照。

  6. 定義您想要儲存敏感數據的來源屬性,然後核取 [ 顯示進階選項 ] 方塊以開啟屬性清單。

  7. 選取 [編輯 API 的屬性清單 ],以識別您想要測試的屬性。

    API 畫面的 [編輯屬性清單] 螢幕快照。

    • 藉由定義 SCIM 架構命名空間,使用 入站布建 API 測試布建自定義安全屬性:urn:ietf:params:scim:schemas:extension:microsoft:entra:csa。 請務必包含下列屬性:

      • 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
      • urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:isRehire
      • urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:EmployeeLevel

    SCIM 架構命名空間選項的螢幕快照。

    備註

    您可以定義自己的 SCIM 架構命名空間,以代表 SCIM 承載中的敏感人力資源資料。 請確定其開頭為 urn:ietf:params:scim:schemas:extension

    • 如果您使用 Workday 或 SuccessFactors 作為 HR 來源,請使用 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

    可供選取之 API 表達式的螢幕快照。

  8. 儲存架構變更。

  9. 從 [ 屬性對應] 畫面中,選取 [新增對應]。

    [新增對應選項] 的螢幕快照。

    • 自訂安全性屬性會以 格式 CustomSecurityAttributes.<AttributeSetName>_<AttributeName>顯示。
  10. 新增下列映射,然後儲存變更。

    API 來源屬性 Microsoft Entra ID 目標屬性
    urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:EEOStatus CustomSecurityAttributes.人力資源機密資料_EEO狀態
    urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:FLSAStatus CustomSecurityAttributes.HRConfidentialData_FLSAStatus
    urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:PayGrade CustomSecurityAttributes.人力資源機密數據_薪資等級
    urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:PayScaleType 自定安全屬性.人力資源機密資料_薪資等級類型
    urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:isRehire CustomSecurityAttributes.HRConfidentialData_IsRehire
    urn:ietf:params:scim:schemas:extension:microsoft:entra:csa:EmployeeLevel CustomSecurityAttributes.HR機密數據_員工級別

測試自定義安全性屬性布建

將 HR 來源屬性對應至自訂安全性屬性之後,請使用下列方法來測試自定義安全性屬性數據的流程。 您選擇的方法取決於您的佈建應用程式類型。

  • 如果您的作業使用 Workday 或 SuccessFactors 作為其來源,請使用 隨需佈建功能 來測試自訂安全屬性數據流。
  • 如果您的作業使用 API 驅動布建,請將 SCIM 大量承載傳送至作業的 bulkUpload API 端點。

使用 SuccessFactors 布建應用程式進行測試

在此範例中,SAP SuccessFactors 屬性會對應至自定義安全性屬性,如下所示:

SAP 屬性對應選項的螢幕快照。

  1. 開啟 SuccessFactors 布建作業,然後選取 按需布建

Microsoft Entra ID 概觀的螢幕截圖,其中選取了「隨需布建」。

  1. 在 [ 選取使用者] 方塊中,輸入您要測試之使用者的 personIdExternal 屬性。

    布建記錄會顯示您設定的自定義安全性屬性。

    已修改屬性畫面的螢幕快照。

    備註

    自訂安全性屬性的來源和目標值會在布建記錄中被編輯。

  2. 在使用者Microsoft Entra ID 設定檔的 [自定義安全性屬性 ] 畫面中,您可以檢視該使用者設定的實際值。 您至少需要 屬性指派管理員屬性指派讀取者 角色,才能檢視此數據。

    [自訂安全性屬性] 畫面中指派值數據行的螢幕快照。

使用 API 驅動佈建應用程式進行測試

  1. 建立 SCIM 批量請求有效負載,其中包含自定義安全屬性的值。

    SCIM 批量請求載荷程式碼的螢幕截圖。

  2. 從布建作業概觀頁面複製 bulkUpload API URL。

    布建 API 承載端點的螢幕快照。

  3. 使用 Graph ExplorercURL,然後將 SCIM 負載發送至 bulkUpload API 端點。

    API 要求和承載響應的螢幕快照。

    • 如果 SCIM 承載格式中沒有任何錯誤,您會收到 「已接受 」狀態。
    • 等候幾分鐘,然後檢查 API 驅動布建作業的布建記錄。
  4. 自定義安全性屬性如下列範例所示。

    自訂安全性屬性項目的螢幕快照。

    備註

    自訂安全性屬性的來源和目標值會在部署的記錄中被刪除。 若要檢視使用者設定的實際值,請移至使用者的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,
                "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",
					"IsRehire": false,
					"EmployeeLevel": 64					
                }
            }
        }, {
            "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",
					"IsRehire": true,
					"EmployeeLevel": 63
                }
                
            }
        }
    ],
    "failOnErrors": null
}

為混合式使用者布建自定義安全性屬性

混合式使用者會先從內部部署 Active Directory 中的 HR 系統布建,然後使用 Entra Connect Sync 或 Cloud Sync 同步至Microsoft Entra ID。自定義安全性屬性可以指派給混合式使用者,而且這些屬性只會出現在混合式使用者的 Microsoft Entra 識別元配置檔上。

本節說明為混合式用戶自動布建自定義安全性屬性的布建拓撲。 它會使用 Workday 作為受信任的 HR 來源。 不過,相同的拓撲也可以與 SuccessFactors 和 API 驅動布建搭配使用。

假設 Workday 是身分識別記錄的 HR 系統。 若要在從 Workday 來源的混合式用戶上設定自定義安全性屬性,請設定兩個布建應用程式:

  • Workday 至內部部署 Active Directory 布建: 此布建應用程式會在內部部署 Active Directory 中建立及更新混合式使用者。 它只會處理 Workday 中的一般屬性。
  • Workday to Microsoft Entra ID provisioning: 將此布建應用程式設定為只處理 更新 作業,並將屬性對應限制為只包含自定義安全性屬性作為目標屬性。

透過此拓撲,以下是端對端流程的運作方式:

自定義安全性屬性對應如何適用於混合式使用者的流程圖。

  1. Workday-to-AD 布建應用程式會從 Workday 匯入核心使用者配置檔。
  2. 應用程式會使用員工標識碼作為比對標識符,在內部部署 Active Directory 中建立/更新使用者帳戶。
  3. Microsoft Entra Connect Sync / Cloud Sync 會將使用者配置檔同步至 Microsoft Entra 標識符。
  4. 如果您已設定 Workday 回寫功能,則電子郵件或電話號碼資料會回傳到 Workday。
  5. Workday 到 Microsoft Entra ID 供應應用程式已設定為僅處理更新,並將機密屬性設定為自訂安全屬性。 使用 [顯示進階選項] 底下的架構編輯器,移除與accountEnabledisSoftDeleted此案例無關的預設屬性對應。

混合式用戶的屬性對應螢幕快照。

此組態會將自定義安全性屬性指派給從內部部署 Active Directory 同步至 Microsoft Entra ID 的混合式使用者。

備註

上述組態依賴三個不同的同步處理週期,以特定順序完成。 如果混合使用者設定檔無法在 Microsoft Entra ID 中使用,則當 Workday-to-Microsoft Entra ID 佈建 作業執行時,更新作業會失敗,並在下一次執行期間重試。 如果您使用 API 驅動的布建至 Microsoft Entra ID 應用程式,則您可以更妥善地控制自定義安全性屬性更新的執行時間。

自訂安全性屬性布建的 API 許可權

這項功能引進了下列新的圖形 API 許可權。 這項功能可讓您直接或代表登入使用者存取及修改包含自定義安全性屬性對應的布建應用程式架構。

  1. CustomSecAttributeProvisioning.ReadWrite.All:此許可權授與呼叫端應用程式讀取和寫入包含自定義安全性屬性的屬性對應功能。 若要編輯包含自定義安全性屬性對應的布建應用程式,您需要具有 Application.ReadWrite.OwnedBySynchronization.ReadWrite.AllApplication.ReadWrite.All 許可權(從最低到最高權限)。 此許可權可讓您取得包含自定義安全性屬性的完整架構,以及使用自定義安全性屬性來更新或重設架構。

  2. CustomSecAttributeProvisioning.Read.All:此許可權授與呼叫端應用程式讀取屬性對應和包含自定義安全性屬性的布建記錄的能力。 需要具有 Synchronization.Read.AllApplication.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> 嘗試更新已停用的自定義安全性屬性。 從布建應用程式屬性對應中移除停用的自定義安全性屬性。

後續步驟

自訂屬性對應