Proteger principais 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: o ApplicationID (ou ClientID) e o 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
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.
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 | Ao criar 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, a 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:
- Como usar identidades gerenciadas para o Serviço de Aplicativo e o Azure Functions
- Criar uma entidade de serviço e aplicativo Microsoft Entra que possa acessar recursos
- Usar o Azure PowerShell para criar uma entidade de serviço com um certificado
Próximos passos
Saiba mais sobre as entidades de serviço:
- Criar uma entidade de serviço e aplicativo Microsoft Entra que possa acessar recursos
- Registos de inícios de sessão no Microsoft Entra ID
Contas de serviço seguras:
- Proteger contas de serviço baseadas na nuvem
- Protegendo identidades gerenciadas no Microsoft Entra ID
- Governando as 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.
Consulte Criar uma política de Acesso Condicional baseada em local