Autenticar-se no Azure Key Vault

Concluído

A autenticação com o Key Vault funciona com o Microsoft Entra ID, que é responsável por autenticar a identidade de qualquer entidade de segurança determinada. Um principal de segurança é qualquer entidade que possa solicitar acesso aos recursos do Azure. Isso inclui:

  • Usuários – Pessoas reais com contas na ID do Microsoft Entra.
  • Grupos – coleções de usuários. As permissões fornecidas ao grupo se aplicam a todos os seus membros.
  • Principais de Serviço – Representam aplicativos ou serviços (não pessoas). Pense nisso como uma conta de usuário para um aplicativo.

Para aplicativos, há duas maneiras principais de obter uma entidade de serviço:

  • Usar uma identidade gerenciada (recomendado): O Azure cria e gerencia a entidade de serviço para você. O aplicativo pode acessar com segurança outros serviços do Azure sem armazenar credenciais. Funciona com serviços como Serviço de Aplicativo, Azure Functions e Máquinas Virtuais.

  • Registre o aplicativo manualmente: registre o aplicativo na ID do Microsoft Entra. Isso cria uma entidade de serviço e um objeto de aplicativo que identifica o aplicativo em todos os locatários.

Nota

É recomendável usar uma identidade gerenciada atribuída pelo sistema.

Autenticação no Key Vault no código do aplicativo

O SDK do Key Vault está usando a biblioteca cliente do Azure Identity, que permite a autenticação integrada ao Key Vault em diversos ambientes com o mesmo código. A tabela a seguir fornece informações sobre as bibliotecas de clientes da Identidade do Azure:

.NET Python Java JavaScript
SDK .NET do Azure Identity SDK de Identidade do Azure Python SDK Java do Azure Identity SDK JavaScript do Azure Identity

Autenticação no Key Vault com REST

Os tokens de acesso devem ser enviados ao serviço usando o cabeçalho de Autorização HTTP:

PUT /keys/MYKEY?api-version=<api_version>  HTTP/1.1  
Authorization: Bearer <access_token>

Quando um token de acesso não é fornecido ou quando o serviço rejeita um token, um HTTP 401 erro é retornado ao cliente e inclui o WWW-Authenticate cabeçalho, por exemplo:

401 Not Authorized  
WWW-Authenticate: Bearer authorization="…", resource="…"

Os parâmetros no cabeçalho WWW-Authenticate são:

  • autorização: o endereço do serviço de autorização OAuth2 que pode ser usado para obter um token de acesso para a solicitação.

  • recurso: o nome do recurso (https://vault.azure.net) a ser usado na solicitação de autorização.

Outros recursos