Remover atribuições de função do Azure

O RBAC (controle de acesso baseado em função) do Azure é o sistema de autorização usado para gerenciar o acesso aos recursos no Azure. Para remover o acesso de um recurso do Azure, remova uma atribuição de função. Este artigo descreve como remover atribuições de função usando o portal do Azure, o Azure PowerShell, a CLI do Azure e a API REST.

Pré-requisitos

Para remover as atribuições de função, você precisa ter:

Para a API REST, você deve usar a versão a seguir:

  • 2015-07-01 ou posterior

Para obter mais informações, consulte as Versões da API das APIs REST do RBAC do Azure.

Portal do Azure

Siga estas etapas:

  1. Abra Controle de acesso (IAM) em um escopo, como grupo de gerenciamento, assinatura, grupo de recursos ou recurso, no qual você deseja remover o acesso.

  2. Clique na guia Atribuições de função para visualizar todas as atribuições de função nesse escopo.

  3. Na lista de atribuições de função, marque a caixa de seleção ao lado de objeto com a atribuição de função de segurança que você deseja remover.

    Captura de tela da Atribuição de função selecionada a ser removida.

  4. Clique em Remover.

    Captura de tela de Remover mensagem de atribuição de função.

  5. Na mensagem para remover a atribuição de função exibida, clique em Sim.

    Se vir uma mensagem informando que as atribuições de função herdadas não podem ser removidas, você estará tentando remover uma atribuição de função em um escopo filho. Você deve abrir o controle de acesso (IAM) no escopo em que a função foi atribuída e tentar novamente. Uma forma rápida de abrir o controle de acesso (IAM) no escopo correto é examinar a coluna Escopo e clicar no link ao lado de (Herdado).

    Captura de tela da mensagem Remover atribuição de função para atribuições de função herdadas.

Azure PowerShell

No Azure PowerShell, remova uma atribuição de função usando Remove-AzRoleAssignment.

O seguinte exemplo remove a atribuição da função Colaborador da Máquina Virtual do usuário patlong@contoso.com no grupo de recursos pharma-sales:

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.

CLI do Azure

Na CLI do Azure, remova uma atribuição de função usando az role assignment delete.

O seguinte exemplo remove a atribuição da função Colaborador da Máquina Virtual do usuário patlong@contoso.com no grupo de recursos pharma-sales:

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"

API REST

Na API REST, remova uma atribuição de função usando Atribuições de Função – Excluir.

  1. Obtenha o identificador da atribuição de função (GUID). Esse identificador retorna quando você cria pela primeira vez a atribuição de função, ou você pode obtê-lo listando as atribuições de função.

  2. Comece com a solicitação a seguir:

    DELETE https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01
    
  3. Dentro do URI, substitua {scope} pelo escopo para remoção da atribuição de função.

    Escopo Tipo
    providers/Microsoft.Management/managementGroups/{groupId1} Grupo de gerenciamento
    subscriptions/{subscriptionId1} Subscription
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1 Resource group
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/microsoft.web/sites/mysite1 Recurso
  4. Substitua {roleAssignmentId} pelo identificador GUID da atribuição de função.

    A seguinte solicitação remove a atribuição de função especificada no escopo da assinatura:

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

    O texto a seguir mostra um exemplo da saída:

    {
        "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}"
    }
    

    Modelo de ARM

    Não há uma forma de remover uma atribuição de função usando um modelo do ARM (modelo do Azure Resource Manager). Para remover uma atribuição de função, você precisa usar outras ferramentas, como o portal do Azure, o Azure PowerShell, a CLI do Azure ou a API REST.