Azure Key Vault

Concluído

O Azure Key Vault é um serviço de nuvem para armazenar e acessar segredos com segurança. Um segredo é qualquer coisa que você queira controlar rigorosamente o acesso, como chaves de API, senhas, certificados ou chaves criptográficas. O serviço Key Vault suporta dois tipos de contêineres: vaults e pools de módulos de segurança de hardware gerenciado (HSM). Os cofres suportam o armazenamento de software e chaves, segredos e certificados apoiados por HSM. Os pools de HSM gerenciados suportam apenas chaves apoiadas por HSM.

Aqui estão outros termos importantes:

Inquilino: um inquilino é a organização que possui e gere uma instância específica de serviços cloud da Microsoft. É mais frequentemente usado para se referir ao conjunto de serviços do Azure e do Microsoft 365 para uma organização.

Proprietário do Key Vault: um proprietário do cofre pode criar um cofre de chaves e obter acesso total e controlo sobre o mesmo. O proprietário do cofre também pode configurar uma auditoria ao registo de quem acede a segredos e chaves. Os administradores podem controlar o ciclo de vida das chaves. Podem implementar uma nova versão da chave, fazer uma cópia de segurança e executar tarefas relacionadas.

Consumidor do cofre: um consumidor do cofre pode efetuar ações nos recursos dentro do cofre de chaves quando o proprietário do cofre lhe concede acesso. As ações disponíveis dependem das permissões concedidas.

Administradores de HSM gerenciados: os usuários aos quais é atribuída a função de Administrador têm controle total sobre um pool de HSM gerenciado. Eles podem criar mais atribuições de função para delegar acesso controlado a outros usuários.

Gerenciado HSM Crypto Officer/User: funções internas que geralmente são atribuídas a usuários ou entidades de serviço que executarão operações criptográficas usando chaves no HSM gerenciado. Crypto User pode criar novas chaves, mas não pode excluir chaves.

Usuário de criptografia de serviço de criptografia HSM gerenciado: função interna que geralmente é atribuída a uma identidade de serviço gerenciado de contas de serviço (por exemplo, conta de armazenamento) para criptografia de dados em repouso com chave gerenciada pelo cliente.

Recurso: um recurso é um item gerível que está disponível através do Azure. Exemplos comuns são máquina virtual, conta de armazenamento, aplicativo Web, banco de dados e rede virtual. Há muitos mais.

Grupo de recursos: um grupo de recursos é um contentor que mantém recursos relacionados para uma solução do Azure. O grupo de recursos pode incluir todos os recursos para a solução ou apenas os recursos que pretende gerir como um grupo. Decida como pretende atribuir recursos a grupos de recursos com base no que é mais adequado para a sua organização.

Entidade de segurança: uma entidade de segurança do Azure é uma identidade de segurança que os aplicativos, serviços e ferramentas de automação criados pelo usuário usam para acessar recursos específicos do Azure. Pense nisso como uma "identidade de usuário" (nome de usuário e senha ou certificado) com uma função específica e permissões rigidamente controladas. Uma entidade de segurança só precisa fazer coisas específicas, ao contrário de uma identidade de usuário geral. Ele melhora a segurança se você conceder a ele apenas o nível mínimo de permissão de que ele precisa para executar suas tarefas de gerenciamento. Uma entidade de segurança usada com um aplicativo ou serviço é chamada de entidade de serviço.

Microsoft Entra ID: Microsoft Entra ID é o serviço de diretório para um locatário. Cada diretório tem um ou mais domínios. Um diretório pode ter várias subscrições associadas, mas apenas um inquilino.

ID de locatário do Azure: uma ID de locatário é uma maneira exclusiva de identificar uma instância do Microsoft Entra em uma assinatura do Azure.

Identidades gerenciadas: o Cofre de Chaves do Azure fornece uma maneira de armazenar credenciais e outras chaves e segredos com segurança, mas seu código precisa ser autenticado no Cofre de Chaves para recuperá-los. Usar uma identidade gerenciada torna a solução desse problema mais simples, fornecendo aos serviços do Azure uma identidade gerenciada automaticamente no Microsoft Entra ID. Pode utilizar esta identidade para se autenticar no Cofre da Chave ou em qualquer serviço que suporte a autenticação do Microsoft Entra, sem ter quaisquer credenciais no seu código.

Autenticação

Para fazer qualquer operação com o Cofre de Chaves, primeiro você precisa se autenticar nele. Há três maneiras de autenticar no Cofre da Chave:

  • Identidades gerenciadas para recursos do Azure: ao implantar um aplicativo em uma máquina virtual no Azure, você pode atribuir uma identidade à sua máquina virtual que tem acesso ao Cofre da Chave. Você também pode atribuir identidades a outros recursos do Azure. O benefício dessa abordagem é que o aplicativo ou serviço não está gerenciando a rotação do primeiro segredo. O Azure alterna automaticamente a identidade. Recomendamos esta abordagem como prática recomendada.
  • Entidade de serviço e certificado: você pode usar uma entidade de serviço e um certificado associado que tenha acesso ao Cofre da Chave. Não recomendamos essa abordagem porque o proprietário do aplicativo ou desenvolvedor deve alternar o certificado.
  • Entidade de serviço e segredo: Embora você possa usar uma entidade de serviço e um segredo para autenticar no Cofre de Chaves, não recomendamos isso. É difícil girar automaticamente o segredo de inicialização usado para autenticar no Cofre de Chaves.

Encriptação de dados em trânsito

O Azure Key Vault impõe o protocolo TLS (Transport Layer Security) para proteger os dados quando eles estão viajando entre o cofre da Chave do Azure e os clientes. Os clientes negociam uma conexão TLS com o Azure Key Vault. O TLS fornece autenticação forte, privacidade e integridade da mensagem (permitindo a deteção de adulteração, intercetação e falsificação de mensagens), interoperabilidade, flexibilidade de algoritmo e facilidade de implantação e uso.

O Perfect Forward Secrecy (PFS) protege as conexões entre os sistemas clientes dos clientes e os serviços de nuvem da Microsoft por chaves exclusivas. As conexões também usam comprimentos de chave de criptografia de 2.048 bits baseados em Rivest-Shamir-Adleman (RSA). Essa combinação torna difícil para alguém intercetar e acessar dados que estão em trânsito.

Funções do Key Vault

Utilize a tabela seguinte para melhor compreender como a chave de cofre pode ajudar a satisfazer as necessidades dos programadores e dos administradores de segurança.

Função Declaração do problema Resolvido pelo Azure Key Vault
Programador de uma aplicação do Azure "Quero escrever um aplicativo para o Azure que use chaves para assinatura e criptografia. Mas quero que essas chaves sejam externas ao meu aplicativo para que a solução seja adequada para um aplicativo distribuído geograficamente.

Quero que as chaves e os segredos estejam protegidos, sem que tenha de escrever eu próprio o código. Também quero que essas chaves e segredos sejam fáceis de usar em meus aplicativos, com desempenho ideal."
As chaves √ são armazenadas num cofre e invocadas pelo URI quando necessário.

√ As chaves são salvaguardadas pelo Azure, utilizando os algoritmos de norma da indústria, os comprimentos de chave e os módulos de segurança de hardware.

√ As chaves são processadas nos HSMs que residem no mesmos datacenters do Azure que as aplicações. Este método proporciona mais fiabilidade e latência reduzida do que as chaves que residem numa localização separada, como no local.
Programador de software como um serviço (SaaS) "Não quero a responsabilidade ou responsabilidade potencial pelas chaves e segredos de inquilino dos meus clientes.

Quero que os clientes possuam e gerenciem suas chaves para que eu possa me concentrar em fazer o que faço melhor, que é fornecer os principais recursos de software."
Os clientes √ podem importar as suas próprias chaves para o Azure e geri-las. Quando um aplicativo SaaS (software como serviço) precisa executar operações criptográficas usando as chaves dos clientes, o Key Vault faz essas operações em nome do aplicativo. O aplicativo não vê as chaves dos clientes.
Responsável pela segurança (CSO) "Quero saber se nossos aplicativos estão em conformidade com os HSMs FIPS 140-2 Nível 2 ou FIPS 140-2 Nível 3 para gerenciamento seguro de chaves.

Pretendo certificar-me de que a minha organização está a controlar o ciclo de vida das chave e pode monitorizar a utilização das mesmas.

E, embora utilizemos vários serviços e recursos do Azure, quero gerir as chaves a partir de uma única localização no Azure."
√ Escolha cofres para HSMs validados pelo Federal Information Processing Standards (FIPS) 140-2 Nível 2.
√ Escolha pools de HSM gerenciados para HSMs validados pelo FIPS 140-2 Nível 3.

A chave do cofre √ foi concebida para que a Microsoft não consulte ou extraia as suas chaves.
√ A utilização da chave é registada em tempo quase real.

√ O cofre fornece uma interface única, independentemente de quantos cofres tiver no Azure, de quantas regiões suporta e quais as aplicações em que os utiliza.

Qualquer pessoa com uma subscrição do Azure pode criar e utilizar cofres de chave. Embora o Key Vault beneficie desenvolvedores e administradores de segurança, ele pode ser implementado e gerenciado pelo administrador de uma organização que gerencia outros serviços do Azure. Por exemplo, esse administrador pode entrar com uma assinatura do Azure, criar um cofre para a organização no qual armazenar chaves e, em seguida, ser responsável por tarefas operacionais como estas:

  • Criar ou importar uma chave ou segredo
  • Revogar ou eliminar uma chave ou segredo
  • Autorizar aos utilizadores ou aplicações o acesso à chave de cofre para que possam gerir ou utilizar as suas chaves e segredos
  • Configurar a utilização da chave (por exemplo, iniciar sessão ou encriptar)
  • Monitorizar a utilização da chave

Diagrama mostrando um exemplo de um Administrador com uma assinatura do Azure cria e gerencia cofres e chaves.