同步處理擴充屬性以進行 Microsoft Entra 應用程式佈建
Microsoft Entra ID 必須包含將使用者帳戶從 Microsoft Entra ID 佈建至 SaaS 應用程式 或內部部署應用程式時,建立使用者設定檔所需的所有資料 (屬性)。 自訂使用者佈建的屬性對應時,您可能會發現您想要對應的屬性並未出現在 Microsoft Entra ID的 [來源屬性] 清單中。 此文章說明如何新增遺漏的屬性。
判斷需要新增擴充項目的位置
新增應用程式所需的遺漏屬性將會從內部部署的 Active Directory 或 Microsoft Entra ID 開始,視使用者帳戶所在的位置以及它們如何帶入 Microsoft Entra ID 而定。
首先,找出您的 Microsoft Entra 租用戶中哪些使用者需要存取應用程式,因此將在佈建至應用程式的範圍內。
接下來,判斷屬性的來源,以及用於將這些使用者帶入 Microsoft Entra ID 的拓撲。
屬性的來源 | 拓撲 | 所需的步驟 |
---|---|---|
HR 系統 | HR 系統的背景工作角色會以使用者身分佈建到 Microsoft Entra ID。 | 在 Microsoft Entra ID 中建立擴充屬性。 更新 HR 輸入對應,從 HR 系統填入 Microsoft Entra ID 使用者上的擴充屬性。 |
HR 系統 | HR 系統的背景工作角色會以使用者身分佈建到 Windows Server AD 中。 Microsoft Entra Connect 雲端同步處理會將它們同步處理到 Microsoft Entra ID 中。 |
如有必要,請擴充 AD 架構。 使用雲端同步處理在 Microsoft Entra ID 中建立擴充屬性。 更新 HR 輸入對應,從 HR 系統填入 AD 使用者的擴充屬性。 |
HR 系統 | 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 雲端同步 來同步處理使用者和屬性。
- 請洽詢內部部署 Active Directory 網域管理員,這些屬性是否為 AD DS 架構
User
物件類別的一部分,如果不是,請在這些使用者擁有帳戶的網域中 擴充 Active Directory Domain Services 架構。 - 設定 Microsoft Entra Connect 或Microsoft Entra Connect 雲端同步,將使用者及其擴充屬性從 Active Directory 同步至Microsoft Entra ID。 這兩個解決方案都會自動將特定屬性同步至Microsoft Entra ID,但並非所有屬性。 此外,某些預設同步處理的屬性 (例如
sAMAccountName
) 可能不會使用圖形 API 公開。 在這些情況下,您可以 使用 Microsoft Entra Connect 目錄擴充功能,將屬性同步至 Microsoft Entra ID,或 使用 Microsoft Entra Connect 雲端同步。如此一來,圖形 API 和 Microsoft Entra 佈建服務就會看到該屬性。 - 如果內部部署的 Active Directory 中的使用者還沒有必要的屬性,您必須更新 Active Directory 中的使用者。 您可以從 Workday、SAP SuccessFactors 讀取屬性,或使用 輸入 HR API (如果您使用不同的 HR 系統) 來完成此更新。
- 等候 Microsoft Entra Connect 或 Microsoft Entra Connect 雲端同步,以同步您在 Active Directory 架構中所做的更新,並將 Active Directory 使用者同步至 Microsoft Entra ID。
或者,如果不需要存取應用程式的使用者都源自內部部署的 Active Directory,則您必須 先使用 PowerShell 或 Microsoft Graph 在 Microsoft Entra ID 中建立結構描述擴充項目,再對佈建至您的應用程式進行設定。
下列各節概述如何為具有僅限雲端使用者的租用戶,以及具有 Active Directory 使用者的租用戶建立擴充屬性。
在具有僅限雲端使用者的租用戶中建立擴充屬性
您可以使用 Microsoft Graph 和 PowerShell,針對 Azure AD 中的使用者擴充使用者結構描述。 如果您有需要該屬性的使用者,且其中沒有任何屬性是源於內部部署的 Active Directory 或從其同步處理,則這是必要的。 (如果您有 Active Directory,請繼續閱讀以下關於如何 使用 Microsoft Entra Connect 目錄擴充功能將屬性同步處理至 Microsoft Entra ID 的章節。)
一旦建立結構描述擴充項目,在大部分情況下,當您下次瀏覽 Microsoft Entra 系統管理中心的佈建頁面時,就會自動探索這些擴充屬性。
當您的服務主體超過 1000 個時,您可能會在來源屬性清單中找到遺漏的擴充項目。 如果您建立的屬性未自動出現,請驗證該屬性已建立,並手動將其新增至您的結構描述。 若要驗證該屬性是否已建立,請使用 Microsoft Graph 和 Graph 總管。 若要手動將其新增至您的結構描述,請參閱編輯支援的屬性清單。
使用 Microsoft Graph 建立僅限雲端用戶的擴充屬性
您可以使用 Microsoft Graph 來擴充 Microsoft Entra 使用者的結構描述。
首先,列出您租用戶中的應用程式,以取得您正在使用的應用程式識別碼。 若要深入了解,請參閱列出 extensionProperties。
GET https://graph.microsoft.com/v1.0/applications
接著,建立擴充屬性。 以在上一個步驟中擷取的識別碼取代以下的 ID 屬性。 您必須使用 「ID」 屬性,而不是「appId」。 若要深入了解,請參閱[建立 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 預設不會傳回任何使用者的目錄擴充屬性,除非在要求中指定該屬性做為要傳回的屬性之一。
GET https://graph.microsoft.com/v1.0/users/{id}?$select=displayName,extension_inputAppId_extensionName
使用 PowerShell 建立僅限雲端使用者的擴充屬性
您可以使用 PowerShell 建立自訂擴充項目。
注意
自 2024 年 3 月 30 日起,Azure AD 和 MSOnline PowerShell 模組已被淘汰。 若要深入了解,請閱讀淘汰更新。 在此日期之後,對這些模組的支援僅限於對 Microsoft Graph PowerShell SDK 的移轉協助和安全性修正。 淘汰的模組將繼續運作至 2025 年 3 月 30 日。
我們建議移轉至 Microsoft Graph PowerShell 以與 Microsoft Entra ID (以前稱為 Azure AD) 互動。 如需了解常見的移轉問題,請參閱移轉常見問題。 注意: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 aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb -ExtensionName “extension_6552753978624005a48638a778921fan3_TestAttributeName”
#Verify that the attribute was added correctly.
Get-AzureADUser -ObjectId bbbbbbbb-1111-2222-3333-cccccccccccc | Select -ExpandProperty ExtensionProperty
使用雲端同步建立擴充屬性
如果您有 Active Directory 中的使用者,且正在使用 Microsoft Entra Connect 雲端同步,當您新增對應時,雲端同步會自動探索內部部署的 Active Directory 中的擴充項目。 如果您使用 Microsoft Entra Connect 同步處理,請繼續閱讀下一節的 使用 Microsoft Entra Connect 建立擴充屬性。
使用下列步驟自動探索這些屬性,並設定對應至 Microsoft Entra ID 的對應。
- 以至少 混合式身分識別系統管理員 身分登入 Microsoft Entra 系統管理中心。
- 瀏覽至 [身分識別]>[混合式管理]>Microsoft Entra Connect>Cloud sync。
- 選取您想要新增擴充屬性和對應的組態。
- 在 [管理屬性] 下, 選取 [按鍵即可編輯對應]。
- 選取 [新增屬性對應]。 系統會自動探索屬性。
- 新的屬性可在 來源屬性 下的下拉式清單中取得。
- 填入您想要的對應類型,然後選取 [套用]。
如需詳細資訊,請參閱 Microsoft Entra Connect 雲端同步中的自訂屬性對應。
使用 Microsoft Entra Connect 建立擴充屬性
如果存取應用程式的使用者源自內部部署的 Active Directory,則必須將屬性與 Active Directory 中的使用者同步至 Microsoft Entra ID。 如果您使用 Microsoft Entra Connect,您必須先執行下列工作,才能對佈建至您的應用程式進行設定。
請洽詢內部部署 Active Directory 網域管理員,這些屬性是否為 AD DS 架構
User
物件類別的一部分,如果不是,請在這些使用者擁有帳戶的網域中 擴充 Active Directory Domain Services 架構。開啟 [Microsoft Entra Connect 精靈],選擇 [工作],然後選擇 [自訂同步處理選項]。
以 混合式身分識別系統管理員 身分登入。
在 [選用功能] 頁面上,選取 [目錄擴充屬性同步處理]。
選取您想要擴充至 Microsoft Entra ID 的屬性。
注意
[可用屬性] 下的搜尋會區分大小寫。
完成 Microsoft Entra Connect 精靈,並允許執行完整的同步處理週期。 當週期完成時,結構描述就會擴充,而且新值會在您的內部部署 AD 與 Microsoft Entra ID 之間進行同步。
注意
目前不支援從內部部署 AD (例如 managedby 或 DN/DistinguishedName) 佈建參考屬性的能力。 您可以在 User Voice \(英文\) 上要求此功能。
填入並使用新屬性
在 Microsoft Entra 系統管理中心,當您 編輯使用者屬性對應 以進行單一登錄或從 Microsoft Entra ID 佈建至應用程式時,Source 屬性 清單現在會以 <attributename> (extension_<appID>_<attributename>)
格式包含新增的屬性,其中 appID 是租用戶中應用程式預留位置的識別碼。 選取屬性,並將其對應至目標應用程式以進行佈建。
然後,您必須在啟用佈建至應用程式之前,先將指派給應用程式的使用者填入必要的屬性。 如果屬性不是源自 Active Directory,則有五種方式可以大量填入使用者:
- 如果屬性源自 HR 系統,而且您正以 Active Directory 中的使用者身分從該 HR 系統佈建背景工作角色,請設定來自 Workday、SAP SuccessFactors 的對應,或如果您使用不同的 HR 系統,請使用 Active Directory 屬性的 輸入 HR API。 然後,等候 Microsoft Entra Connect 或 Microsoft Entra Connect 雲端同步,以同步您在 Active Directory 架構中所做的更新,並將 Active Directory 使用者同步至 Microsoft Entra ID。
- 如果屬性源自 HR 系統,而且您不是使用 Active Directory,您可以透過 輸入 API 來設定從 Workday、 SAP SuccessFactors 或其他項目到 Microsoft Entra 使用者屬性的對應。
- 如果屬性源自另一個內部部署系統,您可以設定 MIM Connector for Microsoft Graph 來建立或更新 Microsoft Entra 使用者。
- 如果屬性源自使用者本身,則您可以要求使用者在要求存取應用程式時提供屬性值,方法是在 權利管理目錄 中包含屬性需求。
- 針對所有其他情況,自訂應用程式可以透過 Microsoft Graph API 來更新使用者。