El control de acceso basado en rol (RBAC) de Azure es el sistema de autorización que puede utilizar para administrar el acceso a los recursos de Azure. Para quitar el acceso de un recurso de Azure, se quita una asignación de roles. En este artículo se describe cómo quitar las asignaciones de roles mediante Azure Portal, Azure PowerShell, la CLI de Azure y la API REST.
Eliminación de asignaciones de roles de Azure
Requisitos previos
Para quitar asignaciones de roles, debe tener:
Microsoft.Authorization/roleAssignments/delete
permisos, como Administrador de control de acceso basado en roles
Para la API REST, debe usar la siguiente versión:
2015-07-01
o posterior
Para obtener más información, consulte Versiones de la API REST de RBAC de Azure.
Azure Portal
Siga estos pasos:
Abra Control de acceso (IAM) en un ámbito como, por ejemplo, grupo de administración, suscripción, grupo de recursos o recurso, en donde quiere quitar el acceso.
Haga clic en la pestaña Asignaciones de roles para ver todas las asignaciones de roles en este ámbito.
En la lista de asignaciones de roles, agregue una marca de verificación a la entidad de seguridad con la asignación de roles que desee quitar.
Haga clic en Quitar.
En el mensaje de eliminación de asignación de roles que aparece, haga clic en Sí.
Si ve un mensaje que indica que las asignaciones de roles heredadas no se pueden quitar, significa que intenta quitar una asignación de roles en un ámbito secundario. Debe abrir el control de acceso (IAM) en el ámbito en el que se asignó el rol e intentarlo de nuevo. Una forma rápida de abrir el control de acceso (IAM) en el ámbito correcto es examinar la columna Ámbito y hacer clic en el vínculo situado junto a (Heredado).
Azure PowerShell
En Azure PowerShell, para quitar una asignación de roles, use Remove-AzRoleAssignment.
En el ejemplo siguiente, se quita la asignación del rol Colaborador de la máquina virtual del usuario patlong@contoso.com en el 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 de Azure
En la CLI de Azure, para quitar una asignación de roles, use az role assignment delete.
En el ejemplo siguiente, se quita la asignación del rol Colaborador de la máquina virtual del usuario patlong@contoso.com en el 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 de REST
En la API REST, para quitar una asignación de roles, use Asignaciones de roles - Eliminar.
Obtenga el identificador de asignación de roles (GUID). Este identificador se devuelve cuando se crea por primera vez la asignación de roles o puede obtenerlo enumerando las asignaciones de roles.
Empiece con la solicitud siguiente:
DELETE https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01
En el identificador URI, reemplace {scope} por el ámbito para eliminar la asignación de roles.
Ámbito Tipo providers/Microsoft.Management/managementGroups/{groupId1}
Grupo de administración subscriptions/{subscriptionId1}
Subscription subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1
Resource group subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/microsoft.web/sites/mysite1
Resource Reemplace {roleAssignmentId} por el identificador GUID de la asignación de roles.
La siguiente solicitud quita la asignación de roles especificada en el ámbito de la suscripción:
DELETE https://management.azure.com/subscriptions/{subscriptionId1}/providers/microsoft.authorization/roleassignments/{roleAssignmentId1}?api-version=2022-04-01
El siguiente texto muestra un ejemplo de la salida:
{ "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}" }
Plantilla ARM
No hay ninguna manera de quitar una asignación de roles mediante una plantilla de Azure Resource Manager (plantilla de ARM). Para quitar una asignación de roles, debe usar otras herramientas, como Azure Portal, Azure PowerShell, la CLI de Azure o la API REST.