Compartir a través de


Configuración del consentimiento de los usuarios a las aplicaciones

En este artículo, aprenderá a configurar las opciones de consentimiento del usuario en Microsoft Entra ID para controlar cuándo y cómo los usuarios conceden permisos a las aplicaciones. Esta guía ayuda a los administradores de TI a reducir los riesgos de seguridad al restringir o deshabilitar el consentimiento del usuario.

Para que una aplicación pueda acceder a los datos de su organización, primero un usuario debe conceder los permisos de aplicación. Existen diferentes permisos que permiten distintos niveles de acceso. De forma predeterminada, todos los usuarios pueden dar su consentimiento a las aplicaciones para los permisos que no requieren el consentimiento del administrador. Por ejemplo, de forma predeterminada, un usuario puede dar su consentimiento para permitir que una aplicación acceda a su buzón, pero no puede dar su consentimiento para que una aplicación pueda acceder sin restricciones para leer y escribir en todos los archivos de la organización.

Para reducir el riesgo de que aplicaciones malintencionadas intenten engañar a los usuarios para que les concedan acceso a los datos de la organización, se recomienda permitir el consentimiento del usuario solo para las aplicaciones publicadas por un publicador comprobado.

Nota:

Las aplicaciones que requieren que los usuarios sean asignados a la aplicación deben tener sus permisos autorizados por un administrador, incluso si las políticas de consentimiento de usuario para su directorio permitirían a un usuario dar su consentimiento por sí mismo.

Requisitos previos

Para configurar el consentimiento del usuario, necesita lo siguiente:

Puede configurar las opciones de consentimiento del usuario en Microsoft Entra ID mediante el Centro de administración de Microsoft Entra, Microsoft Graph PowerShell o Microsoft Graph API. La configuración que configure se aplica a todos los usuarios de su organización.

Para configurar las opciones de consentimiento del usuario a través del Centro de administración de Microsoft Entra:

  1. Inicie sesión en el Centro de administración de Microsoft Entra como administrador global.

  2. Vaya a Aplicaciones de identidad>Aplicaciones de empresa>Consentimiento y permisos>Configuración de consentimiento del usuario

  3. En Consentimiento del usuario para las aplicaciones, seleccione la configuración de consentimiento que desee establecer para todos los usuarios.

  4. Haga clic en Guardar para guardar la configuración.

Captura de pantalla del panel

Descripción de las directivas de concesión de permisos y autorización en Microsoft Graph PowerShell

Para configurar las opciones de consentimiento del usuario mediante programación mediante Microsoft Graph PowerShell, es importante comprender la distinción entre la directiva de autorización de todo el inquilino y las directivas de concesión de permisos individuales. El authorizationPolicy, recuperado mediante Update-MgPolicyAuthorizationPolicy rige la configuración global, como si los usuarios pueden dar su consentimiento a las aplicaciones y qué directivas de concesión de permisos se asignan al rol de usuario predeterminado. Por ejemplo, puede deshabilitar el consentimiento del usuario al mismo tiempo que permite a los desarrolladores administrar permisos para las aplicaciones que poseen asignando solo ManagePermissionGrantsForOwnedResource.DeveloperConsent en la permissionGrantPoliciesAssigned colección.

Por otro lado, el endpoint permissionGrantPolicies enumera las directivas de concesión de permisos actuales. Estas directivas determinan qué permisos se pueden conceder a las aplicaciones y en qué circunstancias. Cada directiva 'incluye' determinadas condiciones, pero 'excluye' otras. Cuando un usuario intenta dar su consentimiento a una aplicación, el sistema comprueba las directivas de concesión de permisos para ver si alguno de ellos se aplica a la solicitud del usuario. Por ejemplo, la directiva de bajo riesgo permitiría a los usuarios dar su consentimiento a esos permisos configurados como "bajo riesgo". Incluye estas directivas de bajo riesgo (como un GUID). En otro escenario, si un usuario intenta dar su consentimiento en un contexto que coincida con la directiva "AdminOnly", no podrá dar su consentimiento.

Nota:

Antes de actualizar la configuración de consentimiento con un Update-MgPolicyPermissionGrantPolicy comando, recupere siempre el actual authorizationPolicy para identificar qué directivas de concesión de permisos ya están asignadas. Esto garantiza que se conservan los permisos necesarios, como los que permiten a los desarrolladores administrar el consentimiento de las aplicaciones que poseen y evitar la eliminación involuntaria de la funcionalidad existente.

Para elegir qué directiva de consentimiento de aplicación rige el consentimiento del usuario para las aplicaciones, use el módulo de PowerShell de Microsoft Graph . Los cmdlets que se usan aquí se incluyen en el módulo Microsoft.Graph.Identity.SignIns.

Conéctese a PowerShell de Microsoft Graph con los permisos de privilegio mínimo necesarios. Para leer la configuración de consentimiento del usuario actual, use Policy.Read.All. Para leer y cambiar la configuración de consentimiento del usuario, use Policy.ReadWrite.Authorization. Tienes que iniciar sesión como Administrador de roles con privilegios.

Connect-MgGraph -Scopes "Policy.ReadWrite.Authorization"

Para deshabilitar el consentimiento del usuario, asegúrese de que las directivas de consentimiento (PermissionGrantPoliciesAssigned) incluyan otras directivas ManagePermissionGrantsForOwnedResource.* actuales, en caso de haberlas, al actualizar la colección. De este modo, puede mantener la configuración actual para las opciones de consentimiento del usuario y otras opciones de consentimiento de recursos.

# only exclude user consent policy
$body = @{
    "permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
        "managePermissionGrantsForOwnedResource.{other-current-policies}" 
    )
}
Update-MgPolicyAuthorizationPolicy -BodyParameter $body

Para permitir el consentimiento del usuario, elija la directiva de consentimiento de aplicaciones que debe controlar la autorización de los usuarios para conceder consentimiento a las aplicaciones. Asegúrese de que las directivas de consentimiento (PermissionGrantPoliciesAssigned) incluyan otras directivas ManagePermissionGrantsForOwnedResource.* actuales, en caso de haberlas, al actualizar la colección. De este modo, puede mantener la configuración actual para las opciones de consentimiento del usuario y otras opciones de consentimiento de recursos.

$body = @{
    "permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
        "managePermissionGrantsForSelf.{consent-policy-id}",
        "managePermissionGrantsForOwnedResource.{other-current-policies}"
    )
}
Update-MgPolicyAuthorizationPolicy -BodyParameter $body

Reemplace {consent-policy-id} por el id. de la directiva que le gustaría aplicar. Puede elegir una directiva de consentimiento de aplicaciones personalizada que haya creado, o bien elegir entre las siguientes directivas integradas:

identificación Descripción
microsoft-user-default-low Permitir el consentimiento del usuario para las aplicaciones de publicadores verificados para los permisos seleccionados
Permita el consentimiento limitado del usuario solo para aplicaciones de editores verificados y aplicaciones que estén registradas en el inquilino, y solo para los permisos que clasifique como de bajo impacto. (Recuerde clasificar los permisos para seleccionar aquellos a los que los usuarios pueden dar su consentimiento).
microsoft-user-default-legacy (configuración de usuario predeterminada antigua de Microsoft) Permitir el consentimiento del usuario para las aplicaciones
Esta opción permite a todos los usuarios dar su consentimiento a cualquier permiso para todas las aplicaciones, siempre que este no requiera el consentimiento del administrador.

Por ejemplo, para habilitar el consentimiento del usuario en función de la directiva integrada microsoft-user-default-low, ejecute los comandos siguientes:

$body = @{
    "permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
        "managePermissionGrantsForSelf.managePermissionGrantsForSelf.microsoft-user-default-low",
        "managePermissionGrantsForOwnedResource.{other-current-policies}"
    )
}

Descripción de las directivas de concesión de permisos y autorización en Microsoft Graph

Para configurar las opciones de consentimiento del usuario mediante programación mediante Microsoft Graph, es importante comprender la distinción entre la directiva de autorización para todo el inquilino y las directivas de concesión de permisos individuales. ( authorizationPolicy recuperado mediante GET https://graph.microsoft.com/v1.0/policies/authorizationPolicy/authorizationPolicy) rige la configuración global, como si los usuarios pueden dar su consentimiento a las aplicaciones y qué directivas de concesión de permisos se asignan al rol de usuario predeterminado. Por ejemplo, puede deshabilitar el consentimiento del usuario al mismo tiempo que permite a los desarrolladores administrar permisos para las aplicaciones que poseen asignando solo ManagePermissionGrantsForOwnedResource.DeveloperConsent en la permissionGrantPoliciesAssigned colección.

Por otro lado, el permissionGrantPolicies endpoint (GET https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies) enumera las directivas de concesión de permisos actuales. Estas directivas determinan qué permisos se pueden conceder a las aplicaciones y en qué circunstancias. Cada directiva 'incluye' determinadas condiciones, pero 'excluye' otras. Cuando un usuario intenta dar su consentimiento a una aplicación, el sistema comprueba las directivas de concesión de permisos para ver si alguno de ellos se aplica a la solicitud del usuario. Por ejemplo, la directiva de bajo riesgo permitiría a los usuarios dar su consentimiento a esos permisos configurados como "bajo riesgo". Incluye estas directivas de bajo riesgo (como un GUID). En otro escenario, si un usuario intenta dar su consentimiento en un contexto que coincida con la directiva "AdminOnly", no podrá dar su consentimiento.

Nota:

Antes de actualizar la configuración de consentimiento con una solicitud PATCH recupere siempre el authorizationPolicy actual para identificar qué directivas de concesión de permisos ya están asignadas. Esto garantiza que se conservan los permisos necesarios, como los que permiten a los desarrolladores administrar el consentimiento de las aplicaciones que poseen y evitar la eliminación involuntaria de la funcionalidad existente.

Use el Probador de Graph para elegir qué directiva de consentimiento de aplicación rige el consentimiento del usuario para las aplicaciones. Tienes que iniciar sesión como Administrador de roles con privilegios.

Para deshabilitar el consentimiento del usuario, asegúrese de que las directivas de consentimiento (PermissionGrantPoliciesAssigned) incluyan otras directivas ManagePermissionGrantsForOwnedResource.* actuales, en caso de haberlas, al actualizar la colección. De este modo, puede mantener la configuración actual para las opciones de consentimiento del usuario y otras opciones de consentimiento de recursos.

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy
{
   "defaultUserRolePermissions": {
       "permissionGrantPoliciesAssigned": [
           "managePermissionGrantsForOwnedResource.{other-current-policies}"
        ]
    }
}

Para permitir el consentimiento del usuario, elija la directiva de consentimiento de aplicaciones que debe controlar la autorización de los usuarios para conceder consentimiento a las aplicaciones. Asegúrese de que las directivas de consentimiento (PermissionGrantPoliciesAssigned) incluyan otras directivas ManagePermissionGrantsForOwnedResource.* actuales, en caso de haberlas, al actualizar la colección. De este modo, puede mantener la configuración actual para las opciones de consentimiento del usuario y otras opciones de consentimiento de recursos.

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy

{
    "defaultUserRolePermissions": {
        "managePermissionGrantsForSelf.{consent-policy-id}",
        "managePermissionGrantsForOwnedResource.{other-current-policies}"
   }
}

Reemplace {consent-policy-id} por el id. de la directiva que le gustaría aplicar. Puede elegir una directiva de consentimiento de aplicaciones personalizada que haya creado, o bien elegir entre las siguientes directivas integradas:

identificación Descripción
microsoft-user-default-low Permitir el consentimiento del usuario para las aplicaciones de publicadores verificados para los permisos seleccionados
Permita el consentimiento limitado del usuario solo para aplicaciones de editores verificados y aplicaciones que estén registradas en el inquilino, y solo para los permisos que clasifique como de bajo impacto. (Recuerde clasificar los permisos para seleccionar aquellos a los que los usuarios pueden dar su consentimiento).
microsoft-user-default-legacy (configuración de usuario predeterminada antigua de Microsoft) Permitir el consentimiento del usuario para las aplicaciones
Esta opción permite a todos los usuarios dar su consentimiento a cualquier permiso para todas las aplicaciones, siempre que este no requiera el consentimiento del administrador.

Por ejemplo, para habilitar el consentimiento del usuario sujeto a la directiva integrada microsoft-user-default-low, ejecute el siguiente comando PATCH:

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy

{
    "defaultUserRolePermissions": {
        "permissionGrantPoliciesAssigned": [
            "managePermissionGrantsForSelf.microsoft-user-default-low",
            "managePermissionGrantsForOwnedResource.{other-current-policies}"
        ]
    }
}

Las actualizaciones de la configuración de consentimiento del usuario solo afectan a las operaciones futuras de consentimiento para las aplicaciones. Las concesiones de consentimiento existentes permanecen sin cambios y los usuarios siguen teniendo acceso en función de los permisos concedidos anteriormente. Para obtener información sobre cómo revocar las concesiones de consentimiento existentes, consulte Revisión de los permisos concedidos a las aplicaciones empresariales.

Sugerencia

Para permitir que los usuarios soliciten la revisión y aprobación de un administrador de una aplicación a la que el usuario no puede dar su consentimiento, habilite el flujo de trabajo de consentimiento del administrador. Por ejemplo, puede hacerlo cuando se haya deshabilitado el consentimiento del usuario o cuando una aplicación solicite permisos que el usuario no puede conceder.

Pasos siguientes