Gerir as políticas de consentimento da aplicação
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 garantem que elas concedam acesso apenas a aplicativos confiáveis.
Neste artigo, você aprenderá a gerenciar políticas de consentimento de aplicativo internas e personalizadas para controlar quando o consentimento pode ser concedido.
Com o Microsoft Graph e o Microsoft Graph PowerShell, você pode exibir e gerenciar políticas de consentimento de aplicativos.
Uma política de consentimento de aplicativo consiste em um 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 de aplicativo, ele deve corresponder a pelo menos um conjunto de condições "incluir" e 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 de aplicativos em que a ID começa com "microsoft-" são políticas internas. Algumas dessas políticas internas são usadas em funções de diretório internas existentes. Por exemplo, a política de consentimento do microsoft-application-admin
aplicativo descreve as condições sob as quais as funções de Administrador de Aplicativo e Administrador de Aplicativo na Nuvem têm permissão para conceder consentimento de administrador em todo o locatário. 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
- Um usuário ou serviço com uma das seguintes funções:
- Função privilegiada Função de diretório de administrador
- Uma função de diretório personalizada com as permissões necessárias para gerenciar políticas de consentimento do aplicativo
- A função do aplicativo Microsoft Graph (permissão de aplicativo)
Policy.ReadWrite.PermissionGrant
ao se conectar como um aplicativo ou um serviço
Para gerenciar políticas de consentimento de aplicativos para aplicativos com o Microsoft Graph PowerShell, conecte-se ao Microsoft Graph PowerShell.
Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant"
Listar políticas de consentimento de aplicativos existentes
É uma boa ideia começar por se familiarizar com as políticas de consentimento de aplicações existentes na sua organização:
Liste todas as políticas de consentimento do aplicativo:
Get-MgPolicyPermissionGrantPolicy | ft Id, DisplayName, Description
Veja os conjuntos de condições "incluir" de uma política:
Get-MgPolicyPermissionGrantPolicyInclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
Veja os conjuntos de condições "excluir":
Get-MgPolicyPermissionGrantPolicyExclude -PermissionGrantPolicyId "microsoft-application-admin" | fl
Criar uma política de consentimento de aplicativo personalizada usando o PowerShell
Siga estas etapas para criar uma política de consentimento de aplicativo personalizada:
Crie uma nova política de consentimento de aplicativo vazio.
New-MgPolicyPermissionGrantPolicy ` -Id "my-custom-policy" ` -DisplayName "My first custom consent policy" ` -Description "This is a sample custom app consent policy."
Adicione conjuntos de condições "incluir".
# Include delegated permissions classified "low", for apps from verified publishers New-MgPolicyPermissionGrantPolicyInclude ` -PermissionGrantPolicyId "my-custom-policy" ` -PermissionType "delegated" ` -PermissionClassification "low" ` -ClientApplicationsFromVerifiedPublisherOnly
Repita esta etapa para adicionar mais conjuntos de condições "incluir".
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-policy" ` -PermissionType "delegated" ` -ResourceApplication $azureApi.AppId
Repita esta etapa para adicionar mais conjuntos de condições de "exclusão".
Depois de criar a política de consentimento do aplicativo, você precisa atribuí-la a uma função personalizada no Microsoft Entra ID. Em seguida, você precisa atribuir usuários a essa função personalizada, que é anexada à política de consentimento do aplicativo que você criou. Para obter mais informações sobre como atribuir a política de consentimento do aplicativo a uma função personalizada, consulte Permissões de consentimento do aplicativo para funções personalizadas.
Excluir uma política de consentimento de aplicativo personalizada usando o PowerShell
O cmdlet a seguir mostra como você pode excluir uma política de consentimento de aplicativo personalizada.
Remove-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId "my-custom-policy"
Para gerenciar as políticas de consentimento do aplicativo, entre no Graph Explorer com uma das funções listadas na seção de pré-requisitos.
Você precisa consentir com a Policy.ReadWrite.PermissionGrant
permissão.
Listar políticas de consentimento de aplicativo existentes usando o Microsoft Graph
É uma boa ideia começar por se familiarizar com as políticas de consentimento de aplicações existentes na sua organização:
Liste todas as políticas de consentimento do aplicativo:
GET /policies/permissionGrantPolicies?$select=id,displayName,description
Veja os conjuntos de condições "incluir" de uma política:
GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/includes
Veja os conjuntos de condições "excluir":
GET /policies/permissionGrantPolicies/{ microsoft-application-admin }/excludes
Criar uma política de consentimento de aplicativo personalizada usando o Microsoft Graph
Siga estas etapas para criar uma política de consentimento de aplicativo personalizada:
Crie uma nova política de consentimento de aplicativo vazio.
POST https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies Content-Type: application/json { "id": "my-custom-policy", "displayName": "My first custom consent policy", "description": "This is a sample custom app consent policy" }
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-policy }/includes Content-Type: application/json { "permissionType": "delegated", "PermissionClassification": "low", "clientApplicationsFromVerifiedPublisherOnly": true }
Repita esta etapa para adicionar mais conjuntos de condições "incluir".
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-policy /excludes Content-Type: application/json { "permissionType": "delegated", "resourceApplication": "00001111-aaaa-2222-bbbb-3333cccc4444 " }
Repita esta etapa para adicionar mais conjuntos de condições de "exclusão".
Depois de criar a política de consentimento do aplicativo, você precisa atribuí-la a uma função personalizada no Microsoft Entra ID. Em seguida, você precisa atribuir usuários a essa função personalizada, que é anexada à política de consentimento do aplicativo que você criou. Para obter mais informações sobre como atribuir a política de consentimento do aplicativo a uma função personalizada, consulte Permissões de consentimento do aplicativo para funções personalizadas.
Excluir uma política de consentimento de aplicativo personalizada Microsoft Graph
Veja a seguir como você pode excluir uma política de consentimento de aplicativo personalizada.
DELETE https://graph.microsoft.com/v1.0/policies/permissionGrantPolicies/ my-custom-policy
Aviso
As políticas de consentimento de aplicativos excluídos não podem ser restauradas. Se você excluir acidentalmente uma política de consentimento de aplicativo personalizada, precisará recriar a política.
Condições suportadas
A tabela a seguir fornece a lista de condições suportadas para políticas de consentimento de aplicativos.
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 estão 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 "todos". - 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 "todos". |
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 "todos". |
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 "todos". |
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 . |
scopeType | O tipo de escopo de recurso ao qual a pré-aprovação se aplica. Valores possíveis: para grupos e equipas, chat para chats ou tenant para acesso a todo o inquilino. group Obrigatório. |
sensibilidadeRótulos | Os rótulos de sensibilidade que são aplicáveis ao tipo de escopo e não são pré-aprovados. Ele permite que você proteja dados organizacionais confidenciais. Saiba mais sobre rótulos de sensibilidade. Nota: O recurso de chat ainda não suporta sensitivityLabels. |
Próximos passos
Para obter ajuda ou encontrar respostas às suas perguntas: