共用方式為


宣告中的目錄擴充屬性

目錄延伸屬性提供一種方式,將更多資料儲存在目錄物件上,例如使用者。 只有使用者物件上的延伸模組屬性可用來向應用程式發出宣告。 本文說明如何使用目錄擴充屬性,將用戶數據傳送至令牌宣告中的應用程式。

注意

Microsoft Graph 提供其他三種擴充機制來自定義 Graph 物件。 這些是延伸模組屬性 1-15、開啟的延伸模組和架構延伸模組。 如需詳細資料,請參閱 Microsoft Graph 文件。 使用 Open 和架構延伸模組儲存在 Microsoft Graph 物件上的數據無法作為令牌中宣告的來源。

目錄擴充屬性一律與租使用者中的應用程式相關聯。 目錄屬性的名稱會在其 名稱中包含應用程式的appId

目錄擴充屬性的識別碼格式 extension_xxxxxxxxx_AttributeName為 。 其中 xxxxxxxxx定義擴充功能之應用程式的 appId ,且只有字元 0-9 和 A-Z。

註冊和使用目錄延伸模組

以下列其中一種方式註冊目錄擴充屬性:

從 Microsoft Entra 發出具有數據的宣告 連線

使用 Microsoft Entra 連線 建立和同步的目錄擴充屬性一律與 Microsoft Entra 連線 所使用的應用程式識別符相關聯。 這些屬性可以當做宣告的來源,方法是在入口網站中的企業應用程式組態中將其設定為宣告。 使用 AD 連線 建立目錄擴充屬性之後,就會顯示在 SAML SSO 宣告組態中。

使用 Graph 或 PowerShell 發出宣告

如果使用 Microsoft Graph 或 PowerShell 註冊目錄延伸模組屬性,則可以將應用程式設定為在使用者登入時接收該屬性中的數據。 應用程式可以設定為使用 可在應用程式指令清單中設定的選擇性宣告 ,在應用程式上註冊的目錄延伸模組中接收數據。

然後,多租使用者應用程式可以註冊目錄擴充屬性以供自己使用。 將應用程式布建到租使用者時,相關聯的目錄延伸模組會變成可供該租使用者中的使用者使用。 目錄延伸模組可用之後,即可使用 Microsoft Graph 來儲存和擷取數據。 目錄延伸模組也可以對應至 Microsoft 身分識別平台 發出給應用程式的令牌中的宣告。

如果應用程式需要從在不同應用程式上註冊的延伸模組屬性傳送具有數據的宣告, 則必須使用宣告對應原則 ,將延伸模塊屬性對應至宣告。

管理目錄擴充屬性的常見模式是特別針對您需要的所有目錄延伸模塊註冊應用程式。 當您使用此類型的應用程式時,所有擴充功能的名稱都具有相同的 appID。

例如,下列程式代碼顯示宣告對應原則,從 OAuth/OIDC 令牌中的目錄擴充屬性發出單一宣告:

{
    "ClaimsMappingPolicy": {
        "Version": 1,
        "IncludeBasicClaimSet": "false",
        "ClaimsSchema": [{
                "Source": "User",
                "ExtensionID": "extension_xxxxxxx_test",
                "JWTClaimType": "http://schemas.contoso.com/identity/claims/exampleclaim"
            },
        ]
    }
}

其中是已向其中 xxxxxxx 註冊延伸模組之應用程式的appID(或用戶端標識碼)。

警告

當您定義目錄擴充屬性的宣告對應原則時,請使用 ExtensionID 屬性,而不是 ID 陣列主體 ClaimsSchema 內的 屬性,如上一個範例所示。

提示

當您在 對象上設定目錄延伸屬性時,案例一致性很重要。 設定時,擴充屬性名稱不會區分大小寫,但在令牌服務從目錄讀取時區分大小寫。 如果在名稱為 「LegacyId」 的使用者對象上設定擴充屬性,並在另一個名稱為 「legacyid」 的使用者物件上設定,則當屬性使用名稱 「LegacyId」 對應至宣告時,數據就會成功擷取,且宣告包含在第一位使用者的令牌中,而不是第二個使用者。

下一步