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
  • Email
  • 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:

  1. Conecte-se ao PowerShell do Exchange Online. Para detalhes, consulte Conectar-se ao PowerShell do Exchange Online.

  2. 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.

  3. 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."
    
  4. 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.