Limitando permissões de escopo de aplicativo para caixas de correio específicas do Exchange Online
Os administradores que desejam limitar o acesso do aplicativo a caixas de correio específicas podem criar uma política de acesso de aplicativo usando o cmdlet New-ApplicationAccessPolicy do PowerShell. Este artigo aborda as etapas básicas para configurar o controle de acesso. Estes passos são específicos para Exchange Online recursos e não se aplicam a outras cargas de trabalho do Microsoft Graph.
Histórico
Alguns aplicativos chamam o Microsoft Graph usando sua própria identidade e não em nome de um usuário. Normalmente, estas aplicações são serviços em segundo plano ou aplicações daemon que são executadas num servidor sem a presença de um utilizador com sessão iniciada. Estas aplicações utilizam o fluxo de concessão de credenciais de cliente OAuth 2.0 para autenticação e são configuradas com permissões de aplicação, o que, por predefinição, permite que essas aplicações acedam a todas as caixas de correio numa organização no Exchange Online. Por exemplo, a permissão de aplicativo Mail.Read
permite que os aplicativos leiam emails em todas as caixas de correio sem um usuário conectado.
Importante
Por predefinição, as aplicações a quem foram concedidas permissões de aplicação para os seguintes conjuntos de dados podem aceder a todas as caixas de correio na organização:
- Calendários
- Contatos
- Configurações da Caixa de Correio
Os administradores podem configurar a política de acesso a aplicativos para limitar o acesso do aplicativo a caixas de correio específicas.
Existem cenários em que os administradores podem querer limitar uma aplicação apenas a caixas de correio específicas e não a todas as caixas de correio Exchange Online na organização. Os administradores podem identificar o conjunto de caixas de correio para permitir o acesso colocando-as em um grupo de segurança habilitado para email. Em seguida, os administradores podem limitar o acesso de aplicações de terceiros apenas a esse conjunto de caixas de correio ao criar uma política de acesso à aplicação para acesso a esse grupo.
Conforme descrito na secção Permissões suportadas e outros recursos , a política de acesso à aplicação restringe o acesso à caixa de correio para aplicações a quem seja concedido qualquer um dos âmbitos de permissão do Microsoft Graph ou dos Serviços Web exchange suportados pela política.
Configurar ApplicationAccessPolicy
Para configurar uma política de acesso a aplicativos e limitar o escopo das permissões de aplicativos:
Conecte-se ao PowerShell do Exchange Online. Para detalhes, consulte Conectar-se ao PowerShell do Exchange Online.
Identifique o ID de cliente da aplicação e um grupo de segurança com capacidade de correio para restringir o acesso da aplicação.
- Identifique o ID da aplicação (cliente) na página centro de administração do Microsoft Entra > registos de aplicações.
- Crie um novo grupo de segurança habilitado para email ou use um existente e identifique o endereço de email do grupo.
Crie uma política de acesso a aplicativos.
Execute o seguinte comando, substituindo os argumentos AppId, PolicyScopeGroupId e Description.
New-ApplicationAccessPolicy -AppId e7e4dbfc-046f-4074-9b3b-2ae8f144f59b -PolicyScopeGroupId EvenUsers@contoso.com -AccessRight RestrictAccess -Description "Restrict this app to members of distribution group EvenUsers."
Teste a política de acesso a aplicativos recém-criada.
Execute o comando a seguir, substituindo os argumentos para Identity e AppId.
Test-ApplicationAccessPolicy -Identity user1@contoso.com -AppId e7e4dbfc-046-4074-9b3b-2ae8f144f59b
O resultado deste comando indica se a aplicação tem acesso à caixa de correio do User1.
Observação
As alterações às políticas de acesso a aplicações podem demorar mais de 1 hora a entrar em vigor nas chamadas à API REST do Microsoft Graph, mesmo quando Test-ApplicationAccessPolicy
mostram resultados positivos.
Permissões suportadas e outros recursos
Os administradores podem utilizar os cmdlets ApplicationAccessPolicy para controlar o acesso à caixa de correio de uma aplicação que recebe qualquer uma das seguintes permissões de aplicação do Microsoft Graph ou permissões dos Serviços Web do Exchange.
Permissões de aplicativos do Microsoft Graph:
Mail.Read
Mail.ReadBasic
Mail.ReadBasic.All
Mail.ReadWrite
Mail.Send
MailboxSettings.Read
MailboxSettings.ReadWrite
Calendars.Read
Calendars.ReadWrite
Contacts.Read
Contacts.ReadWrite
Escopo de permissão dos Serviços Web do Exchange: full_access_as_app
.
Para obter mais informações sobre como configurar a política de acesso a aplicativos, consulte a referência de cmdlet do PowerShell para New-ApplicationAccessPolicy.
Como lidar com erros da API
Você poderá encontrar o seguinte erro quando uma chamada de API for negada devido a uma política de acesso de aplicativo configurada.
{
"error": {
"code": "ErrorAccessDenied",
"message": "Access to OData is disabled.",
"innerError": {
"request-id": "2f038156-cf40-403d-8e46-831fe42a8229",
"date": "2019-05-24T10:16:21"
}
}
}
Se as chamadas da API do Microsoft Graph de seu aplicativo retornarem esse erro, trabalhe com o administrador do Exchange Online da organização para garantir que seu aplicativo tenha permissão para acessar o recurso de caixa de correio.