將 Enterprise 合約 角色指派給服務主體
您可以在 Azure 入口網站 中管理您的 Enterprise 合約 (EA) 註冊。 您可以建立不同的角色來管理組織、檢視成本,以及建立訂用帳戶。 本文可協助您使用 Azure PowerShell 和 REST API 搭配 Microsoft Entra ID 服務主體,將這些工作自動化。
注意
如果您的組織中有多個 EA 計費帳戶,則必須在每個 EA 計費帳戶中個別將 EA 角色授與 Microsoft Entra ID 服務主體。
開始之前,請確定您已熟悉下列文章:
建立及驗證您的服務主體
若要使用服務主體將 EA 動作自動化,您必須建立 Microsoft Entra 應用程式身分識別,然後以自動化方式進行驗證。
請遵循這些文章中的步驟,使用您的服務主體來建立和驗證。
以下是應用程式註冊頁面的範例。
尋找您的服務主體和租用戶標識碼
您需要服務主體的物件識別碼和租用戶標識碼。 本文稍後需要此資訊才能進行許可權指派作業。 所有應用程式都會在租使用者中的 Microsoft Entra ID 中註冊。 應用程式註冊完成時,會建立兩種類型的物件:
- 應用程式物件 - 應用程式識別碼是您在 [企業應用程式] 底下看到的內容。 標識碼不應該用來授與任何EA角色。
- 服務主體物件 - 服務主體對像是您在 Microsoft Entra ID 的 [企業註冊] 視窗中看到的內容。 對象標識碼可用來將EA角色授與服務主體。
開啟 Microsoft Entra ID,然後選取 [企業應用程式]。
在清單中尋找您的應用程式。
選取應用程式以尋找應用程式識別碼和物件識別碼:
移至 [Microsoft Entra 標識符 概觀 ] 頁面,以尋找租用戶標識符。
注意
Microsoft Entra 租使用者標識符的值看起來像 GUID,格式如下: 11111111-1111-1111-1111-111111111111
。
可指派給服務主體的許可權
本文稍後,您將授與 Microsoft Entra 應用程式的許可權,以使用 EA 角色採取行動。 您只能將下列角色指派給服務主體,而且您需要角色定義標識碼,完全如所示。
角色 | 允許的動作 | 角色定義識別碼 |
---|---|---|
EnrollmentReader | 註冊讀取者可以在註冊、部門和帳戶範圍檢視數據。 數據包含範圍下所有訂用帳戶的費用,包括跨租使用者。 可以檢視與註冊相關聯的 Azure 預付款(先前稱為預付金)餘額。 | 24f8edb6-1668-4659-b5e2-40bb5f3a7d7e |
EA 購買者 | 購買保留訂單和檢視保留交易。 其具有 EnrollmentReader 的所有許可權,接著會擁有 DepartmentReader 的所有許可權。 它可以檢視所有帳戶和訂用帳戶的使用量和費用。 可以檢視與註冊相關聯的 Azure 預付款(先前稱為預付金)餘額。 | da6647fb-7651-49ee-be91-c43c4877f0c4 |
DepartmentReader | 下載其所管理部門的使用詳細數據。 可以檢視與其部門相關聯的使用量和費用。 | db609904-a47f-4794-9be8-9bd86fbffd8a |
SubscriptionCreator | 在指定的帳戶範圍內建立新的訂用帳戶。 | a0bcee42-bf30-4d1b-926a-48d21664ef71 |
- 只有具有註冊寫入器角色的使用者才能將 EnrollmentReader 角色指派給服務主體。 指派給服務主體的 EnrollmentReader 角色不會顯示在 Azure 入口網站 中。 它是由程序設計方式所建立,而且僅供程序設計使用。
- 只有註冊寫入器或部門寫入者角色的使用者,才能將 DepartmentReader 角色指派給服務主體。
- 只有註冊帳戶擁有者的使用者(EA 系統管理員)才能將 SubscriptionCreator 角色指派給服務主體。 角色不會顯示在 Azure 入口網站 中。 它是由程序設計方式所建立,而且僅供程序設計使用。
- EA 購買者角色不會顯示在 Azure 入口網站 中。 它是由程序設計方式所建立,而且僅供程序設計使用。
當您將EA角色授與服務主體時,必須使用 billingRoleAssignmentName
必要的屬性。 參數是您必須提供的唯一 GUID。 您可以使用 New-Guid PowerShell 命令來產生 GUID。 您也可以使用 線上 GUID / UUID 產生器 網站來產生唯一的 GUID。
服務主體只能有一個角色。
將註冊帳戶角色許可權指派給服務主體
閱讀角色 指派 - 放置 REST API 一文。 當您閱讀本文時,請選取 [ 試用] 以開始使用服務主體。
使用您的帳戶認證,以您想要指派的註冊存取權登入租使用者。
提供下列參數作為 API 要求的一部分。
billingAccountName
:此參數是 計費帳戶標識符。 您可以在 [成本管理 + 帳單概觀] 頁面上的 [Azure 入口網站 中找到它。billingRoleAssignmentName
:此參數是您需要提供的唯一 GUID。 您可以使用 New-Guid PowerShell 命令來產生 GUID。 您也可以使用 線上 GUID / UUID 產生器 網站來產生唯一的 GUID。api-version
:使用 2019-10-01-preview 版本。 在角色指派 - Put - 範例中使用範例要求本文。要求本文具有 JSON 程式代碼,其中包含您需要使用的三個參數。
參數 所在位置 properties.principalId
它是物件識別碼的值。 請參閱 尋找您的服務主體和租用戶標識碼。 properties.principalTenantId
請參閱 尋找您的服務主體和租用戶標識碼。 properties.roleDefinitionId
/providers/Microsoft.Billing/billingAccounts/{BillingAccountName}/billingRoleDefinitions/24f8edb6-1668-4659-b5e2-40bb5f3a7d7e
計費帳戶名稱與您在 API 參數中使用的參數相同。 這是您在 Azure 入口網站 中看到的註冊標識碼。
請注意,
24f8edb6-1668-4659-b5e2-40bb5f3a7d7e
這是 EnrollmentReader 的計費角色定義標識碼。
選取 [ 執行 ] 以啟動命令。
回應
200 OK
顯示已成功新增服務主體。
現在您可以使用服務主體來自動存取EA API。 服務主體具有 EnrollmentReader 角色。
將EA購買者角色許可權指派給服務主體
針對 EA 購買者角色,請針對註冊讀取者使用相同的步驟。 使用下列範例指定 roleDefinitionId
,
"/providers/Microsoft.Billing/billingAccounts/1111111/billingRoleDefinitions/ da6647fb-7651-49ee-be91-c43c4877f0c4"
將部門讀取者角色指派給服務主體
請閱讀註冊部門角色指派 - 放置 REST API 一文。 當您閱讀本文時,請選取 [試用]。
使用您的帳戶認證,以您想要指派的註冊存取權登入租使用者。
提供下列參數作為 API 要求的一部分。
billingAccountName
:此參數是 計費帳戶標識符。 您可以在 [成本管理 + 計費概觀] 頁面上的 [Azure 入口網站 中找到它。billingRoleAssignmentName
:此參數是您需要提供的唯一 GUID。 您可以使用 New-Guid PowerShell 命令來產生 GUID。 您也可以使用 線上 GUID / UUID 產生器 網站來產生唯一的 GUID。departmentName
:此參數是部門標識符。 您可以在 [成本管理 + 計費>部門] 頁面上的 [Azure 入口網站 中看到部門識別符。在此範例中,我們使用 ACE 部門。 這個範例的識別碼為
84819
。api-version
:使用 2019-10-01-preview 版本。 使用註冊部門角色指派 - Put 的範例。要求本文具有 JSON 程式代碼,其中包含您需要使用的三個參數。
參數 所在位置 properties.principalId
它是物件識別碼的值。 請參閱 尋找您的服務主體和租用戶標識碼。 properties.principalTenantId
請參閱 尋找您的服務主體和租用戶標識碼。 properties.roleDefinitionId
/providers/Microsoft.Billing/billingAccounts/{BillingAccountName}/billingRoleDefinitions/db609904-a47f-4794-9be8-9bd86fbffd8a
計費帳戶名稱與您在 API 參數中使用的參數相同。 這是您在 Azure 入口網站 中看到的註冊標識碼。
的計費角色定義標識碼
db609904-a47f-4794-9be8-9bd86fbffd8a
適用於部門讀取者。
選取 [ 執行 ] 以啟動命令。
回應
200 OK
顯示已成功新增服務主體。
現在您可以使用服務主體來自動存取EA API。 服務主體具有 DepartmentReader 角色。
將訂用帳戶建立者角色指派給服務主體
閱讀註冊帳戶角色指派 - 放置文章。 讀取時,請選取 [ 試用] 將訂用帳戶建立者角色指派給服務主體。
使用您的帳戶認證,以您想要指派的註冊存取權登入租使用者。
提供下列參數作為 API 要求的一部分。 請閱讀註冊帳戶角色指派 - Put - URI 參數一文。
billingAccountName
:此參數是 計費帳戶標識符。 您可以在 [成本管理 + 帳單概觀] 頁面上的 [Azure 入口網站 中找到它。billingRoleAssignmentName
:此參數是您需要提供的唯一 GUID。 您可以使用 New-Guid PowerShell 命令來產生 GUID。 您也可以使用 線上 GUID/UUID 產生器 網站來產生唯一的 GUID。enrollmentAccountName
:此參數是帳戶 標識碼。 在 [成本管理 + 計費] 頁面上的 [Azure 入口網站 中尋找帳戶名稱的帳戶標識符。在此範例中,我們使用 GTM 測試帳戶。 識別碼為
196987
。api-version
:使用 2019-10-01-preview 版本。 使用註冊部門角色指派 - Put - 範例中的 範例。要求本文具有 JSON 程式代碼,其中包含您需要使用的三個參數。
參數 所在位置 properties.principalId
它是物件識別碼的值。 請參閱 尋找您的服務主體和租用戶標識碼。 properties.principalTenantId
請參閱 尋找您的服務主體和租用戶標識碼。 properties.roleDefinitionId
/providers/Microsoft.Billing/billingAccounts/{BillingAccountID}/enrollmentAccounts/{enrollmentAccountID}/billingRoleDefinitions/a0bcee42-bf30-4d1b-926a-48d21664ef71
計費帳戶名稱與您在 API 參數中使用的參數相同。 這是您在 Azure 入口網站 中看到的註冊標識碼。
的計費角色定義標識碼
a0bcee42-bf30-4d1b-926a-48d21664ef71
是訂用帳戶建立者角色。
選取 [ 執行 ] 以啟動命令。
回應
200 OK
顯示已成功新增服務主體。
現在您可以使用服務主體來自動存取EA API。 服務主體具有 SubscriptionCreator 角色。
確認服務主體角色指派
Azure 入口網站 中看不到服務主體角色指派。 您可以檢視註冊帳戶角色指派,包括訂用帳戶建立者角色,以及 計費角色指派 - 依註冊帳戶列出 - REST API (Azure 計費) API。 使用 API 來確認角色指派是否成功。
疑難排解
您必須識別並使用您授與 EA 角色的企業應用程式物件識別碼。 如果您使用來自其他應用程式的物件識別碼,API 呼叫將會失敗。 確認您使用的是正確的企業應用程式物件標識碼。
如果您在進行 API 呼叫時收到下列錯誤,則可能使用位於應用程式註冊中的服務主體物件識別碼值不正確。 若要解決此錯誤,請確定您使用來自企業應用程式的服務主體對象標識碼,而不是應用程式註冊。
The provided principal Tenant Id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx and principal Object Id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx are not valid
下一步
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應