Para obter uma visão geral do HSM Gerenciado, confira O que é o HSM Gerenciado?
Pré-requisitos
Uma assinatura Azure é necessária. Se você não tiver uma, crie uma conta gratuita antes de começar.
Você também precisará de:
Observação
Todos os comandos a seguir mostram dois métodos de uso para a CLI. Um método usa os --hsm-name parâmetros e --name (para nome da chave). O outro método usa o --id parâmetro, em que você pode especificar a URL inteira, incluindo o nome da chave, quando apropriado. O último método é útil quando o chamador (seja um usuário ou um aplicativo) não tem acesso de leitura ao plano de controle e somente acesso restrito ao plano de dados.
Algumas interações com material de chave exigem permissões específicas do RBAC local do HSM Gerenciado. Para obter a lista completa de funções e permissões internas do RBAC local do HSM Gerenciado, confira Funções internas do RBAC local do HSM Gerenciado. Para atribuir essas permissões a um usuário, consulte Acesso seguro aos HSMs gerenciados.
Criar uma chave HSM
Observação
Você não pode exportar uma chave gerada ou importada para o HSM Gerenciado. A única exceção à regra de não exportação é quando você cria uma chave com uma política de liberação de chave específica. Essa política permite que a chave seja exportada apenas para ambientes de computação confidenciais confiáveis (enclaves seguros) definidos explicitamente. Essa funcionalidade de exportação limitada foi projetada para cenários de computação segura específicos e não é igual a uma exportação de chave de uso geral. Para obter as melhores práticas recomendadas para portabilidade e durabilidade importantes, consulte o artigo vinculado.
No portal Azure, navegue até o recurso HSM Gerenciado.
No menu à esquerda, em Configurações, selecione Chaves.
Selecione Gerar/Importar na lista suspensa Gerar/Importar/Restaurar Backup .
Escolha o tipo de chave (RSA-HSM, EC-HSM ou oct-HSM), defina o tamanho da chave ou a curva, o nome e as operações permitidas e selecione Criar.
Screenshot do painel Chaves no portal Azure para um HSM Gerenciado.
Use o az keyvault key create comando para criar uma chave.
Criar uma chave RSA
Este exemplo mostra como criar uma chave RSA de 3072 bits que é usada apenas para operações wrapKey e unwrapKey (--ops).
az keyvault key create --hsm-name <hsm-name> --name myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
## OR
# Note the key name (myrsakey) in the URI
az keyvault key create --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
A get operação retorna apenas a chave pública e os atributos de chave. Ele não retorna a chave privada (se uma chave assimétrica) ou o material da chave (se uma chave simétrica).
Criar uma chave do EC
O exemplo a seguir mostra como criar uma chave EC com a curva P-256. A chave é apenas para operações de assinatura e verificação (--ops) e tem duas tags, uso e nome do aplicativo. Use marcas para adicionar metadados extras à chave para acompanhamento e gerenciamento.
az keyvault key create --hsm-name <hsm-name> --name myec256key --ops sign verify --tags 'usage=signing' 'appname=myapp' --kty EC-HSM --curve P-256
## OR
# Note the key name (myec256key) in the URI
az keyvault key create --id https://<hsm-name>.managedhsm.azure.net/keys/myec256key --ops sign verify --tags 'usage=signing' 'appname=myapp' --kty EC-HSM --curve P-256
Criar uma chave simétrica de 256 bits
Este exemplo mostra como criar uma chave simétrica de 256 bits que é apenas para criptografar e descriptografar operações (--ops).
az keyvault key create --hsm-name <hsm-name> --name myaeskey --ops encrypt decrypt --tags 'usage=encryption' 'appname=myapp' --kty oct-HSM --size 256
## OR
# Note the key name (myaeskey) in the URI
az keyvault key create --id https://<hsm-name>.managedhsm.azure.net/keys/myaeskey --ops encrypt decrypt --tags 'usage=encryption' 'appname=myapp' --kty oct-HSM --size 256
Use o Add-AzKeyVaultKey cmdlet para criar uma chave.
Criar uma chave RSA
Este exemplo mostra como criar uma chave RSA de 3072 bits que é usada apenas para operações wrapKey e unwrapKey .
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -KeyType RSA-HSM -Size 3072 -KeyOps wrapKey,unwrapKey
Criar uma chave do EC
Este exemplo mostra como criar uma chave EC com a curva P-256 para operações de sinal e verificação .
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myec256key -KeyType EC-HSM -CurveName P-256 -KeyOps sign,verify -Tag @{usage='signing'; appname='myapp'}
Criar uma chave simétrica de 256 bits
Este exemplo mostra como criar uma chave simétrica de 256 bits para criptografar e descriptografar operações.
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myaeskey -KeyType oct-HSM -Size 256 -KeyOps encrypt,decrypt -Tag @{usage='encryption'; appname='myapp'}
No portal Azure, navegue até o recurso HSM Gerenciado.
No menu à esquerda, em Configurações, selecione Chaves.
Selecione a chave que você deseja exibir. O portal exibe os atributos, as versões e as marcas da chave.
Use o az keyvault key show comando para exibir atributos, versões e marcas para uma chave.
az keyvault key show --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key show --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey
Use o Get-AzKeyVaultKey cmdlet para exibir atributos, versões e marcas para uma chave.
Get-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey
Listar chaves
No portal Azure, navegue até o recurso HSM Gerenciado.
No menu à esquerda, em Configurações, selecione Chaves. O portal lista todas as chaves no HSM Gerenciado.
Use o az keyvault key list comando para listar todas as chaves dentro de um HSM gerenciado.
az keyvault key list --hsm-name <hsm-name>
## OR
# use full URI
az keyvault key list --id https://<hsm-name>.managedhsm.azure.net/
Use o Get-AzKeyVaultKey cmdlet para listar todas as chaves em um HSM Gerenciado.
Get-AzKeyVaultKey -HsmName <hsm-name>
Excluir uma chave
No portal Azure, navegue até o recurso HSM Gerenciado.
No menu à esquerda, em Configurações, selecione Chaves.
Selecione a chave que você deseja excluir.
Selecione Excluir e confirme.
Use o az keyvault key delete comando para excluir uma chave de um HSM gerenciado. A exclusão reversível está sempre ativada. Portanto, uma chave excluída permanece no estado excluído e você pode recuperá-la até que o número de dias de retenção passe. Depois disso, a chave é limpa (excluída permanentemente) sem nenhuma recuperação possível.
az keyvault key delete --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key delete --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey
Use o Remove-AzKeyVaultKey cmdlet para excluir uma chave. A exclusão reversível está sempre ativada, portanto, uma chave excluída permanece recuperável até que o período de retenção expire.
Remove-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey
Listar chaves excluídas
No portal Azure, navegue até o recurso HSM Gerenciado.
No menu à esquerda, em Configurações, selecione Chaves.
Selecione Gerenciar chaves excluídas para exibir chaves no estado de exclusão temporária.
Use o comando az keyvault key list-deleted para listar todas as chaves que estão no estado excluído no seu HSM gerenciado.
az keyvault key list-deleted --hsm-name <hsm-name>
## OR
# use full URI
az keyvault key list-deleted --id https://<hsm-name>.managedhsm.azure.net/
Use o cmdlet Get-AzKeyVaultKey com o parâmetro -InRemovedState para listar chaves excluídas.
Get-AzKeyVaultKey -HsmName <hsm-name> -InRemovedState
Recuperar (restaurar) uma chave excluída
No portal Azure, navegue até o recurso HSM Gerenciado.
No menu à esquerda, em Configurações, selecione Chaves e, em seguida, selecione Gerenciar chaves excluídas.
Selecione a chave excluída que você deseja recuperar.
Selecione Recuperar.
Use o comando az keyvault key list-deleted para listar todas as chaves em estado de exclusão no seu HSM gerenciado. Para recuperar (desdelete) uma chave, use o --id parâmetro. Você deve anotar o valor recoveryId da chave excluída obtida pelo comando az keyvault key list-deleted.
az keyvault key recover --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key recover --id https://<hsm-name>.managedhsm.azure.net/deletedKeys/myrsakey
Use o Undo-AzKeyVaultKeyRemoval cmdlet para recuperar uma chave excluída.
Undo-AzKeyVaultKeyRemoval -HsmName <hsm-name> -Name myrsakey
Limpar (excluir permanentemente) uma chave
Observação
Se o HSM gerenciado tiver a proteção de limpeza habilitada, a operação de limpeza não será permitida. A chave é limpa automaticamente quando o período de retenção expira.
No portal Azure, navegue até o recurso HSM Gerenciado.
No menu à esquerda, em Configurações, selecione Chaves e, em seguida, selecione Gerenciar chaves excluídas.
Selecione a chave excluída que você deseja limpar.
Selecione Limpar e confirme.
Aviso
Esta operação exclui permanentemente sua chave.
Use o az keyvault key purge comando para limpar (excluir permanentemente) uma chave.
az keyvault key purge --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key purge --id https://<hsm-name>.managedhsm.azure.net/deletedKeys/myrsakey
Use o Remove-AzKeyVaultKey cmdlet com o -InRemovedState parâmetro para limpar uma chave excluída.
Remove-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -InRemovedState
Aviso
Esta operação exclui permanentemente sua chave.
Criar um backup de chave individual
No momento, o backup de chaves não está disponível no portal do Azure. Use o CLI do Azure ou Azure PowerShell.
Use az keyvault key backup para criar um backup de chave. O arquivo de backup é um blob criptografado ligado criptograficamente ao Domínio de Segurança do HSM de origem. Você só pode restaurá-lo em HSMs que compartilham o mesmo domínio de segurança. Leia mais sobre Domínios de Segurança.
az keyvault key backup --hsm-name <hsm-name> --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key backup --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey --file myrsakey.backup
Use o Backup-AzKeyVaultKey cmdlet para criar um backup de chave. O arquivo de backup é um blob criptografado ligado criptograficamente ao Domínio de Segurança do HSM de origem.
Backup-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -OutputFile myrsakey.backup
Restaurar uma chave individual do backup
No portal Azure, navegue até o recurso HSM Gerenciado.
No menu à esquerda, em Configurações, selecione Chaves.
Selecione Gerar/Importar/Restaurar Backup e escolha Restaurar chave no backup.
Navegue até o arquivo de backup e selecione Restaurar.
Use az keyvault key restore para restaurar uma chave individual. O HSM de origem em que você criou o backup deve compartilhar o mesmo domínio de segurança que o HSM de destino em que você está restaurando a chave.
Observação
A operação de restauração falhará se houver uma chave com o mesmo nome no estado ativo ou excluído.
az keyvault key restore --hsm-name <hsm-name> --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key restore --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey --file myrsakey.backup
Use o Restore-AzKeyVaultKey cmdlet para restaurar uma única chave. O HSM de origem em que você criou o backup deve compartilhar o mesmo domínio de segurança que o HSM de destino.
Observação
A operação de restauração falhará se houver uma chave com o mesmo nome no estado ativo ou excluído.
Restore-AzKeyVaultKey -HsmName <hsm-name> -InputFile myrsakey.backup
Importar uma chave de um arquivo
No momento, a importação de chaves não está disponível no portal do Azure. Use o CLI do Azure ou Azure PowerShell.
Use o az keyvault key import comando para importar uma chave (somente RSA e EC) de um arquivo. O arquivo de certificado deve ter uma chave privada e deve usar a codificação PEM (conforme definido nas RFCs 1421, 1422, 1423, 1424).
az keyvault key import --hsm-name <hsm-name> --name myrsakey --pem-file mycert.key --pem-password 'mypassword'
## OR
# Note the key name (<key-name>) in the URI
az keyvault key import --id https://<hsm-name>.managedhsm.azure.net/keys/<key-name> --pem-file mycert.key --password 'mypassword'
Use o Add-AzKeyVaultKey cmdlet com o -KeyFilePath parâmetro para importar uma chave de um arquivo PEM.
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -KeyFilePath ./mycert.key -KeyFilePassword (ConvertTo-SecureString -String 'mypassword' -AsPlainText -Force) -KeyType RSA-HSM
Para importar uma chave de um HSM on-premises para um Managed HSM, consulte Importar chaves protegidas por HSM para Managed HSM (BYOK).
Observação
O gerenciamento de chaves externas está em versão prévia. Alguns aspectos podem mudar antes da disponibilidade geral. Para consultar os termos de versão prévia, consulte os termos de uso complementares.
Se sua carga de trabalho exigir que a KEK (chave de criptografia de chave) resida em um módulo de segurança de hardware que você opera fora da infraestrutura da Microsoft, consulte Gerenciamento de chaves externas do HSM Gerenciado (versão preliminar). As chaves externas têm um ciclo de vida separado e um modelo operacional – consulte o ciclo de vida da chave externa para obter detalhes.
Próximas etapas