O que é o Azure Key Vault?
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.