Creación de roles personalizados para administrar aplicaciones empresariales en Microsoft Entra ID

En este artículo se explica cómo crear un rol personalizado con permisos para administrar asignaciones de aplicaciones empresariales para usuarios y grupos en Microsoft Entra ID. Para ver los elementos de las asignaciones de roles y el significado de términos tales como subtipo, permiso y conjunto de propiedades, consulte la información general sobre roles personalizados.

Requisitos previos

  • Una licencia de Microsoft Entra ID P1 o P2
  • Administrador global o administrador de roles con privilegios
  • Módulo Microsoft Graph PowerShell SDK instalado al utilizar PowerShell
  • Consentimiento del administrador al usar Probador de Graph para Microsoft Graph API

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

Permisos de rol de aplicación empresarial

En este artículo se describen dos permisos de aplicación empresarial. En todos los ejemplos se usa el permiso de actualización.

  • Para leer las asignaciones de usuarios y grupos en el ámbito, conceda el permiso microsoft.directory/servicePrincipals/appRoleAssignedTo/read
  • Para administrar las asignaciones de usuarios y grupos en el ámbito, conceda el permiso microsoft.directory/servicePrincipals/appRoleAssignedTo/update

Al conceder el permiso de actualización, el usuario asignado puede administrar asignaciones de usuarios y grupos en aplicaciones empresariales. El ámbito de las asignaciones de usuarios y grupos se puede conceder para una sola aplicación o para todas las aplicaciones. Si se concede en el nivel de toda la organización, el usuario asignado puede administrar asignaciones en todas las aplicaciones. Si se realiza en un nivel de aplicación, el usuario asignado solo puede administrar asignaciones en la aplicación especificada.

La concesión del permiso de actualización se realiza en dos pasos:

  1. Creación de un rol personalizado con permiso microsoft.directory/servicePrincipals/appRoleAssignedTo/update
  2. Conceda permisos a usuarios o grupos para administrar asignaciones de usuarios y grupos en las aplicaciones empresariales. En ese caso, se puede establecer el ámbito en el nivel de toda la organización o en una sola aplicación.

Centro de administración de Microsoft Entra

Creación de un rol personalizado

Sugerencia

Los pasos de este artículo podrían variar ligeramente en función del portal desde donde comienza.

Nota:

Los roles personalizados se crean y administran en el nivel de toda la organización y solo están disponibles en la página de información general de la organización.

  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.

  3. Seleccione Nuevo rol personalizado.

    Add a new custom role from the roles list in Microsoft Entra ID

  4. En la pestaña Aspectos básicos, escriba "Administrar asignaciones de usuario y de grupo" como nombre del rol y "Conceder permisos para administrar asignaciones de usuarios y grupos" como descripción del rol y, luego, seleccione Siguiente.

    Provide a name and description for the custom role

  5. En la pestaña Permisos, escriba "microsoft.directory/servicePrincipals/appRoleAssignedTo/update" en el cuadro de búsqueda, active las casillas situadas junto a los permisos deseados y, por último, seleccione Siguiente.

    Add the permissions to the custom role

  6. En la pestaña Revisar y crear, revise los detalles y seleccione Crear.

    Now you can create the custom role

Asignación del rol a un usuario mediante el 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>Roles y administradores.

  3. Seleccione el rol Administrar asignaciones de usuarios y grupos.

    Open Roles and Administrators and search for the custom role

  4. Seleccione Agregar asignación, seleccione el usuario que quiera y haga clic en Seleccionar para agregar la asignación de rol al usuario.

    Add an assignment for the custom role to the user

Sugerencias de asignación

  • Para conceder permisos a los usuarios asignados para administrar el acceso de usuarios y grupos en todas las aplicaciones empresariales de toda la organización, empiece por la lista Roles y administradores de toda la organización en la página Información general de Microsoft Entra ID de su organización.

  • Para conceder permisos a los usuarios asignados para administrar el acceso de usuarios y grupos en una aplicación empresarial específica, vaya a esa aplicación en Microsoft Entra ID y abra la lista Roles y administradores de esa aplicación. Seleccione el nuevo rol personalizado y complete la asignación de usuario o grupo. Los usuarios asignados solo pueden administrar el acceso de usuarios y grupos en la aplicación específica.

  • Para probar la asignación de roles personalizados, inicie sesión como usuario asignado y abra la página Usuarios y grupos de la aplicación para comprobar que la opción Agregar usuario está habilitada.

    Verify the user permissions

PowerShell

Para más información, consulte Creación y asignación de un rol personalizado en Microsoft Entra ID y Asignación de roles personalizados con ámbito de recurso mediante PowerShell.

Crear un rol personalizado

Cree un nuevo rol mediante el siguiente script de PowerShell:

# Basic role information
$description = "Can manage user and group assignments for Applications"
$displayName = "Manage user and group assignments"
$templateId = (New-Guid).Guid

# Set of permissions to grant
$allowedResourceAction = @("microsoft.directory/servicePrincipals/appRoleAssignedTo/update")
$rolePermission = @{'allowedResourceActions'= $allowedResourceAction}
$rolePermissions = $rolePermission

# Create new custom admin role
$customRole = New-MgRoleManagementDirectoryRoleDefinition -Description $description `
   -DisplayName $displayName -RolePermissions $rolePermissions -TemplateId $templateId -IsEnabled

Asignación del rol personalizado

Asigne el rol mediante el siguiente script de PowerShell.

# Get the user and role definition you want to link
$user =  Get-MgUser -Filter "userPrincipalName eq 'chandra@example.com'"
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "displayName eq 'Manage user and group assignments'"

# Get app registration and construct scope for assignment.
$appRegistration = Get-MgApplication -Filter "displayName eq 'My Filter Photos'"
$directoryScope = '/' + $appRegistration.Id

# Create a scoped role assignment
$roleAssignment = New-MgRoleManagementDirectoryRoleAssignment -DirectoryScopeId $directoryScope `
   -PrincipalId $user.Id -RoleDefinitionId $roleDefinition.Id

Microsoft Graph API

Use la Create unifiedRoleDefinition API para crear un rol personalizado. Para más información, consulte Creación y asignación de un rol personalizado en Microsoft Entra ID y Asignación de roles de administrador personalizados mediante Microsoft Graph API.

POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions

{
    "description": "Can manage user and group assignments for Applications.",
    "displayName": "Manage user and group assignments",
    "isEnabled": true,
    "rolePermissions":
    [
        {
            "allowedResourceActions":
            [
                "microsoft.directory/servicePrincipals/appRoleAssignedTo/update"
            ]
        }
    ],
    "templateId": "<PROVIDE NEW GUID HERE>",
    "version": "1"
}

Asignación del rol personalizado mediante Microsoft Graph API

Use la Create unifiedRoleAssignment API para asignar el rol personalizado. La asignación de roles combina un identificador de entidad de seguridad (que puede ser un usuario o una entidad de servicio), un identificador de definición de rol y un ámbito de recurso de Microsoft Entra. Para más información sobre los elementos de una asignación de roles, consulte la información general sobre roles personalizados.

POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments

{
    "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
    "principalId": "<PROVIDE OBJECTID OF USER TO ASSIGN HERE>",
    "roleDefinitionId": "<PROVIDE OBJECTID OF ROLE DEFINITION HERE>",
    "directoryScopeId": "/"
}

Pasos siguientes