865 字
4 分鐘
Microsoft Entra ID 擴充欄位介紹
Entra ID(前身為 Azure Active Directory)提供多種 Extension Types 來幫助企業儲存與管理自定義屬性,方便整合與應用程式的需求。這些 擴充欄位主要用來在 Entra ID 中擴展內建的屬性,使其能包含特定的業務資訊,方便在 SSO 或 API 中傳遞與驗證。
擴充欄位
Entra ID 有四種擴充欄位,以下介紹彼此差別。
- Extension attributes 1–15
- Directory extensions
- Schema extensions
- Open extensions
1. Extension attributes 1–15
- 功能:這是 Active Directory (AD) 內建預留的 15 個屬性(
extensionAttribute1到extensionAttribute15),用於快速添加自定義資料。這些屬性在 Entra ID 和 Microsoft Graph 中默認存在,可以直接使用。 - 使用情境:這些屬性特別適合需要快速儲存少量額外屬性的情境,且通常用於簡單的場景,像是同步 AD 到 Entra ID 時的一些附加屬性。
- 限制:數量固定為 15 個擴充屬性,無法新增更多。
- 官方文件
2. Directory Extensions
- 功能:此類擴展可讓你將自定義屬性直接附加到現有的 Entra ID 物件,例如使用者、群組物件。這類擴展不僅限於 Microsoft 提供的標準屬性,還可以根據需求新增。Directory Extensions 屬性始終與租用戶中的應用程式關聯,名稱包含應用程式 (用戶端) 識別碼*。Directory Extensions 屬性為
extension_xxxxxxxxx_AttributeName。其中xxxxxxxxx是為其定義擴充功能的應用程式識別碼。* - 使用情境:適合需要持久化存儲自定義屬性,並且希望這些屬性可以在多個應用程式之間共享的情況。例如,將「員工類別」這樣的屬性加入到使用者物件中,以便其他應用程式可以使用。
- 限制:為任何應用程式在某個 Resource (如 User, Device) 建立擴充屬性,每個應用程式最多 100 個擴充屬性
- 參考資料:官方文件、Graph API
3. Schema extensions
- 功能:Schema Extensions 提供了一種更全面的方式來擴展 Entra ID 的結構。開發者可以定義自己的結構和屬性,並使用 Graph API 將這些屬性綁定到特定的物件上。
- 使用情境:適用於更複雜、結構化的需求,尤其當你需要將多個相關屬性分組,並綁定到特定物件時。例如,當一個應用程式需要大量的自定義屬性來儲存複雜的資料時,可以使用此功能。
- 限制:需先申請一組應用程式,該組應用程式在某個 Resource (如 User, Device) 最多建立 5 個 Schema Extension ,每個 Schema Extension 最多允許 100 個擴充屬性值
- 參考資料:官方文件、Graph API
4. Open Extensions
- 功能:Open Extensions 允許開發人員在物件上任意添加屬性,不需要預先定義結構。每個 Open Extension 的名稱通常會包含應用程式的命名空間。
- 使用情境:適合臨時或非結構化資料的儲存,尤其在需要快速添加少量自定義屬性時。比如在測試階段加入一些自定義資料來驗證應用邏輯。
- 限制:需先申請一組應用程式,一組應用程式在某個 Resource (如 User, Device) 最多建立 2 個 Open Extensions,每個 Open Extension 的大小上限為 2 KB
- 參考資料:官方文件、Graph API
比較
以上四種功能比較參考微軟官方文件。
