Compartir vía


Administrar directivas de consentimiento de aplicaciones para los propietarios del grupo

Las directivas de consentimiento de aplicaciones son una manera de administrar los permisos que las aplicaciones tienen para acceder a los datos de la organización. Se usan para controlar a qué aplicaciones pueden dar su consentimiento los usuarios y asegurarse de que las aplicaciones cumplan determinados criterios antes de que puedan acceder a los datos. Estas directivas ayudan a las organizaciones a mantener el control sobre sus datos y asegurarse de que solo las aplicaciones de confianza acceden a ellos.

En este artículo, puede obtener información sobre cómo administrar las directivas de consentimiento de aplicaciones integradas y personalizadas para controlar el momento en que se puede conceder ese consentimiento del propietario del grupo.

Con Microsoft Graph y PowerShell de Microsoft Graph, puede ver y administrar directivas de consentimiento del propietario del grupo.

Una directiva de consentimiento del propietario del grupo se compone de cero o más conjuntos de condiciones de tipo "include" y cero o más conjuntos de condiciones de tipo "exclude". Para que un evento se tenga en cuenta en una directiva de consentimiento del propietario del grupo, el conjunto de condiciones de tipo "include" no debe coincidir con ningún conjunto de condiciones de tipo "exclude".

Cada conjunto de condiciones está formado por varias condiciones. Para que un evento coincida con un conjunto de condiciones, se deben cumplir todas las condiciones detalladas en el conjunto de condiciones.

Las directivas de consentimiento del propietario del grupo en las que el id. comienza por "Microsoft" son directivas integradas. Por ejemplo, la directiva de consentimiento del propietario del grupo de microsoft-pre-approval-apps-for-group describe las condiciones en las que los propietarios del grupo pueden conceder consentimiento a las aplicaciones de la lista aprobada previamente por el administrador para acceder a los datos de los grupos que poseen. Las directivas integradas se pueden usar en roles de directorio personalizados y para configurar el consentimiento del usuario, pero no se pueden editar ni eliminar.

Requisitos previos

Para administrar las directivas de consentimiento del propietario del grupo para aplicaciones con PowerShell de Microsoft Graph, conéctese a PowerShell de Microsoft Graph e inicie sesión con uno de los roles enumerados en la sección de requisitos previos. También tiene que dar su consentimiento al permiso de Policy.ReadWrite.PermissionGrant.

# change the profile to beta by using the `Select-MgProfile` command
Select-MgProfile -Name "beta"
Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant"

Obtenga información sobre cómo comprobar si la configuración de consentimiento del propietario del grupo se ha autorizado de otras maneras.

  1. Recuperar el valor actual de la configuración de consentimiento del propietario del grupo

      Get-MgPolicyAuthorizationPolicy | select -ExpandProperty DefaultUserRolePermissions | ft PermissionGrantPoliciesAssigned
    

    Si ManagePermissionGrantPoliciesForOwnedResource se devuelve en PermissionGrantPoliciesAssigned, es posible que la configuración de consentimiento del propietario del grupo se haya autorizado de otras maneras.

  2. Compruebe si la directiva tiene el ámbito de group.

       Get-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | Select -ExpandProperty AdditionalProperties
    

Si ResourceScopeType == group, la configuración de consentimiento del propietario del grupo se ha autorizado de otras maneras. Además, si se ha asignado la directiva de consentimiento de la aplicación para grupos microsoft-pre-approval-apps-for-group, significa que la característica de aprobación previa está habilitada para el inquilino.

Para empezar, familiarícese con las directivas de consentimiento del propietario del grupo existentes en su organización:

  1. Enumerar todas las directivas de consentimiento del propietario del grupo:

    Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
    
  2. Consulte los conjuntos de condiciones de tipo "include" de una directiva:

    Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
    
  3. Consulte los conjuntos de condiciones de tipo "exclude":

    Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
    

Siga estos pasos para crear una directiva de consentimiento del propietario del grupo personalizada:

  1. Cree una nueva directiva de consentimiento del propietario del grupo vacío.

    New-MgPolicyPermissionGrantPolicy `
        -Id "my-custom-app-consent-policy-for-group" `
        -DisplayName "My first custom app consent policy for group" `
        -Description "This is a sample custom app consent policy for group." `
        -AdditionalProperties @{includeAllPreApprovedApplications = $false; resourceScopeType = "group"}
    
  2. Agregue los conjuntos de condiciones de tipo "include".

    # Include delegated permissions classified "low", for apps from verified publishers
    New-MgPolicyPermissionGrantPolicyInclude `
        -PermissionGrantPolicyId "my-custom-app-consent-policy-for-group" `
        -PermissionType "delegated" `
        -PermissionClassification "low" `
        -ClientApplicationsFromVerifiedPublisherOnly
    

    Repita este paso para agregar conjuntos de condiciones de tipo "include".

  3. De forma opcional, puede agregar conjuntos de condiciones de tipo "exclude".

    # Retrieve the service principal for the Azure Management API
    $azureApi = Get-MgServicePrincipal -Filter "servicePrincipalNames/any(n:n eq 'https://management.azure.com/')"
    
    # Exclude delegated permissions for the Azure Management API
    New-MgPolicyPermissionGrantPolicyExclude `
        -PermissionGrantPolicyId "my-custom-app-consent-policy-for-group" `
        -PermissionType "delegated" `
        -ResourceApplication $azureApi.AppId
    

    Repita este paso para agregar conjuntos de condiciones de tipo "exclude".

Una vez creada la directiva de consentimiento de aplicaciones para el grupo, puede permitir el consentimiento de los propietarios del grupo que esté sujeto a esta directiva.

  1. A continuación, se muestra cómo se puede eliminar una directiva de consentimiento del propietario del grupo personalizada.

    Remove-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId "my-custom-app-consent-policy-for-group"
    

Para administrar directivas de consentimiento del propietario del grupo, inicie sesión en el Probador de Graph con uno de los roles enumerados en la sección de requisitos previos. También tiene que dar su consentimiento al permiso de Policy.ReadWrite.PermissionGrant.

Obtenga información sobre cómo comprobar si la configuración de consentimiento del propietario del grupo se ha autorizado de otras maneras.

  1. Recuperación del valor de la directiva actual

    GET /policies/authorizationPolicy
    

    Si ManagePermissionGrantPoliciesForOwnedResource aparece, es posible que la configuración de consentimiento del propietario del grupo se haya autorizado de otras maneras.

  2. Compruebe si la directiva tiene como ámbito group

    GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }
    

    Si resourceScopeType == group, la configuración de consentimiento del propietario del grupo se ha autorizado de otras maneras. Además, si se ha asignado la directiva de consentimiento de la aplicación para grupos microsoft-pre-approval-apps-for-group, significa que la característica de aprobación previa está habilitada para el inquilino.

Para empezar, familiarícese con las directivas de consentimiento del propietario del grupo existentes en su organización:

  1. Enumere todas las directivas de consentimiento de aplicaciones:

    GET /policies/permissionGrantPolicies
    
  2. Consulte los conjuntos de condiciones de tipo "include" de una directiva:

    GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/includes
    
  3. Consulte los conjuntos de condiciones de tipo "exclude":

    GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/excludes
    

Siga estos pasos para crear una directiva de consentimiento del propietario del grupo personalizada:

  1. Cree una nueva directiva de consentimiento del propietario del grupo vacío.

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies
    
    {
      "id": "my-custom-app-consent-policy-for-group",
      "displayName": "My first custom app consent policy for group",
      "description": "This is a sample custom app consent policy for group",
      "includeAllPreApprovedApplications": false,
      "resourceScopeType": "group"
    }
    
  2. Agregue los conjuntos de condiciones de tipo "include".

    Incluir permisos delegados clasificados como "bajos" para aplicaciones de publicadores comprobados

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-app-consent-policy-for-group }/includes
    
    {
      "permissionType": "delegated",
      "permissionClassification": "low",
      "clientApplicationsFromVerifiedPublisherOnly": true
    }
    

    Repita este paso para agregar conjuntos de condiciones de tipo "include".

  3. De forma opcional, puede agregar conjuntos de condiciones de tipo "exclude". Excluir permisos delegados para la API de administración de Azure (appId 00001111-aaaa-2222-bbbb-3333cccc4444)

    POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/{ my-custom-app-consent-policy-for-group }/excludes
    
    {
      "permissionType": "delegated",
      "resourceApplication": "00001111-aaaa-2222-bbbb-3333cccc4444 "
    }
    

    Repita este paso para agregar conjuntos de condiciones de tipo "exclude".

Una vez creada la directiva de consentimiento del propietario del grupo, puede permitir el consentimiento de los propietarios del grupo que esté sujeto a esta directiva.

  1. A continuación, se muestra cómo se puede eliminar una directiva de consentimiento del propietario del grupo personalizada.

    DELETE https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/ my-custom-policy
    

Advertencia

Las directivas de consentimiento del propietario del grupo eliminadas no se pueden restaurar. Si elimina accidentalmente una directiva de consentimiento del propietario del grupo personalizada, tendrá que volver a crearla.

Condiciones que se admiten

En la tabla siguiente, se proporciona la lista de condiciones admitidas para las directivas de consentimiento del propietario del grupo.

Condición Descripción
PermissionClassification La clasificación de permisos referente al permiso que se va a conceder, o bien el valor "all" para hacer que coincida con cualquier clasificación de permisos (incluidos los permisos que no están clasificados). El valor predeterminado es "todos".
PermissionType Es el tipo del permiso que se va a conceder. Use "application" para permisos de aplicaciones (por ejemplo, roles de aplicación) o "delegated" para los permisos delegados.

Nota: El valor "delegatedUserConsentable" indica los permisos delegados que el publicador de API no ha configurado para requerir el consentimiento del administrador. Este valor se puede usar en directivas de concesión de permisos integradas, pero no se puede usar en directivas de concesión de permisos personalizadas. Necesario.
ResourceApplication El valor AppId de la aplicación de recursos (por ejemplo, la API) para la que se concede un permiso, o bien "any" para que coincida con cualquier aplicación de recursos o API. El valor predeterminado es "cualquiera".
Permisos Lista de id. de permisos que deben coincidir con los permisos específicos, o una lista con el valor único "Todos" para que así los valores coincidan con cualquier permiso. El valor predeterminado es el valor único "todos".
: Los id. de permisos delegados se pueden encontrar en la propiedad OAuth2Permissions del objeto ServicePrincipal de la API.
: Los id. de permisos de aplicación se pueden encontrar en la propiedad AppRoles del objeto ServicePrincipal de la API.
ClientApplicationIds Es una lista de valores de AppId que deben coincidir con las aplicaciones cliente o una lista con el valor único "todos" para que así los valores coincidan con cualquier aplicación cliente. El valor predeterminado es el valor único "todos".
ClientApplicationTenantIds Una lista de los id. de inquilinos de Microsoft Entra ID en los que está registrada la aplicación cliente, o una lista con el valor único “todos” para que coincida con las aplicaciones cliente registradas en cualquier inquilino. El valor predeterminado es el valor único "todos".
ClientApplicationPublisherIds Es una lista de id. de Microsoft Partner Network (MPN) para publicadores comprobados de la aplicación cliente, o una lista con el valor único "todos" para que coincida con las aplicaciones cliente de cualquier publicador. El valor predeterminado es el valor único "todos".
ClientApplicationsFromVerifiedPublisherOnly Establezca este conmutador para que solo coincida con las aplicaciones cliente con publicadores comprobados. Deshabilite este conmutador (-ClientApplicationsFromVerifiedPublisherOnly:$false) para que coincida con cualquier aplicación de cliente, incluso si no tiene un publicador comprobado. El valor predeterminado es $false.

Advertencia

Las directivas de consentimiento del propietario del grupo eliminadas no se pueden restaurar. Si elimina accidentalmente una directiva de consentimiento del propietario del grupo personalizada, tendrá que volver a crearla.

Para obtener ayuda o encontrar respuestas a sus preguntas: