Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El control de acceso basado en rol de Azure (Azure RBAC) es el sistema de autorización que se usa para administrar el acceso a los recursos de Azure. Para determinar a qué recursos tienen acceso los usuarios, grupos, entidades de servicio o identidades administradas, se muestran sus asignaciones de roles. En este artículo se describe cómo enumerar las asignaciones de roles mediante Azure PowerShell.
Nota:
Se recomienda usar el módulo de PowerShell de Azure Az para interactuar con Azure. Para comenzar, consulte Instalación de Azure PowerShell. Para obtener información sobre cómo migrar al módulo Az PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.
Nota:
Si su organización ha externalizado las funciones de administración a un proveedor de servicios que usa Azure Lighthouse, las asignaciones de roles autorizadas por ese proveedor de servicios no se mostrarán aquí. Del mismo modo, los usuarios del inquilino del proveedor de servicios no verán asignaciones de roles para los usuarios en el inquilino de un cliente, independientemente del rol que se les haya asignado.
Prerrequisitos
Enumeración de asignaciones de roles para la suscripción actual
La manera más fácil de obtener una lista de todas las asignaciones de roles de la suscripción actual (incluidas las asignaciones de roles heredadas de grupos raíz y de administración) es usar Get-AzRoleAssignment sin parámetros.
Get-AzRoleAssignment
PS C:\> Get-AzRoleAssignment
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11111111-1111-1111-1111-111111111111
Scope : /subscriptions/00000000-0000-0000-0000-000000000000
DisplayName : Alain
SignInName : alain@example.com
RoleDefinitionName : Storage Blob Data Reader
RoleDefinitionId : 2a2b9908-6ea1-4ae2-8e65-a410df84e7d1
ObjectId : 44444444-4444-4444-4444-444444444444
ObjectType : User
CanDelegate : False
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales/providers/Microsoft.Authorization/roleAssignments/33333333-3333-3333-3333-333333333333
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName : Marketing
SignInName :
RoleDefinitionName : Contributor
RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c
ObjectId : 22222222-2222-2222-2222-222222222222
ObjectType : Group
CanDelegate : False
...
Enumeración de asignaciones de roles para una suscripción
Para enumerar todas las asignaciones de roles en un ámbito de suscripción, use Get-AzRoleAssignment. Para obtener el identificador de suscripción, puede encontrarlo en la hoja Suscripciones de Azure Portal o puede usar Get-AzSubscription.
Get-AzRoleAssignment -Scope /subscriptions/<subscription_id>
PS C:\> Get-AzRoleAssignment -Scope /subscriptions/00000000-0000-0000-0000-000000000000
Enumeración de asignaciones de roles para un usuario
Para enumerar todos los roles asignados a un usuario especificado, use Get-AzRoleAssignment.
Get-AzRoleAssignment -SignInName <email_or_userprincipalname>
PS C:\> Get-AzRoleAssignment -SignInName isabella@example.com | FL DisplayName, RoleDefinitionName, Scope
DisplayName : Isabella Simonsen
RoleDefinitionName : BizTalk Contributor
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
Para enumerar todos los roles asignados a un usuario especificado y los roles asignados a los grupos a los que pertenece el usuario, use Get-AzRoleAssignment.
Get-AzRoleAssignment -SignInName <email_or_userprincipalname> -ExpandPrincipalGroups
Get-AzRoleAssignment -SignInName isabella@example.com -ExpandPrincipalGroups | FL DisplayName, RoleDefinitionName, Scope
Enumeración de asignaciones de roles para un grupo de recursos
Para enumerar todas las asignaciones de roles en un ámbito de grupo de recursos, use Get-AzRoleAssignment.
Get-AzRoleAssignment -ResourceGroupName <resource_group_name>
PS C:\> Get-AzRoleAssignment -ResourceGroupName pharma-sales | FL DisplayName, RoleDefinitionName, Scope
DisplayName : Alain Charon
RoleDefinitionName : Backup Operator
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName : Isabella Simonsen
RoleDefinitionName : BizTalk Contributor
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName : Alain Charon
RoleDefinitionName : Virtual Machine Contributor
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
Enumeración de asignaciones de roles para un grupo de administración
Para enumerar todas las asignaciones de roles en un ámbito de grupo de administración, use Get-AzRoleAssignment. Para obtener el identificador del grupo de administración, puede encontrarlo en el panel Grupos de administración del portal de Azure o puede usar Get-AzManagementGroup.
Get-AzRoleAssignment -Scope /providers/Microsoft.Management/managementGroups/<group_id>
PS C:\> Get-AzRoleAssignment -Scope /providers/Microsoft.Management/managementGroups/marketing-group
Enumeración de asignaciones de roles para un recurso
Para enumerar las asignaciones de roles de un recurso específico, use Get-AzRoleAssignment y el -Scope parámetro . El ámbito será diferente en función del recurso. Para obtener el ámbito, puede ejecutar Get-AzRoleAssignment sin parámetros para enumerar todas las asignaciones de roles y, a continuación, buscar el ámbito que desea enumerar.
Get-AzRoleAssignment -Scope "/subscriptions/<subscription_id>/resourcegroups/<resource_group_name>/providers/<provider_name>/<resource_type>/<resource>
En este ejemplo siguiente se muestra cómo enumerar las asignaciones de roles de una cuenta de almacenamiento. Tenga en cuenta que este comando también enumera las asignaciones de roles en ámbitos superiores, como grupos de recursos y suscripciones, que se aplican a esta cuenta de almacenamiento.
PS C:\> Get-AzRoleAssignment -Scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/storage-test-rg/providers/Microsoft.Storage/storageAccounts/storagetest0122"
Si solo desea enumerar las asignaciones de roles que se asignan directamente en un recurso, puede usar el comando Where-Object para filtrar la lista.
PS C:\> Get-AzRoleAssignment | Where-Object {$_.Scope -eq "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/storage-test-rg/providers/Microsoft.Storage/storageAccounts/storagetest0122"}
Enumeración de asignaciones de roles para administradores de servicios clásicos y coadministradores
Para enumerar las asignaciones de roles para el administrador de suscripciones clásico y los coadministradores, use Get-AzRoleAssignment.
Get-AzRoleAssignment -IncludeClassicAdministrators
Enumeración de asignaciones de roles para una identidad administrada
Obtenga el identificador de objeto de la identidad administrada asignada por el sistema o asignada por el usuario.
Para obtener el identificador de objeto de una identidad administrada asignada por el usuario, puede usar Get-AzADServicePrincipal.
Get-AzADServicePrincipal -DisplayNameBeginsWith "<name> or <vmname>"Para enumerar las asignaciones de roles, use Get-AzRoleAssignment.
Get-AzRoleAssignment -ObjectId <objectid>