Compartilhar via


Gerenciar o Key Vault usando a CLI do Azure

Este artigo aborda como começar a trabalhar com o Azure Key Vault usando a CLI do Azure. Você pode ver informações sobre:

  • Como criar um contêiner protegido (um cofre) no Azure
  • Adicionando uma chave, um segredo ou um certificado ao cofre de chaves
  • Registrando um aplicativo com a ID do Microsoft Entra
  • Autorizar um aplicativo a usar uma chave ou segredo
  • Definindo políticas de acesso avançado do cofre de chaves
  • Trabalhando com HSMs (módulos de segurança de hardware)
  • Excluir o cofre de chave e chaves e segredos associados
  • Comandos de interface de linha de comando multiplataforma do Azure diversos

O Cofre da Chave do Azure está disponível na maioria das regiões. Para obter mais informações, consulte a Página de preços do Cofre da Chave.

Observação

Este artigo não inclui instruções sobre como gravar o aplicativo do Azure que uma das etapas inclui, que mostra como autorizar um aplicativo a usar uma chave ou segredo no cofre de chaves.

Para obter uma visão geral do Azure Key Vault, confira o que é o Azure Key Vault?) Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Pré-requisitos

Para usar comandos da CLI do Azure neste artigo, você deve ter os seguintes itens:

  • Uma assinatura do Microsoft Azure. Se você não tiver uma, pode se inscrever e fazer uma avaliação gratuita.
  • CLI do Azure versão 2.0 ou posterior. Para instalar a versão mais recente, consulte Instalar a CLI do Azure.
  • Um aplicativo que será configurado para usar a chave ou a senha que você criar neste artigo. Um aplicativo de exemplo está disponível no Centro de Download da Microsoft. Para obter instruções, consulte o arquivo Readme incluído.

Obtendo ajuda com a Interface Cross-Platform Command-Line do Azure

Este artigo pressupõe que você esteja familiarizado com a interface de linha de comando (Bash, Terminal, Prompt de Comando).

O parâmetro --help ou -h pode ser usado para exibir ajuda para comandos específicos. Como alternativa, o formato [comando] [opções] da ajuda do Azure também pode ser usado. Quando estiver em dúvida sobre os parâmetros necessários para um comando, consulte a ajuda. Por exemplo, todos os comandos a seguir retornam as mesmas informações:

az account set --help
az account set -h

Você também pode ler os seguintes artigos para se familiarizar com o Azure Resource Manager na Interface de Command-Line multiplataforma do Azure:

Como criar um contêiner protegido (um cofre) no Azure

Os cofres são contêineres protegidos que contam com módulos de segurança de hardware. Os cofres ajudam a reduzir a possibilidade de perda acidental de informações de segurança pela centralização do armazenamento de segredos do aplicativo. Os Key Vaults também controlam e registram o acesso a qualquer coisa armazenada neles. O Azure Key Vault pode lidar com solicitações e renovação de certificados TLS (Transport Layer Security), fornecendo os recursos necessários para uma solução robusta de gerenciamento do ciclo de vida do certificado. Nas próximas etapas, você criará um cofre.

Conectar-se às suas assinaturas

Para entrar interativamente, use o seguinte comando:

az login

Para entrar usando uma conta organizacional, você pode passar seu nome de usuário e senha.

az login -u username@domain.com -p password

Se você tiver mais de uma assinatura e precisar especificar qual usar, digite o seguinte para ver as assinaturas da sua conta:

az account list

Especifique uma assinatura com o parâmetro de assinatura.

az account set --subscription <subscription name or ID>

Para obter mais informações sobre como configurar a Interface de Command-Line multiplataforma do Azure, consulte Instalar a CLI do Azure.

Criar um novo grupo de recursos

Ao usar o Azure Resource Manager, todos os recursos relacionados são criados dentro de um grupo de recursos. Você pode criar um cofre de chaves em um grupo de recursos existente. Se você quiser usar um novo grupo de recursos, poderá criar um novo.

az group create -n "ContosoResourceGroup" -l "East Asia"

O primeiro parâmetro é o nome do grupo de recursos e o segundo parâmetro é o local. Para obter uma lista de todos os locais possíveis, digite:

az account list-locations

Registrar o provedor de recursos do Key Vault

Você poderá ver o erro "A assinatura não está registrada para usar o namespace 'Microsoft.KeyVault'" ao tentar criar um novo cofre de chaves. Se essa mensagem for exibida, verifique se o provedor de recursos do Key Vault está registrado em sua assinatura. Essa é uma operação única para cada assinatura.

az provider register -n Microsoft.KeyVault

Criar um cofre de chaves

Use o comando az keyvault create para criar um cofre de chave. Esse script tem três parâmetros obrigatórios: um nome de grupo de recursos, um nome de cofre de chaves e a localização geográfica.

Para criar um novo cofre com o nome ContosoKeyVault, no grupo de recursos ContosoResourceGroup, que reside na localização leste da Ásia , digite:

az keyvault create --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --location "East Asia"

A saída deste comando exibe as propriedades do Key Vault que você criou. As duas propriedades mais importantes são:

  • nome: No exemplo, o nome é ContosoKeyVault. Você usará esse nome para outros comandos do Key Vault.
  • vaultUri: No exemplo, o URI é https://contosokeyvault.vault.azure.net. Aplicativos que usam seu cofre via API REST devem usar esse URI.

Sua conta do Azure agora está autorizada a executar quaisquer operações neste cofre de chaves. Até o momento, ninguém mais tem autorização.

Adicionando uma chave, um segredo ou um certificado ao cofre de chaves

Se você quiser que o Azure Key Vault crie uma chave protegida por software para você, use o az key create comando.

az keyvault key create --vault-name "ContosoKeyVault" --name "ContosoFirstKey" --protection software

Se você tiver uma chave existente em um arquivo .pem, poderá carregá-la no Azure Key Vault. Você pode optar por proteger a chave com software ou HSM. Este exemplo importa a chave do arquivo .pem e a protege com software, usando a senha "hVFkk965BuUv":

az keyvault key import --vault-name "ContosoKeyVault" --name "ContosoFirstKey" --pem-file "./softkey.pem" --pem-password "hVFkk965BuUv" --protection software

Agora você pode referenciar a chave que você criou ou carregou no Azure Key Vault usando seu URI. Use https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey sempre para obter a versão atual. Use https://<keyvault-name>.vault.azure.net/keys/<keyname>/<key-unique-id> para obter essa versão específica. Por exemplo, https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey/cgacf4f763ar42ffb0a1gca546aygd87.

Adicione um segredo ao cofre, que é uma senha chamada SQLPassword, com o valor "hVFkk965BuUv" para Azure Key Vaults.

az keyvault secret set --vault-name "ContosoKeyVault" --name "SQLPassword" --value "hVFkk965BuUv "

Faça referência a essa senha usando seu URI. Use https://ContosoVault.vault.azure.net/secrets/SQLPassword sempre para obter a versão atual e https://<keyvault-name>.vault.azure.net/secret/<secret-name>/<secret-unique-id> para obter essa versão específica. Por exemplo, https://ContosoVault.vault.azure.net/secrets/SQLPassword/90018dbb96a84117a0d2847ef8e7189d.

Importe um certificado para o cofre usando um .pem ou .pfx.

az keyvault certificate import --vault-name "ContosoKeyVault" --file "c:\cert\cert.pfx" --name "ContosoCert" --password "hVFkk965BuUv"

Vamos exibir a chave, o segredo ou o certificado que você criou:

  • Para exibir suas chaves, digite:
az keyvault key list --vault-name "ContosoKeyVault"
  • Para exibir seus segredos, digite:
az keyvault secret list --vault-name "ContosoKeyVault"
  • Para exibir certificados, digite:
az keyvault certificate list --vault-name "ContosoKeyVault"

Registrando um aplicativo com a ID do Microsoft Entra

Essa etapa normalmente seria feita por um desenvolvedor, em um computador separado. Isso não é específico ao Azure Key Vault, mas está incluído aqui, para informar. Para completar o registro do aplicativo, sua conta, o cofre e o aplicativo precisam estar no mesmo diretório do Azure.

Os aplicativos que usam um cofre de chaves devem ser autenticados usando um token da ID do Microsoft Entra. O proprietário do aplicativo deve registrá-lo primeiro no Microsoft Entra. Ao final do registro, o proprietário do aplicativo obtém os seguintes valores:

  • Uma ID do aplicativo (também conhecida como ID do cliente ou appID do Microsoft Entra)
  • Uma chave de autenticação (também conhecida como segredo compartilhado).

O aplicativo deve apresentar esses dois valores à ID do Microsoft Entra para obter um token. A forma como um aplicativo é configurado para obter um token dependerá do aplicativo. Para o aplicativo de exemplo do Key Vault, o proprietário do aplicativo define esses valores no arquivo app.config.

Para obter etapas detalhadas sobre como registrar um aplicativo com a ID do Microsoft Entra, você deve examinar os artigos intitulados Integração de aplicativos com a ID do Microsoft Entra, usar o portal para criar um aplicativo do Microsoft Entra e uma entidade de serviço que possa acessar recursos e criar uma entidade de serviço do Azure com a CLI do Azure.

Para registrar um aplicativo na ID do Microsoft Entra:

az ad sp create-for-rbac -n "MyApp" --password "hVFkk965BuUv" --role Contributor --scopes /subscriptions/<subscription id>
# If you don't specify a password, one will be created for you.

Autorizar um aplicativo a usar uma chave ou segredo

Para autorizar o aplicativo a acessar a chave ou o segredo no cofre, use o comando az keyvault set-policy.

Por exemplo, se o nome do cofre for ContosoKeyVault e você quiser autorizar o aplicativo a descriptografar e assinar com chaves no cofre, use o seguinte comando com a ID do aplicativo:

az keyvault set-policy --name "ContosoKeyVault" --spn {application-id} --key-permissions decrypt sign

Para autorizar o mesmo aplicativo a ler segredos em seu cofre, digite o seguinte comando:

az keyvault set-policy --name "ContosoKeyVault" --spn {application-id} --secret-permissions get

Definindo políticas de acesso avançado do cofre de chaves

Use az keyvault update para habilitar políticas avançadas para o cofre de chaves.

Habilitar o Key Vault para implantação: permite que as máquinas virtuais recuperem certificados armazenados como segredos do cofre.

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-deployment "true"

Habilitar o Key Vault para criptografia de disco: necessário ao usar o cofre para criptografia do Azure Disk.

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-disk-encryption "true"

Habilitar o Key Vault para implantação de modelo: permite que o Resource Manager recupere segredos do cofre.

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-template-deployment "true"

Trabalhando com HSMs (módulos de segurança de hardware)

Para obter uma garantia adicional, você pode importar ou gerar chaves de HSMs (módulos de segurança de hardware) que nunca saem do limite do HSM. Os HSMs são validados pelo FIPS 140. Se esse requisito não se aplicar a você, ignore esta seção e vá para Excluir o cofre de chave e chaves e segredos associados.

Para criar essas chaves protegidas por HSM, você deve ter uma assinatura de cofre que dê suporte a chaves protegidas por HSM.

Ao criar o keyvault, adicione o parâmetro 'sku':

az keyvault create --name "ContosoKeyVaultHSM" --resource-group "ContosoResourceGroup" --location "East Asia" --sku "Premium"

Você pode adicionar chaves protegidas por software (conforme mostrado anteriormente) e por HSM a este cofre. Para criar uma chave protegida por HSM, defina o parâmetro De destino como 'HSM':

az keyvault key create --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --protection "hsm"

Você pode usar o comando a seguir para importar uma chave de um arquivo .pem em seu computador. Esse comando importa a chave para os HSMs no serviço de Cofre da Chave:

az keyvault key import --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --pem-file "/.softkey.pem" --protection "hsm" --pem-password "PaSSWORD"

O próximo comando importa um pacote BYOK ("traga sua própria chave"). Isso permite gerar sua chave no HSM local e transferi-la para HSMs no serviço do Key Vault, sem que a chave saia do limite do HSM:

az keyvault key import --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --byok-file "./ITByok.byok" --protection "hsm"

Para obter instruções mais detalhadas sobre como gerar esse pacote BYOK, consulte Como usar HSM-Protected Chaves com o Azure Key Vault.

Excluir o cofre de chave e chaves e segredos associados

Se você não precisar mais do cofre de chaves e suas chaves ou segredos, poderá excluir o cofre de chaves usando o az keyvault delete comando:

az keyvault delete --name "ContosoKeyVault"

Ou você pode excluir um grupo de recursos inteiro do Azure, que inclui o cofre de chaves e todos os outros recursos que você incluiu nesse grupo:

az group delete --name "ContosoResourceGroup"

Comandos de interface de linha de comando multiplataforma do Azure diversos

Outros comandos que você pode achar úteis para gerenciar o Azure Key Vault.

Este comando lista uma exibição tabular de todas as chaves e propriedades selecionadas:

az keyvault key list --vault-name "ContosoKeyVault"

Este comando exibe uma lista completa de propriedades para a chave especificada:

az keyvault key show --vault-name "ContosoKeyVault" --name "ContosoFirstKey"

Este comando lista uma exibição em tabela de todos os nomes de segredos e propriedades selecionadas:

az keyvault secret list --vault-name "ContosoKeyVault"

Aqui está um exemplo de como remover uma chave específica:

az keyvault key delete --vault-name "ContosoKeyVault" --name "ContosoFirstKey"

Aqui está um exemplo de como remover um segredo específico:

az keyvault secret delete --vault-name "ContosoKeyVault" --name "SQLPassword"

Próximas etapas