Protegendo 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 os recursos que o aplicativo acessa. É criado um principal do serviço em cada inquilino onde a aplicação é utilizada e referencia o objeto de aplicação exclusivo global. O locatário protege a entrada da entidade de serviço e o acesso aos recursos.

Saiba mais: Objetos principais de aplicativo e serviço no Microsoft Entra ID

Relações principal de serviço de locatário

Um aplicativo de locatário único tem uma entidade de serviço em seu locatário doméstico. Uma API ou aplicativo Web multilocatário requer uma entidade de serviço em cada locatário. Uma entidade de serviço é criada quando um usuário desse locatário consente o uso do aplicativo ou da 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 tem instâncias em outros locatários. A maioria dos aplicativos de software como serviço (SaaS) acomoda multilocação. Use entidades de serviço para garantir a postura de segurança necessária para o aplicativo e seus usuários em cenários de locatário único e multilocatário.

ApplicationID e ObjectID

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

Nota

Os termos aplicativo e entidade de serviço são usados de forma intercambiável, quando se referem a um aplicativo em tarefas de autenticação. No entanto, são duas representações de aplicações no Microsoft Entra ID.

O ApplicationID representa o aplicativo global e é o mesmo para instâncias de aplicativo, entre 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 principal de aplicativo e serviço no Microsoft Entra ID

Criar um aplicativo e seu objeto principal de serviço

Você pode criar um aplicativo e seu objeto principal de serviço (ObjectID) em um locatário usando:

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

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

Autenticação do principal de serviço

Há dois mecanismos de autenticação ao usar entidades de serviço: certificados de cliente 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 sempre que possível. Ao contrário dos segredos do cliente, os certificados do cliente não podem ser incorporados no código, acidentalmente. Quando possível, use o Cofre de Chaves do Azure para 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 contas de armazenamento
  • Chaves de encriptação de dados
  • Arquivos .pfx
  • Palavras-chave

Para obter mais informações sobre o Cofre de Chaves do Azure e como usá-lo para gerenciamento de certificados e segredos, consulte:

Desafios e mitigações

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

Desafio Mitigação
Acessar revisões para entidades de serviço atribuídas a funções privilegiadas Esta funcionalidade está em pré-visualização
Avaliações de acesso da entidade de serviço Verificação manual da lista de controle de acesso a recursos usando o portal do Azure
Entidades de serviço com permissão excessiva Quando você cria contas de serviço de automação, ou entidades de serviço, conceda permissões para a tarefa. Avalie as entidades de serviço para reduzir os privilégios.
Identificar modificações nas credenciais da entidade de serviço ou nos métodos de autenticação - Consulte a 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 ajudá-lo a avaliar o risco do Solorigate

Localizar contas usando entidades de serviço

Para localizar contas, execute os seguintes comandos 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 obter mais informações, consulte Get-MgServicePrincipal

Avaliar a segurança da entidade de serviço

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

Desafio Mitigação
Detetar o usuário que consentiu com um aplicativo multilocatário e detetar concessões ilícitas de consentimento para um aplicativo multilocatário - Execute o seguinte PowerShell para localizar aplicativos multilocatários
Get-MgServicePrincipal -All:$true | ? {$_.Tags -eq "WindowsAzureActiveDirectoryIntegratedApp"}
- Desativar o consentimento do usuário - Permitir o consentimento
do usuário de editores verificados, para permissões selecionadas (recomendado)
- Configurá-los no contexto
do usuário - Use seus tokens para acionar a entidade de serviço
Uso de um segredo compartilhado codificado em um script usando uma entidade de serviço Usar um certificado
Rastreando 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 gerir o início de sessão da entidade 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 controle de acesso baseado em função do Azure (Azure RBAC) Avalie as necessidades e aplique o mínimo possível de permissões

Saiba mais: O que é o Acesso Condicional?

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

Se estiver a utilizar uma conta de utilizador do Azure como entidade de serviço, avalie se pode mudar para uma identidade gerida ou para uma entidade de serviço. Se você não puder usar uma identidade gerenciada, conceda a uma entidade de serviço permissões e escopo suficientes para executar as tarefas necessárias. Você pode criar uma entidade de serviço registrando um aplicativo ou com o PowerShell.

Ao usar o Microsoft Graph, verifique a documentação da API. Verifique se o tipo de permissão para o aplicativo é suportado.
Consulte, Criar servicePrincipal

Saiba mais:

Próximos passos

Saiba mais sobre as entidades de serviço:

Contas de serviço seguras:

Acesso Condicional:

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

Consulte Criar uma política de Acesso Condicional baseada em local