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

O controle de acesso baseado em função do Azure (Azure RBAC) é o sistema de autorização que você usa para gerenciar o acesso aos recursos do 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ções usando o portal do Azure, o Azure PowerShell, a CLI do Azure e a API REST.

Pré-requisitos

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

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

  • 2015-07-01 ou mais tarde

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

Portal do Azure

Siga estes passos:

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

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

  3. Na lista de atribuições de funções, adicione uma marca de verificação junto ao principal de segurança com a atribuição de função que pretende remover.

    Captura de ecrã da atribuição de função selecionada para ser removida.

  4. Clique em Remover.

    Captura de ecrã da mensagem de remoção de atribuição de função.

  5. Na mensagem de remoção de atribuição de função exibida, clique em Sim.

    Se vir uma mensagem a informar que as atribuições de função herdadas não podem ser removidas, está a tentar remover uma atribuição de função num âmbito subordinado. Você deve abrir o controle de acesso (IAM) no escopo em que a função foi atribuída e tentar novamente. Uma maneira rápida de abrir o controle de acesso (IAM) no escopo correto é examinar a coluna Escopo e clicar no link ao lado de (Herdados).

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

Azure PowerShell

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

O exemplo a seguir remove a atribuição da função de Colaborador de Máquina Virtual do patlong@contoso.com usuário 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, você remove uma atribuição de função usando az role assignment delete.

O exemplo a seguir remove a atribuição da função de Colaborador de Máquina Virtual do patlong@contoso.com usuário 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, você remove uma atribuição de função usando Atribuições de função - Excluir.

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

  2. Comece com a seguinte solicitação:

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

    Âmbito Type
    providers/Microsoft.Management/managementGroups/{groupId1} Grupo de gestão
    subscriptions/{subscriptionId1} Subscrição
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1 Grupo de recursos
    subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/microsoft.web/sites/mysite1 Recurso
  4. Substitua {roleAssignmentId} pelo identificador GUID da atribuição de função.

    A solicitação a seguir 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
    

    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 ARM

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