拿掉 Azure 角色指派

Azure 角色型存取控制 (Azure RBAC) 是您用來管理 Azure 資源的存取權的授權系統。 若要從 Azure 資源移除存取權,請移除角色指派。 本文說明如何使用 Azure 入口網站、Azure PowerShell、Azure CLI 和 REST API 來移除角色指派。

必要條件

若要移除角色指派,您必須具備:

針對 REST API,您必須使用下列版本:

  • 2015-07-01 (含) 以後版本

如需詳細資訊,請參閱 Azure RBAC REST API 的 API 版本

Azure 入口網站

執行下列步驟:

  1. 針對您要移除存取權的範圍 (例如管理群組、訂用帳戶、資源群組或資源) 開啟 [存取控制 (IAM)]

  2. 按兩下 [ 角色指派] 索引 標籤,以檢視此範圍的所有角色指派。

  3. 在角色指派清單中,新增安全性主體旁的複選標記,其中包含您要移除的角色指派。

    選取要移除的角色指派螢幕快照。

  4. 按一下 [移除]

    拿掉角色指派訊息的螢幕快照。

  5. 在出現的移除角色指派訊息中,按兩下 [ ]。

    如果您看到無法移除繼承角色指派的訊息,您正嘗試移除子範圍的角色指派。 您應該在指派角色的範圍開啟訪問控制 (IAM),然後再試一次。 在正確範圍開啟訪問控制 (IAM) 的快速方法是查看 [範圍] 數據行,然後按兩下 [繼承]的連結。

    拿掉繼承角色指派之角色指派訊息的螢幕快照。

Azure PowerShell

在 Azure PowerShell 中,您會使用 Remove-AzRoleAssignment 移除角色指派。

下列範例會從製藥銷售資源群組上的使用者移除虛擬機參與者角色patlong@contoso.com指派:

PS C:\> Remove-AzRoleAssignment -SignInName patlong@contoso.com `
-RoleDefinitionName "Virtual Machine Contributor" `
-ResourceGroupName pharma-sales

Removes the Reader role from the Ann Mack Team group with ID 22222222-2222-2222-2222-222222222222 at a subscription scope.

PS C:\> Remove-AzRoleAssignment -ObjectId 22222222-2222-2222-2222-222222222222 `
-RoleDefinitionName "Reader" `
-Scope "/subscriptions/00000000-0000-0000-0000-000000000000"

Removes the Billing Reader role from the alain@example.com user at the management group scope.

PS C:\> Remove-AzRoleAssignment -SignInName alain@example.com `
-RoleDefinitionName "Billing Reader" `
-Scope "/providers/Microsoft.Management/managementGroups/marketing-group"

Removes the User Access Administrator role with ID 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9 from the principal with ID 33333333-3333-3333-3333-333333333333 at subscription scope with ID 00000000-0000-0000-0000-000000000000.

PS C:\> Remove-AzRoleAssignment -ObjectId 33333333-3333-3333-3333-333333333333 `
-RoleDefinitionId 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9 `
-Scope /subscriptions/00000000-0000-0000-0000-000000000000

If you get the error message: "The provided information does not map to a role assignment", make sure that you also specify the -Scope or -ResourceGroupName parameters. For more information, see Troubleshoot Azure RBAC.

Azure CLI

在 Azure CLI 中,您會使用 az role assignment delete 移除角色指派。

下列範例會從製藥銷售資源群組上的使用者移除虛擬機參與者角色patlong@contoso.com指派:

az role assignment delete --assignee "patlong@contoso.com" \
--role "Virtual Machine Contributor" \
--resource-group "pharma-sales"

Removes the Reader role from the Ann Mack Team group with ID 22222222-2222-2222-2222-222222222222 at a subscription scope.

az role assignment delete --assignee "22222222-2222-2222-2222-222222222222" \
--role "Reader" \
--scope "/subscriptions/00000000-0000-0000-0000-000000000000"

Removes the Billing Reader role from the alain@example.com user at the management group scope.

az role assignment delete --assignee "alain@example.com" \
--role "Billing Reader" \
--scope "/providers/Microsoft.Management/managementGroups/marketing-group"

REST API

在 REST API 中,您會使用 角色指派 - 刪除來移除角色指派。

  1. 取得角色指派標識碼 (GUID)。 當您第一次建立角色指派時,會傳回此標識符,或者您可以列出角色指派來取得該標識符。

  2. 從下列要求著手:

    DELETE https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01
    
  3. 在 URI 中,將 {scope} 取代為移除角色指派的範圍。

    範圍 類型
    providers/Microsoft.Management/managementGroups/{groupId1} 管理群組
    subscriptions/{subscriptionId1} 訂用帳戶
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1 資源群組
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/microsoft.web/sites/mysite1 資源
  4. 將 {roleAssignmentId} 取代為角色指派的 GUID 標識符。

    下列要求會移除訂用帳戶範圍中指定的角色指派:

    DELETE https://management.azure.com/subscriptions/{subscriptionId1}/providers/microsoft.authorization/roleassignments/{roleAssignmentId1}?api-version=2022-04-01
    

    以下顯示輸出的範例:

    {
        "properties": {
            "roleDefinitionId": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/a795c7a0-d4a2-40c1-ae25-d81f01202912",
            "principalId": "{objectId1}",
            "principalType": "User",
            "scope": "/subscriptions/{subscriptionId1}",
            "condition": null,
            "conditionVersion": null,
            "createdOn": "2022-05-06T23:55:24.5379478Z",
            "updatedOn": "2022-05-06T23:55:24.5379478Z",
            "createdBy": "{createdByObjectId1}",
            "updatedBy": "{updatedByObjectId1}",
            "delegatedManagedIdentityResourceId": null,
            "description": null
        },
        "id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId1}",
        "type": "Microsoft.Authorization/roleAssignments",
        "name": "{roleAssignmentId1}"
    }
    

    ARM 範本

    沒有辦法使用 Azure Resource Manager 範本 (ARM 範本) 移除角色指派。 若要移除角色指派,您必須使用其他工具,例如 Azure 入口網站、Azure PowerShell、Azure CLI 或 REST API。