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.
Remover atribuições de função do Azure
Pré-requisitos
Para remover as atribuições de função, você precisa ter:
- Permissões
Microsoft.Authorization/roleAssignments/delete
, como Administrador de controle de acesso baseado em função
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:
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.
Clique na guia Atribuições de função para visualizar todas as atribuições de função nesse escopo.
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.
Clique em Remover.
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).
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.
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.
Comece com a solicitação a seguir:
DELETE https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01
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 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.