為何移轉後需要重新設定 AOBO?
依 Microsoft 官方說明,當 Azure Plan 從一個合作夥伴移轉至另一個合作夥伴時,系統不會自動為新的合作夥伴建立 AOBO 權限,必須由客戶手動設定。若未完成設定,將影響以下事項:
合作夥伴賺取的點數(PEC)
PEC(Partner Earned Credit)是 Microsoft 依合作夥伴對客戶 Azure 環境是否具備「IT 營運控制權」所計算的折抵點數,每日計算並反映於發票。未設定 AOBO 會導致 PEC 無法套用,影響邁達特為您爭取最佳報價的能力。
代客管理與問題排除
AOBO 讓邁達特的 Admin Agents 群組能以「Foreign Principal」身分繼承訂用帳戶的擁有者角色,以便協助您進行資源部署、監控與問題排除。
移除原代理商存取權
移轉完成後,原代理商的 Foreign Principal 仍會殘留在訂用帳戶的角色指派中,建議一併移除,避免不必要的第三方存取。
Azure 中三種合作夥伴存取方式
| 存取類型 | 說明 | 本手冊採用 |
|---|---|---|
| AOBO(Admin On Behalf Of) | 透過 Foreign Principal 讓合作夥伴的 Admin Agents 群組在客戶訂用帳戶中取得擁有者(Owner)角色。 | ✔ 是 |
| Azure Lighthouse | 合作夥伴透過委派的資源管理,以特定 RBAC 角色管理客戶資源。 | — |
| 個別使用者帳戶/服務主體 | 在客戶租用戶中直接對合作夥伴的使用者或服務主體指派 RBAC 角色。 | — |
前置準備
本設定需要輸入 PowerShell 指令,您可選擇以下任一方式執行。
方式 A:Azure Cloud Shell
直接於 Azure Portal 右上角點擊 Cloud Shell 圖示(>_),選擇 PowerShell 環境即可,不需任何前置安裝。首次使用會要求建立儲存體帳戶,依畫面指示建立即可。
方式 B:本機 PowerShell
需先安裝 Az PowerShell 模組。以「系統管理員身分」開啟 PowerShell,執行:
Install-Module Az.Accounts -AllowClobber
若出現「不信任的存放庫」提示請輸入 Y 或 A。安裝完成後可執行 Connect-AzAccount 測試,成功會跳出 Microsoft 登入畫面。
- 擁有客戶端 Azure 訂用帳戶「擁有者(Owner)」或「使用者存取管理員」權限的帳號。
- 可登入 Azure Portal 的瀏覽器。
- 租用戶識別碼(Tenant ID)與訂用帳戶 ID(Subscription ID)——將於 Step 2、3 取得。
操作步驟總覽
1開啟 Azure Cloud Shell 或本機 PowerShell
- 登入 Azure Portal。
- 點擊畫面上方工具列的 Cloud Shell 圖示 >_。
- 若顯示為 Bash,請點擊左上角「切換至 PowerShell」。
- 看到
Welcome to Azure Cloud Shell與PS /home/...>提示字元即完成。
2取得租用戶識別碼(Tenant ID)
- 在 Azure Portal 上方搜尋列輸入 Microsoft Entra ID 並開啟。
- 於「概觀」頁面的「基本資訊」區塊中,找到 租用戶識別碼。
- 點擊右側的 複製 圖示,將其貼到記事本暫存。
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;亦可使用租用戶主要網域(如 contoso.onmicrosoft.com)。3取得訂用帳戶 ID(Subscription ID)
- 在 Azure Portal 搜尋列輸入 訂用帳戶,開啟後點選已移轉至邁達特的訂用帳戶。
- 於「概觀」頁面的「程式集」區塊中,找到 訂用帳戶 ID 並複製。
- 確認「方案」欄顯示為 Azure 方案(Azure Plan)。
4移除原代理商的 Foreign Principal
- 在該訂用帳戶左側選單點選「存取控制 (IAM)」,切換至「角色指派」頁籤。
- 於搜尋框輸入 fore,篩選出外部主體。
- 找到名稱為
Foreign Principal for '原代理商公司名稱' in Role 'TenantAdmins' (…)的項目。 - 勾選該項目 → 點擊上方「刪除」→ 確認移除。
5修改並執行授權指令
$TenantID="客戶租用戶" $SubscriptionID="客戶訂閱ID" Connect-AzAccount -TenantID $TenantID Set-AzContext -SubscriptionID $SubscriptionID New-AzRoleAssignment ` -ObjectId "a73f2cc3-0375-4eb3-bf05-b85132de1634" ` -RoleDefinitionName "Owner" ` -Scope "/subscriptions/$SubscriptionID" ` -ObjectType "ForeignGroup"
執行流程
- 將上方指令全部複製,貼到 Step 1 開啟的 PowerShell 視窗中並按 Enter。
- 執行
Connect-AzAccount時會跳出 Microsoft 登入畫面(Cloud Shell 則會顯示裝置代碼與網址),請選擇「客戶端」具擁有者權限的帳戶登入。 - 登入完成後指令會繼續執行,最後
New-AzRoleAssignment成功會回傳一段包含RoleDefinitionName : Owner、ObjectType : ForeignGroup的結果。
指令說明
| 參數 | 意義 |
|---|---|
-ObjectId a73f2cc3-…-b85132de1634 | 邁達特科技 Admin Agents 群組的固定識別碼,請勿修改。 |
-RoleDefinitionName "Owner" | 指派「擁有者」角色,為 PEC 認可的角色之一。Owner 與 Contributor 皆可獲得 PEC;Owner 另可管理角色指派,Contributor 則不能。 |
-Scope "/subscriptions/…" | 權限範圍僅限此訂用帳戶。 |
-ObjectType "ForeignGroup" | 指定物件為其他租用戶(邁達特)的群組,即 AOBO 機制。 |
The role assignment already exists:表示已設定過,可直接前往 Step 6 確認。does not have authorization to perform action 'Microsoft.Authorization/roleAssignments/write':登入帳號權限不足,請改用具擁有者權限的帳戶。Connect-AzAccount 無法辨識:本機未安裝 Az 模組,請回到「前置準備 → 方式 B」。
6確認設定結果
- 回到該訂用帳戶的「存取控制 (IAM)」→「角色指派」,必要時點擊「重新整理」。
- 搜尋 fore,於「擁有者」群組下應出現:
Foreign Principal for '邁達特科技股份有限公司' in Role 'TenantAdmins' (客戶名稱) - 確認舊代理商的項目已不存在。
完成檢查清單
逐項勾選確認,進度會顯示於左側目錄。
- 已開啟 Azure Cloud Shell(PowerShell)或本機 PowerShell 並可執行 Az 指令
- 已取得並記錄租用戶識別碼(Tenant ID)
- 已取得並記錄訂用帳戶 ID(Subscription ID)
- 已於 IAM 移除原代理商的 Foreign Principal
- 已以客戶端擁有者帳戶登入並成功執行 New-AzRoleAssignment
- IAM 角色指派中已出現「邁達特科技股份有限公司」的 Foreign Principal
常見問題 FAQ
什麼是 PEC(Partner Earned Credit)?對我有什麼影響?
哪些 Azure 角色可以讓合作夥伴獲得 PEC?
Microsoft 僅認可具有「寫入/管理」能力的角色。常見角色的 PEC 資格如下(節錄):
| 角色 | PEC 資格 |
|---|---|
| Owner(擁有者)← 本手冊使用 | ✔ 符合 |
| Contributor(參與者) | ✔ 符合 |
| User Access Administrator(使用者存取管理員) | ✔ 符合 |
| Virtual Machine Contributor、Network Contributor、Storage Account Contributor… | ✔ 符合 |
| Reader(讀取者) | ✘ 不符合 |
| Billing Reader、Cost Management Reader | ✘ 不符合 |
| Monitoring Reader、Log Analytics Reader、Security Reader | ✘ 不符合 |
| Support Request Contributor | ✘ 不符合 |
完整清單請參考 Microsoft Learn:Azure roles and permissions required to receive partner earned credit。
哪些費用不適用 PEC?
設定完成後多久會生效?如何確認 PEC 已套用?
PartnerEarnedCreditApplied = True 欄位確認。客戶端亦可於 成本管理 → 成本分析 檢視用量。移轉後為什麼要移除原代理商的 Foreign Principal?
可以用 Azure Portal 圖形介面完成,不用指令嗎?
New-AzRoleAssignment -ObjectType "ForeignGroup" 指令設定。若您不熟悉指令操作,可與邁達特約定時間,由我們線上陪同執行。設定 AOBO 是否會讓邁達特看到或修改我的資料?
參考資料
- Understand how partner earned credit (PEC) is calculated and paid – Microsoft Learn
- Azure roles and permissions required to receive partner earned credit – Microsoft Learn
- 在 Windows 上安裝 Azure PowerShell – Microsoft Learn
- New-AzRoleAssignment 指令參考 – Microsoft Learn