Share via


管理服務主體角色

若要限制對 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 資源的資源識別碼 。 此資訊通常位於每個資源的 Azure 入口網站 [屬性 ] 或 [端點 ] 頁面中。 以下是常見的 --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 角色指派。

後續步驟

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