Autenticação do Azure Key Vault
A autenticação com o Key Vault funciona em conjunto com o Microsoft Entra ID, que é responsável por autenticar a identidade de qualquer entidade de segurança.
Uma entidade de segurança é um objeto que representa um usuário, grupo, serviço ou aplicativo que está solicitando acesso aos recursos do Azure. O Azure atribui uma ID do objeto exclusiva a cada entidade de segurança.
A entidade de segurança de usuário identifica um indivíduo que tem um perfil no Microsoft Entra ID.
Uma entidade de segurança de grupo identifica um conjunto de usuários criado no Microsoft Entra ID. Todas as funções ou permissões atribuídas ao grupo são concedidas a todos os usuários dentro do grupo.
Uma entidade de serviço é um tipo de entidade de segurança que identifica um aplicativo ou serviço, ou seja, um trecho de código, em vez de um usuário ou grupo. A ID de objeto de uma entidade de serviço atua como o nome de usuário; o segredo do cliente da entidade de serviço age como uma senha.
Para aplicativos, há duas maneiras de obter uma entidade de serviço:
Recomendado: habilitar uma Identidade gerenciada atribuída pelo sistema para o aplicativo.
Com a identidade gerenciada, o Azure gerencia internamente a entidade de serviço do aplicativo e autentica automaticamente o aplicativo com outros serviços do Azure. A identidade gerenciada está disponível para aplicativos implantados em uma variedade de serviços.
Para obter mais informações, confira Visão geral da identidade gerenciada. Confira também Serviços do Azure que dão suporte à identidade gerenciada, que contém links para artigos que descrevem como habilitar a identidade gerenciada para serviços específicos (como Serviço de Aplicativo, Azure Functions, Máquinas Virtuais etc.).
Se não for possível usar a identidade gerenciada, você poderá, em vez disso, registrar o aplicativo com seu locatário do Microsoft Entra, conforme descrito em Início Rápido: registrar um aplicativo com a plataforma de identidade do Azure. O registro também cria um segundo objeto de aplicativo que identifica o aplicativo em todos os locatários.
Configure o firewall do Key Vault
Por padrão, o Key Vault permite o acesso a recursos por meio de endereços IP públicos. Para maior segurança, também é possível restringir o acesso a intervalos de IP específicos, pontos de extremidade de serviço, redes virtuais ou pontos de extremidade privados.
Para obter mais informações, confira Acessar o Azure Key Vault por trás de um firewall.
O fluxo da operação de solicitação do Key Vault com a autenticação
A autenticação do Key Vault ocorre como parte de cada operação de solicitação no Key Vault. Depois que o token é recuperado, ele pode ser reutilizado para chamadas posteriores. Exemplo de fluxo de autenticação:
Um token solicita a autenticação com o Microsoft Entra ID, por exemplo:
- Um recurso do Azure, como uma máquina virtual ou um aplicativo do Serviço de Aplicativo com uma identidade gerenciada, entra em contato com o ponto de extremidade REST para obter um token de acesso.
- Um usuário faz logon no portal do Azure usando um nome de usuário e uma senha.
Se a autenticação no Microsoft Entra ID for bem-sucedida, a entidade de segurança receberá um token OAuth.
Uma chamada à API REST do Key Vault por meio do ponto de extremidade (URI) do Key Vault.
O Firewall do Key Vault verifica os critérios a seguir. Se algum critério for atendido, a chamada será permitida. Caso contrário, a chamada é bloqueada e uma resposta com a mensagem "proibido" é retornada.
- O firewall está desabilitado e o ponto de extremidade público do Key Vault pode ser acessado pela Internet pública.
- O chamador é um Serviço Confiável do Key Vault, permitindo que ele ignore o firewall.
- O chamador está listado no firewall do Azure Key Vault por endereço IP, rede virtual ou ponto de extremidade de serviço.
- O chamador pode acessar o Key Vault por meio de uma conexão de link privado configurada.
Se o firewall permitir a chamada, o Key Vault chamará o Microsoft Entra ID para validar o token de acesso da entidade de segurança.
O Key Vault verifica se a entidade de segurança tem a permissão necessária para a operação solicitada. Caso contrário, o Key Vault retornará uma resposta proibida.
O Key Vault executa a operação solicitada e retorna o resultado.
O seguinte diagrama ilustra o processo para um aplicativo que faz uma chamada à uma API de Obtenção de Segredo do Key Vault:
Observação
Os clientes do SDK do Key Vault para segredos, certificados e chaves criam uma chamada adicional para o Key Vault sem um token de acesso, o que resulta na resposta 401 para recuperar as informações de locatário. Para obter mais informações, confira Autenticação, solicitações e respostas
Autenticação no Key Vault no código do aplicativo
O SDK do Key Vault usa a biblioteca de clientes da Identidade do Azure, que permite a autenticação direta no Key Vault entre ambientes com o mesmo código
Bibliotecas de clientes da Identidade do Azure
.NET | Python | Java | JavaScript |
---|---|---|---|
Azure Identity SDK .NET | Azure Identity SDK Python | Azure Identity SDK Java | SDK da Identidade do Azure para JavaScript |
Para obter mais informações sobre melhores práticas e exemplos para desenvolvedores, confira Autenticação no Key Vault no código