O que é o Azure Key Vault?

Concluído

O Azure Key Vault é um repositório de segredos: um serviço de nuvem centralizado para armazenar segredos do aplicativo, como valores de configuração como senhas e cadeias de conexão que devem permanecer seguras o tempo todo. O Key Vault ajuda você a controlar os segredos dos aplicativos mantendo-os em um único local central. Ele fornece acesso seguro, controle de permissões e log de acesso.

Os principais benefícios do uso do Key Vault são:

  • Separação de informações confidenciais do aplicativo de outras configurações e código, o que reduz o risco de vazamentos acidentais
  • Um acesso restrito aos segredos com políticas de acesso adaptadas aos aplicativos e indivíduos que precisam deles
  • Armazenamento de segredo centralizado, o que significa que as alterações necessárias só precisam ser feitas em um único local
  • Registro em log e monitoramento do acesso para ajudar você a entender como e quando os segredos são acessados

Os segredos são armazenados em cofres individuais, que são os recursos do Azure usados para agrupar segredos. O acesso ao segredo e o gerenciamento do cofre são realizados usando uma API REST. Todas as ferramentas de gerenciamento do Azure e bibliotecas de clientes disponíveis para muitos idiomas populares também dão suporte a essa API. Cada cofre tem uma URL exclusiva na qual sua API está hospedada.

Importante

O Key Vault foi projetado para armazenar segredos de configuração para aplicativos do servidor. Ele não se destina a armazenar dados pertencentes aos usuários do aplicativo. Ele não deve ser usado na parte do lado do cliente de um aplicativo. Esse comportamento é refletido em suas características de desempenho, API e modelo de custo.

Os dados de usuário devem ser armazenados em outro lugar, como em um Banco de Dados SQL do Azure com a Transparent Data Encryption ou em uma conta de armazenamento com a Criptografia do Serviço de Armazenamento. Os segredos que seu aplicativo usa para acessar esses repositórios de dados podem ser mantidos no Key Vault.

O que é um segredo no Key Vault?

No Key Vault, um segredo é um par nome-valor de cadeias de caracteres. Os nomes de segredo precisam ter de 1 a 127 caracteres, conter apenas caracteres alfanuméricos e traços e precisam ser exclusivos em um cofre. Um valor secreto pode ser qualquer cadeia de caracteres UTF-8 com até 25 KB.

Dica

Os nomes de segredo não precisam ser considerados especialmente secretos em si. Você poderá armazená-los na configuração do aplicativo se a implementação exigir isso. O mesmo se aplica aos nomes de cofre e às URLs.

Observação

O Key Vault dá suporte a dois tipos adicionais de segredos além de cadeias de caracteres: chaves e certificados. O Key Vault fornece uma funcionalidade útil específica para seus casos de uso. Este módulo não aborda esses recursos e se concentra em cadeias de caracteres secretas, como senhas e cadeias de conexão.

Autenticação e permissões do cofre

A API do Key Vault usa o Microsoft Entra ID para autenticar usuários e aplicativos. As políticas de acesso ao cofre se baseiam em ações e são aplicadas a um cofre inteiro. Por exemplo, um aplicativo com Get (ler valores de segredo), List (listar nomes de todos os segredos) e Set (criar ou atualizar valores de segredo) para um cofre pode criar segredos, listar todos os nomes de segredo e obter e definir todos os valores de segredo nesse cofre.

Todas as ações executadas em um cofre exigem autenticação e autorização. Não há como conceder qualquer tipo de acesso anônimo.

Dica

Ao conceder acesso ao cofre a desenvolvedores e aplicativos, conceda apenas o conjunto mínimo de permissões necessárias. As restrições de permissões ajudam a evitar acidentes causados por bugs no código e reduzir o impacto de roubo de credenciais ou injeção de código mal-intencionado no aplicativo.

Os desenvolvedores geralmente só precisam de permissões Get e List para um cofre de ambiente de desenvolvimento. Alguns engenheiros precisam de permissões completas para alterar e adicionar segredos, quando necessário.

Para aplicativos, geralmente somente permissões Get são necessárias. Alguns aplicativos podem exigir List dependendo da maneira como o aplicativo é implementado. O aplicativo no exercício deste módulo requer a permissão List devido à técnica que ele usa para ler segredos do cofre.