Eliminación de asignaciones de roles de Azure

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.

Requisitos previos

Para quitar asignaciones de roles, debe tener:

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:

  1. 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.

  2. Haga clic en la pestaña Asignaciones de roles para ver todas las asignaciones de roles en este ámbito.

  3. 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.

    Captura de pantalla de la asignación de roles que se va a quitar.

  4. Haga clic en Quitar.

    Captura de pantalla del mensaje quitar asignación de roles.

  5. En el mensaje de eliminación de asignación de roles que aparece, haga clic en .

    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).

    Captura de pantalla del mensaje quitar asignación de roles para las asignaciones de roles heredadas.

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.

  1. 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.

  2. Empiece con la solicitud siguiente:

    DELETE https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}?api-version=2022-04-01
    
  3. 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
  4. 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.