Partilhar via


Gerenciar políticas de consentimento de aplicativos para proprietários de grupos

As políticas de consentimento de aplicativos são uma maneira de gerenciar as permissões que os aplicativos têm para acessar dados em sua organização. Eles são usados para controlar quais aplicativos os usuários podem consentir e para garantir que os aplicativos atendam a determinados critérios antes de poderem acessar dados. Essas políticas ajudam as organizações a manter o controle sobre seus dados e garantir que eles estejam sendo acessados apenas por aplicativos confiáveis.

Neste artigo, você aprenderá a gerenciar políticas de consentimento de aplicativo internas e personalizadas para controlar quando o consentimento do proprietário do grupo pode ser concedido.

Com o Microsoft Graph e o Microsoft Graph PowerShell, você pode exibir e gerenciar políticas de consentimento do proprietário do grupo.

Uma política de consentimento do proprietário do grupo consiste em zero ou mais conjuntos de condições de "inclusão" e zero ou mais conjuntos de condições de "exclusão". Para que um evento seja considerado em uma política de consentimento do proprietário do grupo, o conjunto de condições "incluir" não deve corresponder a nenhum conjunto de condições de "excluir".

Cada conjunto de condições consiste em várias condições. Para que um evento corresponda a um conjunto de condições, todas as condições no conjunto de condições devem ser atendidas.

As políticas de consentimento do proprietário do grupo em que a ID começa com "microsoft-" são políticas internas. Por exemplo, a política de consentimento do microsoft-pre-approval-apps-for-group proprietário do grupo descreve as condições sob as quais os proprietários do grupo têm permissão para conceder consentimento a aplicativos da lista pré-aprovada pelo administrador para acessar dados dos grupos de sua propriedade. As políticas internas podem ser usadas em funções de diretório personalizadas e para definir configurações de consentimento do usuário, mas não podem ser editadas ou excluídas.

Pré-requisitos

Para gerenciar políticas de consentimento de proprietário de grupo para aplicativos com o Microsoft Graph PowerShell, conecte-se ao Microsoft Graph PowerShell e entre com uma das funções listadas na seção de pré-requisitos. Você também precisa consentir com a Policy.ReadWrite.PermissionGrant permissão.

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

Saiba como verificar se a configuração de consentimento do proprietário do grupo foi autorizada de outras maneiras.

  1. Recuperar o valor atual da configuração de consentimento do proprietário do grupo

      Get-MgPolicyAuthorizationPolicy | select -ExpandProperty DefaultUserRolePermissions | ft PermissionGrantPoliciesAssigned
    

    Se ManagePermissionGrantPoliciesForOwnedResource for retornada no PermissionGrantPoliciesAssigned, a configuração de consentimento do proprietário do grupo pode ter sido autorizada de outras maneiras.

  2. Verifique se o escopo da política é definido como group.

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

Se ResourceScopeType == groupa configuração de consentimento do proprietário do grupo tiver sido autorizada de outras maneiras. Além disso, se a política de consentimento do aplicativo para grupos tiver sido atribuída microsoft-pre-approval-apps-for-group, isso significa que o recurso de pré-aprovação está habilitado para seu locatário.

É uma boa ideia começar por se familiarizar com as políticas de consentimento do proprietário do grupo existentes na sua organização:

  1. Liste todas as políticas de consentimento do proprietário do grupo:

    Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
    
  2. Veja os conjuntos de condições "incluir" de uma política:

    Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | fl
    
  3. Veja os conjuntos de condições "excluir":

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

Siga estas etapas para criar uma política de consentimento personalizada do proprietário do grupo:

  1. Crie uma nova política de consentimento de proprietário de grupo vazia.

    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. Adicione conjuntos de condições "incluir".

    # 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 esta etapa para adicionar mais conjuntos de condições "incluir".

  3. Opcionalmente, adicione conjuntos de condições "excluir".

    # 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 esta etapa para adicionar mais conjuntos de condições de "exclusão".

Depois que a política de consentimento do aplicativo para o grupo tiver sido criada, você poderá permitir o consentimento dos proprietários do grupo sujeito a essa política.

  1. Veja a seguir como você pode excluir uma política de consentimento personalizada do proprietário do grupo.

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

Para gerenciar as políticas de consentimento do proprietário do grupo, entre no Graph Explorer com uma das funções listadas na seção de pré-requisitos. Você também precisa consentir com a Policy.ReadWrite.PermissionGrant permissão.

Saiba como verificar se a configuração de consentimento do proprietário do grupo foi autorizada de outras maneiras.

  1. Recuperar o valor da política atual

    GET /policies/authorizationPolicy
    

    Se ManagePermissionGrantPoliciesForOwnedResource for exibida, a configuração de consentimento do proprietário do grupo pode ter sido autorizada de outras maneiras.

  2. Verifique se o escopo da política é definido para group

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

    Se resourceScopeType == groupa configuração de consentimento do proprietário do grupo tiver sido autorizada de outras maneiras. Além disso, se a política de consentimento do aplicativo para grupos tiver sido atribuída microsoft-pre-approval-apps-for-group, isso significa que o recurso de pré-aprovação está habilitado para seu locatário.

É uma boa ideia começar por se familiarizar com as políticas de consentimento do proprietário do grupo existentes na sua organização:

  1. Liste todas as políticas de consentimento do aplicativo:

    GET /policies/permissionGrantPolicies
    
  2. Veja os conjuntos de condições "incluir" de uma política:

    GET /policies/permissionGrantPolicies/{ microsoft-all-application-permissions-for-group }/includes
    
  3. Veja os conjuntos de condições "excluir":

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

Siga estas etapas para criar uma política de consentimento personalizada do proprietário do grupo:

  1. Crie uma nova política de consentimento de proprietário de grupo vazia.

    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. Adicione conjuntos de condições "incluir".

    Incluir permissões delegadas classificadas como "baixas" para aplicativos de editores verificados

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

    Repita esta etapa para adicionar mais conjuntos de condições "incluir".

  3. Opcionalmente, adicione conjuntos de condições "excluir". Excluir permissões delegadas para a API de Gerenciamento do Azure (appId 00001111-aaaa-2222-bbbb-3333cccccc4444)

    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 esta etapa para adicionar mais conjuntos de condições de "exclusão".

Depois que a política de consentimento do proprietário do grupo tiver sido criada, você poderá permitir o consentimento dos proprietários do grupo sujeito a essa política.

  1. Veja a seguir como você pode excluir uma política de consentimento personalizada do proprietário do grupo.

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

Aviso

As políticas de consentimento do proprietário do grupo excluídas não podem ser restauradas. Se você excluir acidentalmente uma política de consentimento personalizada do proprietário do grupo, será necessário recriar a política.

Condições suportadas

A tabela a seguir fornece a lista de condições suportadas para políticas de consentimento do proprietário do grupo.

Condição Description
PermissionClassification A classificação de permissão para a permissão que está sendo concedida, ou "todas" para corresponder a qualquer classificação de permissão (incluindo permissões que não são classificadas). O padrão é "todos".
PermissionType O tipo de permissão da permissão que está sendo concedida. Use "aplicativo" para permissões de aplicativo (por exemplo, funções de aplicativo) ou "delegado" para permissões delegadas.

Nota: O valor "delegatedUserConsentable" indica permissões delegadas que não foram configuradas pelo editor da API para exigir o consentimento do administrador. Esse valor pode ser usado em políticas internas de concessão de permissão, mas não pode ser usado em políticas de concessão de permissão personalizadas. Obrigatório.
ResourceApplication O AppId do aplicativo de recurso (por exemplo, a API) para o qual uma permissão está sendo concedida, ou "qualquer" para corresponder a qualquer aplicativo de recurso ou API. O padrão é "qualquer".
Permissões A lista de IDs de permissão para as permissões específicas a serem correspondidas ou uma lista com o único valor "all" para corresponder a qualquer permissão. O padrão é o valor único "all".
- IDs de permissão delegada podem ser encontradas na propriedade OAuth2Permissions do objeto ServicePrincipal da API.
- Os IDs de permissão do aplicativo podem ser encontrados na propriedade AppRoles do objeto ServicePrincipal da API.
ClientApplicationIds Uma lista de valores AppId para os aplicativos cliente corresponderem, ou uma lista com o único valor "all" para corresponder a qualquer aplicativo cliente. O padrão é o valor único "all".
ClientApplicationTenantIds Uma lista de IDs de locatário do Microsoft Entra na qual o aplicativo cliente está registrado ou uma lista com o valor único "todos" para corresponder aos aplicativos cliente registrados em qualquer locatário. O padrão é o valor único "all".
ClientApplicationPublisherIds Uma lista de IDs do Microsoft Partner Network (MPN) para editores verificados do aplicativo cliente ou uma lista com o valor único "todos" para corresponder com aplicativos cliente de qualquer editor. O padrão é o valor único "all".
ClientApplicationsFromVerifiedPublisherOnly Defina essa opção para corresponder apenas em aplicativos cliente com editores verificados. Desative essa opção (-ClientApplicationsFromVerifiedPublisherOnly:$false) para corresponder em qualquer aplicativo cliente, mesmo que ele não tenha um editor verificado. A predefinição é $false.

Aviso

As políticas de consentimento do proprietário do grupo excluídas não podem ser restauradas. Se você excluir acidentalmente uma política de consentimento personalizada do proprietário do grupo, será necessário recriar a política.

Para obter ajuda ou encontrar respostas às suas perguntas: