Asignación de roles de Microsoft Entra en diferentes ámbitos

En Microsoft Entra ID, normalmente se asignan roles de Microsoft Entra para que se apliquen a todo el inquilino. Sin embargo, también puede asignar roles de Microsoft Entra para diferentes recursos, como unidades administrativas o registros de aplicaciones. Por ejemplo, podría asignar el rol Administrador del departamento de soporte técnico para que solo se aplique a una unidad administrativa determinada y no a todo el inquilino. Los recursos a los que se aplica una asignación de funciones también se denominan ámbito. En este artículo se describe cómo asignar roles de Microsoft Entra en los ámbitos de inquilino, unidad administrativa y registro de aplicaciones. Para obtener más información sobre el ámbito, consulte Información general sobre el control de acceso basado en rol (RBAC) en Microsoft Entra ID.

Requisitos previos

  • Administrador global o administrador de roles con privilegios
  • Microsoft Graph PowerShell SDK instalado al utilizar PowerShell.
  • Consentimiento del administrador al usar Graph Explorer para Microsoft Graph API.

Para más información, consulte Requisitos previos para usar PowerShell o Probador de Graph.

Asignación de roles con ámbito en el inquilino

En esta sección se describe cómo asignar roles en el ámbito del inquilino.

Centro de administración de Microsoft Entra

Sugerencia

Los pasos de este artículo pueden variar ligeramente en función del portal desde donde comienzas.

  1. Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de roles con privilegios.

  2. Vaya a Identidad>Roles y administradores>Roles y administradores.

    Roles and administrators page in Microsoft Entra ID.

  3. Seleccione un rol para ver sus asignaciones. Para ayudarle a encontrar el rol que necesita, use Agregar filtros para filtrar los roles.

  4. Seleccione Agregar asignaciones y, a continuación, seleccione los usuarios que desea asignar a este rol.

    Add assignments pane for selected role.

  5. Seleccione Agregar para asignar el rol.

PowerShell

Siga estos pasos para asignar roles de Microsoft Entra mediante PowerShell.

  1. Abra una ventana de PowerShell. Si es necesario, use Install-Module para instalar Microsoft Graph PowerShell. Para más información, consulte Requisitos previos para usar PowerShell o Probador de Graph.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  2. En una ventana de PowerShell, use Connect-MgGraph para iniciar sesión en el inquilino.

    Connect-MgGraph -Scopes "RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
    
  3. Use Get-MgUser para obtener el usuario.

    $user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
    
  4. Use Get-MgRoleManagementDirectoryRoleDefinition para obtener el rol que quiera asignar.

    $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "displayName eq 'Billing Administrator'"
    
  5. Establezca el inquilino como ámbito de la asignación de roles.

    $directoryScope = '/'
    
  6. Use New-MgRoleManagementDirectoryRoleAssignment para asignar el rol.

    $roleAssignment = New-MgRoleManagementDirectoryRoleAssignment `
       -DirectoryScopeId $directoryScope -PrincipalId $user.Id `
       -RoleDefinitionId $roleDefinition.Id
    

Microsoft Graph API

Siga estas instrucciones para asignar un rol mediante la API de Microsoft Graph en Probador de Graph.

  1. Inicie sesión en Graph Explorer.

  2. Use List users API para obtener el usuario.

    GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName eq 'alice@contoso.com'
    
  3. Use List unifiedRoleDefinitions API para obtener el rol que desee asignar.

    GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'Billing Administrator'
    
  4. Use Create unifiedRoleAssignment API para asignar roles.

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "principalId": "<provide objectId of the user obtained above>",
        "roleDefinitionId": "<provide templateId of the role obtained above>",
        "directoryScopeId": "/"
    }
    

Asignación de roles con ámbito en una unidad administrativa

En esta sección se describe cómo asignar roles en un ámbito de unidad administrativa.

Centro de administración de Microsoft Entra

  1. Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de roles con privilegios.

  2. Vaya a Identidad>Roles y administradores>Unidades administrativas.

  3. Seleccione una unidad administrativa.

    Administrative Units in Microsoft Entra ID.

  4. Seleccione Roles y administradores en el menú de navegación izquierdo para ver la lista de todos los roles disponibles para asignarse mediante una unidad administrativa.

    Roles and administrators menu under administrative Units in Microsoft Entra ID.

  5. Seleccione el rol que quiera.

  6. Seleccione Agregar asignaciones y, después, seleccione los usuarios o el grupo a los que quiera asignar a este rol.

  7. Seleccione Agregar para asignar el rol con ámbito en la unidad administrativa.

Nota:

Aquí no verá la lista completa de roles integrados o personalizados de Microsoft Entra. Se espera que esto sea así. Se muestran los roles que tienen permisos relacionados con los objetos que se admiten en la unidad administrativa. Para ver la lista de objetos admitidos en una unidad administrativa, consulte Unidades administrativas en El identificador de Microsoft Entra.

PowerShell

Siga estos pasos para asignar roles de Microsoft Entra en el ámbito de la unidad administrativa mediante PowerShell.

  1. Abra una ventana de PowerShell. Si es necesario, use Install-Module para instalar Microsoft Graph PowerShell. Para más información, consulte Requisitos previos para usar PowerShell o Probador de Graph.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  2. En una ventana de PowerShell, use Connect-MgGraph para iniciar sesión en el inquilino.

    Connect-MgGraph -Scopes "Directory.Read.All","RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
    
  3. Use Get-MgUser para obtener el usuario.

    $user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
    
  4. Use Get-MgRoleManagementDirectoryRoleDefinition para obtener el rol que quiera asignar.

    $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition `
       -Filter "displayName eq 'User Administrator'"
    
  5. Use Get-MgDirectoryAdministrativeUnit para obtener la unidad administrativa en la que quiera definir el ámbito de la asignación de roles.

    $adminUnit = Get-MgDirectoryAdministrativeUnit -Filter "displayName eq 'Seattle Admin Unit'"
    $directoryScope = '/administrativeUnits/' + $adminUnit.Id
    
  6. Use New-MgRoleManagementDirectoryRoleAssignment para asignar el rol.

    $roleAssignment = New-MgRoleManagementDirectoryRoleAssignment `
       -DirectoryScopeId $directoryScope -PrincipalId $user.Id `
       -RoleDefinitionId $roleDefinition.Id
    

Microsoft Graph API

Siga estas instrucciones para asignar un rol en el ámbito de la unidad administrativa mediante la API de Microsoft Graph en Probador de Graph.

  1. Inicie sesión en Graph Explorer.

  2. Use List users API para obtener el usuario.

    GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName eq 'alice@contoso.com'
    
  3. Use List unifiedRoleDefinitions API para obtener el rol que desee asignar.

    GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'User Administrator'
    
  4. Use la API Mostrar administrativeUnits para obtener la unidad administrativa en la que quiera que se defina el ámbito de la asignación de roles.

    GET https://graph.microsoft.com/v1.0/directory/administrativeUnits?$filter=displayName eq 'Seattle Admin Unit'
    
  5. Use Create unifiedRoleAssignment API para asignar roles.

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "principalId": "<provide objectId of the user obtained above>",
        "roleDefinitionId": "<provide templateId of the role obtained above>",
        "directoryScopeId": "/administrativeUnits/<provide objectId of the admin unit obtained above>"
    }
    

Nota:

Aquí, directoryScopeId se especifica como /administrativeUnits/foo en lugar de /foo. Esto es así de forma predeterminada. El ámbito /administrativeUnits/foo\ significa que la entidad de seguridad puede administrar los miembros de la unidad administrativa (en función del rol asignado), no la propia unidad administrativa. El ámbito de /foo significa que la entidad de seguridad puede administrar ese mismo objeto de Microsoft Entra. En la sección siguiente, verá que el ámbito es /foo, ya que un rol con ámbito en un registro de aplicación concede el privilegio para administrar el propio objeto.

Asignación de roles con ámbito en un registro de aplicación

En esta sección se describe cómo asignar roles en un ámbito de registro de aplicación.

Centro de administración de Microsoft Entra

  1. Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de roles con privilegios.

  2. Vaya a Identidad>Aplicaciones> Registro de aplicaciones.

  3. Seleccione una aplicación. Puede utilizar el cuadro de búsqueda para encontrar la aplicación que quiera.

    App registrations in Microsoft Entra ID.

  4. Seleccione Roles y administradores en el menú de navegación izquierdo para ver la lista de todos los roles disponibles para asignarse mediante el registro de aplicaciones.

    Roles for an app registrations in Microsoft Entra ID.

  5. Seleccione el rol que quiera.

  6. Seleccione Agregar asignaciones y, después, seleccione los usuarios o el grupo a los que quiera asignar a este rol.

    Add role assignment scoped to an app registrations in Microsoft Entra ID.

  7. Seleccione Agregar para asignar el rol con ámbito en el registro de aplicaciones.

    Successfully added role assignment scoped to an app registrations in Microsoft Entra ID.

    Role assigned to the user scoped to an app registrations in Microsoft Entra ID.

Nota:

Aquí no verá la lista completa de roles integrados o personalizados de Microsoft Entra. Se espera que esto sea así. Se muestran los roles que tienen permisos relacionados con la administración solo de registros de aplicaciones.

PowerShell

Siga estos pasos para asignar roles de Microsoft Entra en el ámbito de la aplicación mediante PowerShell.

  1. Abra una ventana de PowerShell. Si es necesario, use Install-Module para instalar Microsoft Graph PowerShell. Para más información, consulte Requisitos previos para usar PowerShell o Probador de Graph.

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  2. En una ventana de PowerShell, use Connect-MgGraph para iniciar sesión en el inquilino.

    Connect-MgGraph -Scopes "Application.Read.All","RoleManagement.Read.Directory","User.Read.All","RoleManagement.ReadWrite.Directory"
    
  3. Use Get-MgUser para obtener el usuario.

    $user = Get-MgUser -Filter "userPrincipalName eq 'alice@contoso.com'"
    
  4. Use Get-MgRoleManagementDirectoryRoleDefinition para obtener el rol que quiera asignar.

    $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition `
       -Filter "displayName eq 'Application Administrator'"
    
  5. Use Get-MgApplication para obtener el registro de aplicaciones en el que quiera definir el ámbito de la asignación de roles.

    $appRegistration = Get-MgApplication -Filter "displayName eq 'f/128 Filter Photos'"
    $directoryScope = '/' + $appRegistration.Id
    
  6. Use New-MgRoleManagementDirectoryRoleAssignment para asignar el rol.

    $roleAssignment = New-MgRoleManagementDirectoryRoleAssignment `
       -DirectoryScopeId $directoryScope -PrincipalId $user.Id `
       -RoleDefinitionId $roleDefinition.Id 
    

Microsoft Graph API

Siga estas instrucciones para asignar un rol en el ámbito de una aplicación mediante la API de Microsoft Graph en Probador de Graph.

  1. Inicie sesión en Graph Explorer.

  2. Use List users API para obtener el usuario.

    GET https://graph.microsoft.com/v1.0/users?$filter=userPrincipalName eq 'alice@contoso.com'
    
  3. Use List unifiedRoleDefinitions API para obtener el rol que desee asignar.

    GET https://graph.microsoft.com/v1.0/rolemanagement/directory/roleDefinitions?$filter=displayName eq 'Application Administrator'
    
  4. Use la API Mostrar aplicaciones para obtener la unidad administrativa en la que quiera que se defina el ámbito de la asignación de roles.

    GET https://graph.microsoft.com/v1.0/applications?$filter=displayName eq 'f/128 Filter Photos'
    
  5. Use Create unifiedRoleAssignment API para asignar roles.

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "principalId": "<provide objectId of the user obtained above>",
        "roleDefinitionId": "<provide templateId of the role obtained above>",
        "directoryScopeId": "/<provide objectId of the app registration obtained above>"
    }
    

Nota:

Aquí, directoryScopeId se especifica como /foo, a diferencia de la sección anterior. Esto es así de forma predeterminada. El ámbito de /foo significa que la entidad de seguridad puede administrar ese objeto de Microsoft Entra. El ámbito /administrativeUnits/foo\ significa que la entidad de seguridad puede administrar los miembros de la unidad administrativa (en función del rol asignado), no la propia unidad administrativa.

Pasos siguientes