管理服務主體角色
若要限制對 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 角色指派。
後續步驟
既然您已瞭解如何管理服務主體角色,請繼續進行下一個步驟,瞭解如何使用服務主體來建立資源。