Como proteger entidades de serviço no Microsoft Entra ID

Uma entidade de serviço do Microsoft Entra é a representação local de um objeto de aplicativo em um locatário ou diretório. É a identidade da instância do aplicativo. As entidades de serviço definem o acesso ao aplicativo e aos recursos que o aplicativo acessa. Uma entidade de serviço é criada em cada locatário em que o aplicativo é usado e faz referência ao objeto de aplicativo exclusivo globalmente. O locatário protege a entrada da entidade de serviço e o acesso aos recursos.

Saiba mais: Objetos de aplicativo e de entidade de serviço na ID do Microsoft Entra

Relacionamentos locatário-entidade de serviço

Um aplicativo de locatário único tem uma entidade de serviço em seu locatário inicial. Um aplicativo Web multilocatário ou uma API requer uma entidade de serviço em cada locatário. Uma entidade de serviço é criada quando um usuário desse locatário consente em usar o aplicativo ou a API. Esse consentimento cria uma relação um-para-muitos entre o aplicativo multilocatário e suas entidades de serviço associadas.

Um aplicativo multilocatário é hospedado em um locatário e conta com instâncias em outros locatários. A maioria dos aplicativos de SaaS (software como serviço) acomoda a multilocação. Use entidades de serviço para garantir a postura de segurança necessária para o aplicativo e seus usuários, em casos de locatário único e multilocatário.

ApplicationID e ObjectID

Uma instância de aplicativo tem duas propriedades: ApplicationID (ou ClientID) e ObjectID.

Observação

Os termos aplicativo e entidade de serviço são usados de maneira intercambiável ao se referir a um aplicativo em tarefas de autenticação. No entanto, eles são duas representações de aplicativos no Microsoft Entra ID.

O ApplicationID representa o aplicativo global e é o mesmo para instâncias de aplicativo em diferentes locatários. O ObjectID é um valor exclusivo para um objeto de aplicativo. Assim como acontece com usuários, grupos e outros recursos, o ObjectID ajuda a identificar uma instância de aplicativo no Microsoft Entra ID.

Para saber mais, consulte Relação de entidade de aplicativo e serviço na ID do Microsoft Entra

Criar um aplicativo e seu objeto de entidade de serviço

É possível criar um aplicativo e seu objeto de entidade de serviço (ObjectID) em um locatário usando:

  • PowerShell do Azure
  • PowerShell do Microsoft Graph
  • Interface de linha de comando do Azure (CLI do Azure)
  • API do Microsoft Graph
  • O portal do Azure
  • Outras ferramentas

Screenshot of Application or Client ID and Object ID on the New App page.

Autenticação de entidade de serviço

Ao usar entidades de serviço, há dois mecanismos de autenticação: certificados e segredos de cliente.

Screenshot of Certificates and Client secrets under New App, Certificates and secrets.

Como os certificados são mais seguros, é recomendável usá-los, quando possível. Ao contrário dos segredos do cliente, os certificados do cliente não podem ser inseridos no código acidentalmente. Quando possível, use o Azure Key Vault para o gerenciamento de certificados e segredos para criptografar ativos com chaves protegidas por módulos de segurança de hardware:

  • Chaves de autenticação
  • Chaves de conta de armazenamento
  • Chaves de criptografia de dados
  • Arquivos .pfx
  • Senhas

Para obter mais informações sobre o Azure Key Vault e como usá-lo para o gerenciamento de certificados e segredos, veja:

Desafios e mitigações

Ao usar entidades de serviço, use a tabela a seguir para corresponder aos desafios e mitigações.

Desafio Atenuação
Revisões de acesso para entidades de serviço atribuídas a funções com privilégios Essa funcionalidade está em versão prévia
Revisões de acesso da entidade de serviço Verificação manual da lista de controle de acesso aos recursos usando o portal do Azure
Entidades de serviço com permissão excessiva Ao criar contas de serviço de automação ou entidades de serviço, conceda as permissões para a tarefa. Avaliar as entidades de serviço para reduzir os privilégios.
Identificar modificações nas credenciais de entidades de serviço ou nos métodos de autenticação - Consulte, Pasta de trabalho do relatório de operações sensíveis
- Consulte a postagem do blog da Comunidade Técnica, pasta de trabalho do Microsoft Entra para ajudar você a avaliar o risco de Solorigate

Encontrar contas usando entidades de serviço

Para localizar contas, execute os comandos a seguir usando entidades de serviço com a CLI do Azure ou o PowerShell.

  • CLI do Azure - az ad sp list
  • PowerShell - Get-MgServicePrincipal -All:$true

Para mais informações, consulte Get-MgServicePrincipal

Avaliar a segurança da entidade de serviço

Para avaliar a segurança, avalie o armazenamento de credenciais e privilégios. Use a tabela a seguir para ajudar a atenuar os desafios:

Desafio Atenuação
Detectar o usuário que consentiu em um aplicativo multilocatário e detectar concessões de consentimento ilícitas a um aplicativo multilocatário - Execute o PowerShell a seguir para localizar aplicativos multilocatários
Get-MgServicePrincipal -All:$true | ? {$_.Tags -eq "WindowsAzureActiveDirectoryIntegratedApp"}
- Desabilite o consentimento do usuário
- Permita o consentimento do usuário de editores verificados, para permissões selecionadas (recomendado)
- Configure-as no contexto do usuário
- Use seus tokens para disparar a entidade de serviço
Uso de um segredo compartilhado codificado em um script por meio de uma entidade de serviço Usar um certificado
Acompanhar quem usa o certificado ou o segredo Monitorar as entradas da entidade de serviço usando os logs de entrada do Microsoft Entra
Não é possível gerenciar a entrada das entidades de serviço com o Acesso Condicional Monitorar as entradas usando os logs de entrada do Microsoft Entra
Colaborador é a função padrão de RBAC (controle de acesso baseado em função) do Azure Avaliar as necessidades e aplicar o mínimo de permissões possível

Saiba mais sobre: O que é o Acesso Condicional?

Mover de uma conta de usuário para uma entidade de serviço

Se você estiver usando uma conta de usuário do Azure como uma entidade de serviço, considere mudar para uma identidade gerenciada ou uma entidade de serviço. Se não for possível usar uma identidade gerenciada, conceda a uma entidade de serviço permissões e escopo suficientes para realizar as tarefas necessárias. Você pode criar uma entidade de serviço registrando um aplicativoou com o PowerShell.

Ao usar o Microsoft Graph, verifique a documentação da API. Verifique se o tipo de permissão é compatível com o aplicativo.
Veja, Criar servicePrincipal

Saiba mais:

Próximas etapas

Saiba mais sobre entidades de serviço:

Proteger contas de serviço:

Acesso condicional:

Use o Acesso Condicional para bloquear entidades de serviço de locais não confiáveis.

Veja, Criar uma política de Acesso Condicional baseada em localização