O cmdlet Add-AzKeyVaultKey cria uma chave em um cofre de chaves no Azure Key Vault ou importa uma chave para um cofre de chaves.
Use este cmdlet para adicionar chaves usando qualquer um dos seguintes métodos:
Crie uma chave em um HSM (módulo de segurança de hardware) no serviço do Key Vault.
Crie uma chave no software no serviço do Key Vault.
Importe uma chave de seu próprio HSM (módulo de segurança de hardware) para HSMs no serviço do Key Vault.
Importe uma chave de um arquivo .pfx em seu computador.
Importe uma chave de um arquivo .pfx em seu computador para HSMs (módulos de segurança de hardware) no serviço do Key Vault.
Para qualquer uma dessas operações, você pode fornecer atributos de chave ou aceitar configurações padrão.
Se você criar ou importar uma chave que tenha o mesmo nome de uma chave existente no cofre de chaves, a chave original será atualizada com os valores especificados para a nova chave. Você pode acessar os valores anteriores usando o URI específico da versão para essa versão da chave. Para saber mais sobre as principais versões e a estrutura de URI, consulte a documentação sobre chaves e segredos na documentação da API REST do Key Vault.
Observação: para importar uma chave de seu próprio módulo de segurança de hardware, primeiro você deve gerar um pacote BYOK (um arquivo com uma extensão de nome de arquivo .byok) usando o conjunto de ferramentas BYOK do Azure Key Vault. Para obter mais informações, consulte Como gerar e transferir chaves de HSM-Protected para o Azure Key Vault.
Como prática recomendada, faça backup da chave depois que ela for criada ou atualizada usando o cmdlet Backup-AzKeyVaultKey. Não há nenhuma funcionalidade de desdelete, portanto, se você acidentalmente excluir sua chave ou excluí-la e depois mudar de ideia, a chave não será recuperável, a menos que você tenha um backup dela que possa restaurar.
Vault/HSM Name : test-kv
Name : test-key
Key Type : EC
Key Size :
Curve Name : P-256
Version : 4da74af2b4fd47d6b1aa0b05c9a2ed13
Id : https://test-kv.vault.azure.net:443/keys/test-key/4da74af2b4fd47d6b1aa0b05c9a2ed13
Enabled : True
Expires :
Not Before :
Created : 8/24/2021 6:38:34 AM
Updated : 8/24/2021 6:38:34 AM
Recovery Level : Recoverable+Purgeable
Tags :
Esse comando cria uma chave EC protegida por software chamada test-key no cofre de chaves chamada test-kv. Seu nome de curva é P-256 por padrão.
Vault/HSM Name : contoso
Name : ITHsmNonDefault
Key Type : RSA
Key Size : 2048
Version : 929bfc14db84439b823ffd1bedadaf5f
Id : https://contoso.vault.azure.net:443/keys/ITHsmNonDefault/929bfc14db84439b823ffd1bedadaf5f
Enabled : False
Expires : 5/21/2020 11:12:43 PM
Not Before : 5/21/2018 11:12:50 PM
Created : 5/21/2018 11:13:17 PM
Updated : 5/21/2018 11:13:17 PM
Purge Disabled : False
Tags : Name Value
Severity high
Accounting true
O primeiro comando armazena os valores descriptografados e verifica na variável $KeyOperations.
O segundo comando cria um objeto DateTime , definido em UTC, usando o cmdlet Get-Date .
Esse objeto especifica um tempo de dois anos no futuro. O comando armazena essa data na variável $Expires. Para obter mais informações, digite Get-Help Get-Date.
O terceiro comando cria um objeto DateTime usando o cmdlet Get-Date . Esse objeto especifica a hora UTC atual. O comando armazena essa data na variável $NotBefore.
O comando final cria uma chave chamada ITHsmNonDefault que é uma chave protegida por HSM. O comando especifica valores para operações de chave permitidas armazenadas $KeyOperations. O comando especifica tempos para os parâmetros Expires e NotBefore criados nos comandos anteriores e marcas para alta severidade e TI. A nova chave está desabilitada. Você pode habilitá-lo usando o cmdlet Set-AzKeyVaultKey .
Vault Name : contoso
Name : ITByok
Version : 67da57e9cadf48a2ad8d366b115843ab
Id : https://contoso.vault.azure.net:443/keys/ITByok/67da57e9cadf48a2ad8d366b115843ab
Enabled : True
Expires :
Not Before :
Created : 5/21/2018 11:10:58 PM
Updated : 5/21/2018 11:10:58 PM
Purge Disabled : False
Tags :
Esse comando importa a chave chamada ITByok do local especificado pelo parâmetro KeyFilePath . A chave importada é uma chave protegida por HSM.
Para importar uma chave de seu próprio módulo de segurança de hardware, primeiro você deve gerar um pacote BYOK (um arquivo com uma extensão de nome de arquivo .byok) usando o conjunto de ferramentas BYOK do Azure Key Vault.
Para obter mais informações, consulte Como gerar e transferir chaves de HSM-Protected para o Azure Key Vault.
Exemplo 6: Importar uma chave protegida por software
Vault Name : contoso
Name : ITPfx
Version : 67da57e9cadf48a2ad8d366b115843ab
Id : https://contoso.vault.azure.net:443/keys/ITPfx/67da57e9cadf48a2ad8d366b115843ab
Enabled : True
Expires :
Not Before :
Created : 5/21/2018 11:10:58 PM
Updated : 5/21/2018 11:10:58 PM
Purge Disabled : False
Tags :
O primeiro comando converte uma cadeia de caracteres em uma cadeia de caracteres segura usando o cmdlet ConvertTo-SecureString e armazena essa cadeia de caracteres na variável $Password. Para obter mais informações, digite Get-Help ConvertTo-SecureString.
O segundo comando cria uma senha de software no cofre de chaves contoso. O comando especifica o local da chave e a senha armazenada no $Password.
Exemplo 7: Importar uma chave e atribuir atributos
Vault Name : contoso
Name : ITPfxToHSM
Version : 929bfc14db84439b823ffd1bedadaf5f
Id : https://contoso.vault.azure.net:443/keys/ITPfxToHSM/929bfc14db84439b823ffd1bedadaf5f
Enabled : True
Expires : 5/21/2020 11:12:43 PM
Not Before :
Created : 5/21/2018 11:13:17 PM
Updated : 5/21/2018 11:13:17 PM
Purge Disabled : False
Tags : Name Value
Severity high
Accounting true
O primeiro comando converte uma cadeia de caracteres em uma cadeia de caracteres segura usando o cmdlet ConvertTo-SecureString e armazena essa cadeia de caracteres na variável $Password.
O segundo comando cria um objeto DateTime usando o cmdlet Get-Date e armazena esse objeto na variável $Expires.
O terceiro comando cria a variável $tags para definir marcas para alta gravidade e TI.
O comando final importa uma chave como uma chave HSM do local especificado. O comando especifica o tempo de expiração armazenado em $Expires e senha armazenados em $Password e aplica as marcas armazenadas em $tags.
Exemplo 8: Gerar uma KEK (Chave de Troca de Chaves) para o recurso "traga sua própria chave" (BYOK)
Gera uma chave (conhecida como KEK (Chave de Troca de Chaves)). O KEK deve ser uma chave RSA-HSM que tenha apenas a operação de importação de chave. Somente o SKU Premium do Key Vault dá suporte a chaves RSA-HSM.
Para obter mais detalhes, consulte https://learn.microsoft.com/azure/key-vault/keys/hsm-protected-keys
Exemplo 9: Criar uma chave segura no hsm gerenciado
Especifica se a chave deve ser adicionada como uma chave protegida por software ou uma chave protegida por HSM no serviço do Key Vault.
Os valores válidos são: HSM e Software.
Observação: para usar o HSM como destino, você deve ter um cofre de chaves que dê suporte a HSMs. Para obter mais informações sobre as camadas de serviço e os recursos do Azure Key Vault, consulte o site de preços do Azure Key Vault.
Esse parâmetro é necessário quando você cria uma nova chave. Se você importar uma chave usando o parâmetro KeyFilePath , esse parâmetro será opcional:
Se você não especificar esse parâmetro e esse cmdlet importar uma chave com extensão de nome de arquivo .byok, ele importará essa chave como uma chave protegida por HSM. O cmdlet não pode importar essa chave como chave protegida por software.
Se você não especificar esse parâmetro e esse cmdlet importar uma chave que tenha uma extensão de nome de arquivo .pfx, ela importará a chave como uma chave protegida por software.
Indica que a chave que você está adicionando está definida como um estado inicial desabilitado. Qualquer tentativa de usar a chave falhará. Use esse parâmetro se você estiver pré-carregando chaves que pretende habilitar posteriormente.
Especifica a hora de expiração da chave em UTC, como um objeto DateTime , para a chave que esse cmdlet adiciona. Se não for especificado, a chave não expirará. Para obter um objeto DateTime , use o cmdlet Get-Date . Para obter mais informações, digite Get-Help Get-Date. Observe que expira é ignorado para Chave do Exchange de Chaves usada no processo BYOK.
Define a política de versão como um estado imutável. Uma vez marcado como imutável, esse sinalizador não pode ser redefinido e a política não pode ser alterada em nenhuma circunstância.
Especifica uma senha para o arquivo importado como um objeto SecureString . Para obter um objeto SecureString , use o cmdlet ConvertTo-SecureString . Para obter mais informações, digite Get-Help ConvertTo-SecureString. Você deve especificar essa senha para importar um arquivo com uma extensão de nome de arquivo .pfx.
Especifica o caminho de um arquivo local que contém o material de chave que esse cmdlet importa.
As extensões de nome de arquivo válidas são .byok e .pfx.
Se o arquivo for um arquivo .byok, a chave será protegida automaticamente por HSMs após a importação e você não poderá substituir esse padrão.
Se o arquivo for um arquivo .pfx, a chave será protegida automaticamente pelo software após a importação. Para substituir esse padrão, defina o parâmetro De destino como HSM para que a chave seja protegida por HSM.
Quando você especifica esse parâmetro, o parâmetro De destino é opcional.
Especifica uma matriz de operações que pode ser executada usando a chave que este cmdlet adiciona.
Se você não especificar esse parâmetro, todas as operações poderão ser executadas.
Os valores aceitáveis para esse parâmetro são uma lista separada por vírgulas de operações de chave, conforme definido pela especificação JWK (Chave Web JSON):
Especifica o nome da chave a ser adicionada ao cofre de chaves. Esse cmdlet constrói o FQDN (nome de domínio totalmente qualificado) de uma chave com base no nome especificado por esse parâmetro, no nome do cofre de chaves e no ambiente atual. O nome deve ser uma cadeia de caracteres de 1 a 63 caracteres de comprimento que contenha apenas 0-9, a-z, A-Z e - (o símbolo do traço).
Especifica a hora, como um objeto DateTime , antes do qual a chave não pode ser usada. Esse parâmetro usa UTC. Para obter um objeto DateTime , use o cmdlet Get-Date . Se você não especificar esse parâmetro, a chave poderá ser usada imediatamente.
Especifica o nome do cofre de chaves ao qual esse cmdlet adiciona a chave. Esse cmdlet constrói o FQDN de um cofre de chaves com base no nome especificado por esse parâmetro e no ambiente atual.
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
A fonte deste conteúdo pode ser encontrada no GitHub, onde você também pode criar e revisar problemas e solicitações de pull. Para obter mais informações, confira o nosso guia para colaboradores.