共用方式為


使用 Azure CLI 管理服務主體角色

若要限制對 Azure 資源的存取,您可以使用服務主體來管理角色指派。 每個角色在存取 Azure 資源時,都會提供用戶允許的不同許可權。 本教學課程中的此步驟說明如何建立和移除服務主體角色。

Azure CLI 具有下列命令來管理角色指派:

建立或移除角色指派

參與者角色具有讀取和寫入 Azure 帳戶的完整許可權。 讀取者 角色具有更為嚴格的唯讀存取限制。 務必遵循最低許可權的原則。 如需 Azure RBAC 中可用角色的完整清單,請參閱 Azure 內建角色

新增角色不會限制先前分配的權限。 此範例會新增讀者角色,並移除參與者角色:

az role assignment create --assignee myServicePrincipalID \
                          --role Reader \
                          --scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName

az role assignment delete --assignee myServicePrincipalID \
                          --role Contributor \
                          --scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName

輸出主控台:

{
  "condition": null,
  "conditionVersion": null,
  "createdBy": null,
  "createdOn": "yyyy-mm-ddT00:00:00.000000+00:00",
  "delegatedManagedIdentityResourceId": null,
  "description": null,
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "principalId": "00000000-0000-0000-0000-000000000000",
  "principalType": "ServicePrincipal",
  "roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000",
  "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroupName",
  "type": "Microsoft.Authorization/roleAssignments",
  "updatedBy": "00000000-0000-0000-0000-000000000000",
  "updatedOn": "yyyy-mm-ddT00:00:00.000000+00:00"
}

如何取得範圍參數的值

您可能會問:「如何知道--scope參數的值?」答案是尋找並複製您的服務主體所需存取的 Azure 資源的Resource ID。 此資訊通常位於每個資源的 Azure 入口網站 [屬性] 或 [端點] 頁面中。 以下是常見的 --scope 範例,但 依賴您的 資源標識符 來取得實際的格式和值

Scope 範例
訂閱 /subscriptions/mySubscriptionID
資源群組 /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName
虛擬機 /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMname
儲存帳戶檔案服務 /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Storage/storageAccounts/myStorageAccountName/fileServices/default
資料處理站 /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.DataFactory/factories/myDataFactoryName

如需更多範圍範例,請參閱 瞭解 Azure RBAC 的範圍。

驗證變更

可以通過列出分配的角色來驗證更改。

# list all role assignments for the current subscription
az role assignment list --output table

# list role assignments for a user
az role assignment list --assignee myUserName@contoso.com

# list role assignments for a subscription
az role assignment list --subscription mySubscriptionID

您也可以進入 Azure 入口網站並從 [訪問控制] 功能表手動將角色指派給服務主體。 如需列出角色指派的詳細資訊範例,請參閱 使用 Azure CLI 列出 Azure 角色指派。

後續步驟

既然您已瞭解如何管理服務主體角色,請繼續進行下一個步驟,瞭解如何使用服務主體來建立資源。