Concesión del consentimiento del administrador para todo el inquilino a una aplicación

En este artículo va a aprender a conceder consentimiento del administrador para todo el inquilino a una aplicación en Microsoft Entra ID. Para comprender cómo configurar opciones de consentimiento de usuario individuales, consulte Configuración del consentimiento de los usuarios finales a las aplicaciones.

Cuando concede consentimiento del administrador para todo el inquilino a una aplicación, concede acceso a la aplicación a los permisos solicitados en nombre de toda la organización. La concesión del consentimiento del administrador en nombre de una organización es una operación confidencial, lo que potencialmente permite al editor de la aplicación acceder a partes significativas de los datos de la organización o realizar operaciones con privilegios elevados. Algunos ejemplos de estas operaciones pueden ser la administración de roles, el acceso completo a todos los buzones de correo o todos los sitios y la suplantación total de los usuarios. Por tanto, antes de conceder el consentimiento, repase cuidadosamente los permisos que solicita la aplicación.

De forma predeterminada, la concesión de consentimiento del administrador para todo el inquilino a una aplicación permite a todos los usuarios acceder a la aplicación a menos que el acceso esté restringido de otro modo. Para restringir qué usuarios pueden iniciar sesión en una aplicación, configure esta de modo que requiera asignación de usuarios y luego asigne usuarios o grupos a la aplicación.

Importante

Conceder el consentimiento del administrador para todo el inquilino puede revocar los permisos que ya se han concedido en todo el inquilino para esa aplicación. Los permisos que los usuarios ya han concedido en su propio nombre no se ven afectados.

Requisitos previos

La concesión del consentimiento del administrador para todo el inquilino requiere que inicie sesión como un usuario que esté autorizado para dar su consentimiento en nombre de la organización.

Para conceder consentimiento del administrador para todo el inquilino necesita:

  • Una cuenta de usuario de Microsoft Entra con uno de los roles siguientes:

    • Administrador de roles con privilegios, para conceder consentimiento para las aplicaciones que solicitan cualquier permiso, para cualquier API.
    • Administrador de aplicaciones en la nube o Administrador de aplicaciones a fin de conceder consentimiento para las aplicaciones que soliciten cualquier permiso de cualquier API, excepto los roles de aplicación de Microsoft Graph (permisos de aplicación).
    • Rol de directorio personalizado que incluye el permiso para conceder permisos para las aplicaciones.

Puede conceder consentimiento del administrador para todo el inquilino desde el panel Aplicaciones empresariales si la aplicación ya se ha aprovisionado en el inquilino. Por ejemplo, se podría aprovisionar una aplicación en el inquilino si al menos un usuario ya ha dado su consentimiento a la aplicación. Para obtener más información, vea Cómo y por qué se agregan aplicaciones a Microsoft Entra ID.

Sugerencia

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

Para conceder consentimiento del administrador para todo el inquilino a una de las aplicaciones mostradas en el panel Aplicaciones empresariales:

  1. Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de aplicaciones en la nube.
  2. Vaya a Identidad> Aplicaciones>aplicaciones para empresas> Todas las aplicaciones.
  3. Escriba el nombre de la aplicación existente en el cuadro de búsqueda y seleccione la aplicación existente en los resultados de la búsqueda.
  4. Seleccione Permisos en Seguridad. Captura de pantalla que muestra cómo conceder consentimiento del administrador para todo el inquilino.
  5. Repase cuidadosamente los permisos que requiere la aplicación. Si está de acuerdo con los permisos que requiere la aplicación, seleccione Conceder consentimiento del administrador.

Puede conceder el consentimiento del administrador para todo el inquilino desde Registros de aplicaciones en el Centro de administración Microsoft Entra para aplicaciones que su organización ha desarrollado y registrado directamente en su inquilino de Microsoft Entra.

Para conceder el consentimiento del administrador para todo el inquilino desde Registros de aplicaciones:

  1. En el Centro de administración de Microsoft Entra, vaya aIdentidad>Aplicaciones>Registros de aplicaciones>Todas las aplicaciones.
  2. Escriba el nombre de la aplicación existente en el cuadro de búsqueda y seleccione la aplicación existente en los resultados de la búsqueda.
  3. Seleccione permisos de API en Administrar.
  4. Repase cuidadosamente los permisos que requiere la aplicación. Si está de acuerdo, seleccione Conceder consentimiento del administrador.

Al conceder el consentimiento del administrador para todo el inquilino mediante cualquiera de los métodos descritos en la sección anterior, se abre una ventana desde el Centro de administración Microsoft Entra para solicitar el consentimiento del administrador para todo el inquilino. Si conoce el identificador de cliente (también conocido como id. de la aplicación) de la aplicación, puede crear la misma dirección URL para conceder consentimiento del administrador para todo el inquilino.

La dirección URL de consentimiento del administrador para todo el inquilino tiene el formato siguiente:

https://login.microsoftonline.com/{organization}/adminconsent?client_id={client-id}

donde:

  • {client-id} es el identificador de cliente de la aplicación (también conocido como id. de la aplicación).
  • {organization} es el identificador de inquilino o cualquier nombre de dominio comprobado del inquilino en el que desea dar su consentimiento a la aplicación. Puede usar el valor organizations, que hace que el consentimiento se produzca en el inquilino principal del usuario con el que inicia sesión.

Como siempre, antes de conceder el consentimiento, revise con atención los permisos que solicita la aplicación.

Para más información sobre cómo construir la dirección URL de consentimiento del administrador para todo el inquilino, consulte Consentimiento de administrador en la Plataforma de identidad de Microsoft.

En esta sección, concederá permisos delegados a la aplicación. Los permisos delegados son permisos que la aplicación necesita para acceder a una API en nombre de un usuario que ha iniciado sesión. Los permisos se definen mediante una API de recursos y se conceden a la aplicación empresarial, que es la aplicación cliente. Este consentimiento se concede en nombre de todos los usuarios.

En el ejemplo siguiente, la API de recursos es Microsoft Graph con el id. de objeto aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb. Microsoft Graph API define los permisos delegados User.Read.All y Group.Read.All. ConsentType es AllPrincipals, lo que indica que está consintiendo en nombre de todos los usuarios del inquilino. El id. de objeto de la aplicación empresarial cliente es aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb.

Precaución

Por lo tanto, tenga cuidado. Los permisos concedidos mediante programación no están sujetos a revisión o confirmación. Surten efecto inmediatamente.

  1. Conéctese a Microsoft Graph PowerShell e inicie sesión como mínimo como Administrador de aplicaciones en la nube.

    Connect-MgGraph -Scopes "Application.ReadWrite.All", "DelegatedPermissionGrant.ReadWrite.All"
    
  2. Recupere todos los permisos delegados definidos por Microsoft Graph (la aplicación de recursos) en la aplicación del inquilino. Identifique los permisos delegados que necesita para conceder la aplicación cliente. En este ejemplo, los permisos delegados son User.Read.All y Group.Read.All.

    Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" -Property Oauth2PermissionScopes | Select -ExpandProperty Oauth2PermissionScopes | fl
    
  3. Conceda los permisos delegados a la aplicación empresarial cliente mediante la ejecución de la siguiente solicitud.

    $params = @{
    
    "ClientId" = "00001111-aaaa-2222-bbbb-3333cccc4444"
    "ConsentType" = "AllPrincipals"
    "ResourceId" = "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
    "Scope" = "User.Read.All Group.Read.All"
    }
    
    New-MgOauth2PermissionGrant -BodyParameter $params | 
    Format-List Id, ClientId, ConsentType, ResourceId, Scope
    
  4. Confirme que ha concedido el consentimiento del administrador para todo el inquilino mediante la ejecución de la siguiente solicitud.

 Get-MgOauth2PermissionGrant -Filter "clientId eq '00001111-aaaa-2222-bbbb-3333cccc4444' and consentType eq 'AllPrincipals'" 

En esta sección, concederá permisos de aplicación a la aplicación empresarial. Los permisos de aplicación son permisos que la aplicación necesita para acceder a una API de recursos. Los permisos se definen mediante la API de recursos y se conceden a la aplicación empresarial, que es la aplicación principal. Después de conceder acceso a la aplicación a la API de recursos, se ejecuta como un servicio en segundo plano o un demonio sin un usuario que haya iniciado sesión. Los permisos de aplicación también se conocen como roles de aplicación.

En el ejemplo siguiente, se concede a la aplicación Microsoft Graph (la entidad de seguridad con el id. aaaaaaaa-bbbb-cccc-1111-222222222222) un rol de aplicación (permiso de aplicación) con el id. df021288-bdef-4463-88db-98f22de89214 expuesto por una API recursos con el id. 11112222-bbbb-3333-cccc-4444dddd5555.

  1. Conéctese a Microsoft Graph PowerShell e inicie sesión como mínimo un Administrador de roles con privilegios.

    Connect-MgGraph -Scopes "Application.ReadWrite.All", "AppRoleAssignment.ReadWrite.All"
    
  2. Recupere los roles de aplicación definidos por Microsoft Graph en el inquilino. Identifique el rol de aplicación que necesita para conceder la aplicación empresarial cliente. En este ejemplo, el id. de rol de aplicación es df021288-bdef-4463-88db-98f22de89214.

    Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" -Property AppRoles | Select -ExpandProperty appRoles |fl
    
  3. Conceda el permiso de aplicación (rol de aplicación) a la aplicación principal mediante la ejecución de la siguiente solicitud.

 $params = @{
  "PrincipalId" ="aaaaaaaa-bbbb-cccc-1111-222222222222"
  "ResourceId" = "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1"
  "AppRoleId" = "df021288-bdef-4463-88db-98f22de89214"
}

New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId 'aaaaaaaa-bbbb-cccc-1111-222222222222' -BodyParameter $params | 
  Format-List Id, AppRoleId, CreatedDateTime, PrincipalDisplayName, PrincipalId, PrincipalType, ResourceDisplayName

Use el Explorador de Graph para conceder permisos delegados y de aplicación.

En esta sección, concederá permisos delegados a la aplicación. Los permisos delegados son permisos que la aplicación necesita para acceder a una API en nombre de un usuario que ha iniciado sesión. Los permisos se definen mediante una API de recursos y se conceden a la aplicación empresarial, que es la aplicación cliente. Este consentimiento se concede en nombre de todos los usuarios.

Debe iniciar sesión como mínimo un administrador de aplicaciones en la nube.

En el ejemplo siguiente, la API de recursos es Microsoft Graph con el id. de objeto aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb. Microsoft Graph API define los permisos delegados User.Read.All y Group.Read.All. ConsentType es AllPrincipals, lo que indica que está consintiendo en nombre de todos los usuarios del inquilino. El id. de objeto de la aplicación empresarial cliente es aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb.

Precaución

Por lo tanto, tenga cuidado. Los permisos concedidos mediante programación no están sujetos a revisión o confirmación. Surten efecto inmediatamente.

  1. Recupere todos los permisos delegados definidos por Microsoft Graph (la aplicación de recursos) en la aplicación del inquilino. Identifique los permisos delegados que necesita para conceder la aplicación cliente. En este ejemplo, los permisos delegados son User.Read.All y Group.Read.All.

    GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq 'Microsoft Graph'&$select=id,displayName,appId,oauth2PermissionScopes
    
  2. Conceda los permisos delegados a la aplicación empresarial cliente mediante la ejecución de la siguiente solicitud.

    POST https://graph.microsoft.com/v1.0/oauth2PermissionGrants
    
    Request body
    {
       "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
       "consentType": "AllPrincipals",
       "resourceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
       "scope": "User.Read.All Group.Read.All"
    }
    
  3. Confirme que ha concedido el consentimiento del administrador para todo el inquilino mediante la ejecución de la siguiente solicitud.

    GET https://graph.microsoft.com/v1.0/oauth2PermissionGrants?$filter=clientId eq '00001111-aaaa-2222-bbbb-3333cccc4444' and consentType eq 'AllPrincipals'
    

En esta sección, concederá permisos de aplicación a la aplicación empresarial. Los permisos de aplicación son permisos que la aplicación necesita para acceder a una API de recursos. Los permisos se definen mediante la API de recursos y se conceden a la aplicación empresarial, que es la aplicación principal. Después de conceder acceso a la aplicación a la API de recursos, se ejecuta como un servicio en segundo plano o un demonio sin un usuario que haya iniciado sesión. Los permisos de aplicación también se conocen como roles de aplicación.

En el ejemplo siguiente, se concede a la aplicación Microsoft Graph (la entidad de seguridad con el id. 00001111-aaaa-2222-bbbb-3333cccc4444) un rol de aplicación (permiso de aplicación) con el id. df021288-bdef-4463-88db-98f22de89214 expuesto por una aplicación empresarial de recursos con el id. 11112222-bbbb-3333-cccc-4444dddd5555.

Debe firmar como mínimo un Administrador de roles con privilegios.

  1. Recupere los roles de aplicación definidos por Microsoft Graph en el inquilino. Identifique el rol de aplicación que necesita para conceder la aplicación empresarial cliente. En este ejemplo, el id. de rol de aplicación es df021288-bdef-4463-88db-98f22de89214.

    GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=displayName eq 'Microsoft Graph'&$select=id,displayName,appId,appRoles
    
  2. Conceda el permiso de aplicación (rol de aplicación) a la aplicación principal mediante la ejecución de la siguiente solicitud.

    POST https://graph.microsoft.com/v1.0/servicePrincipals/11112222-bbbb-3333-cccc-4444dddd5555/appRoleAssignedTo
    
    Request body
    
    {
       "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
       "resourceId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1",
       "appRoleId": "df021288-bdef-4463-88db-98f22de89214"
    }
    

Pasos siguientes