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
Autenticação de entidade de serviço
Ao usar entidades de serviço, há dois mecanismos de autenticação: certificados e segredos de cliente.
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:
- Como usar identidades gerenciadas para o Serviço de Aplicativo e o Azure Functions
- Criar um aplicativo do Microsoft Entra e uma entidade de serviço que possa acessar os recursos
- Usar o Azure PowerShell para criar uma entidade de serviço com um certificado
Próximas etapas
Saiba mais sobre entidades de serviço:
- Criar um aplicativo do Microsoft Entra e uma entidade de serviço que possa acessar os recursos
- Logs de entrada no Microsoft Entra ID
Proteger contas de serviço:
- Protegendo contas de serviço baseadas em nuvem
- Protegendo identidades gerenciadas no Microsoft Entra ID
- Como governar contas de serviço do Microsoft Entra
- Protegendo contas de serviço locais
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