Invoke-AzKeyVaultKeyOperation
Executa operações como "Encrypt", "Decrypt", "Wrap" ou "Unwrap" usando uma chave especificada armazenada em um cofre de chaves ou hsm gerenciado.
Sintaxe
Invoke-AzKeyVaultKeyOperation
[-Version <String>]
-Operation <String>
-Algorithm <String>
[-Value <SecureString>]
[-ByteArrayValue <Byte[]>]
[-Name] <String>
[-VaultName] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-AzKeyVaultKeyOperation
[-Version <String>]
-Operation <String>
-Algorithm <String>
[-Value <SecureString>]
[-ByteArrayValue <Byte[]>]
[-HsmName] <String>
[-Name] <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-AzKeyVaultKeyOperation
[-Version <String>]
-Operation <String>
-Algorithm <String>
[-Value <SecureString>]
[-ByteArrayValue <Byte[]>]
[-InputObject] <PSKeyVaultKeyIdentityItem>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O cmdlet Invoke-AzKeyVaultKeyOperation suporta
- Encriptação de uma sequência arbitrária de bytes utilizando uma chave de encriptação.
- Desencriptar um único bloco de dados encriptados.
- Encapsulamento de uma chave simétrica usando uma chave especificada.
- Desembrulhar uma chave simétrica usando a chave especificada que foi usada inicialmente para encapsular essa chave.
Exemplos
Exemplo 1: Criptografa a matriz de bytes usando uma chave de criptografia
$byteArray = [Byte[]]@(58, 219)
$encryptedData = Invoke-AzKeyVaultKeyOperation -Operation Encrypt -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $byteArray
$encryptedData
KeyId : https://bez-kv.vault.azure.net/keys/bez-key/c96ce0fb18de446c9f4b911b686988af
RawResult : {21, 39, 82, 56…}
Algorithm : RSA1_5
Criptografa $byteArray
usando a chave de teste armazenada em test-kv.
Exemplo 2: Descriptografa a matriz de bytes usando uma chave de criptografia
$decryptedData = Invoke-AzKeyVaultKeyOperation -Operation Decrypt -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $encryptedData.RawResult
$decryptedData
KeyId : https://bez-kv.vault.azure.net/keys/bez-key/c96ce0fb18de446c9f4b911b686988af
RawResult : {58, 219}
Algorithm : RSA1_5
Descriptografa $encryptedData.RawResult
usando a chave de teste armazenada em test-kv. O $decryptedData.RawResult
mesmo acontece com $byteArray
o , que são dados originais.
Exemplo 3: Criptografa texto sem formatação usando uma chave de criptografia
$encryptedData = Invoke-AzKeyVaultKeyOperation -Operation Encrypt -Algorithm RSA1_5 -VaultName test-kv -Name test-key -Value (ConvertTo-SecureString -String "test" -AsPlainText -Force)
$encryptedData
KeyId : https://test-kv.vault.azure.net/keys/test-key/bd8b77352a2443d4983bd70e9f660bc6
RawResult : {58, 219, 6, 236…}
Algorithm : RSA1_5
Criptografa a cadeia de caracteres "test" usando a chave de teste armazenada em test-kv. O RawResult
é o resultado criptografado no formato de matriz de bytes, onde [System.Convert]::ToBase64String($encryptedData.RawResult) é igual a $encryptedData.Result.
Exemplo 4: Desencriptar dados encriptados para texto simples
$decryptedData = Invoke-AzKeyVaultKeyOperation -Operation Decrypt -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $encryptedData.RawResult
$decryptedData
KeyId : https://bez-kv.vault.azure.net/keys/bez-key/c96ce0fb18de446c9f4b911b686988af
RawResult : $byteArray
Algorithm : RSA1_5
Descriptografa dados criptografados que são criptografados usando a chave de teste armazenada em test-kv. O $decryptedData.Result
é test
. O RawResult
é o resultado descriptografado no formato de matriz de bytes, onde [System.Text.UTF8Encoding]::UTF8. GetString($decryptedData.RawResult) é igual a $decryptedData.Result.
Exemplo 5: Encapsula uma chave simétrica usando uma chave especificada
$wrappedResult = Invoke-AzKeyVaultKeyOperation -Operation Wrap -Algorithm RSA1_5 -VaultName test-kv -Name test-key -Value (ConvertTo-SecureString -String "ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo" -AsPlainText -Force)
$wrappedResult | Format-List
KeyId : https://test-kv.vault.azure.net/keys/test-key/375cdf20252043b79c8ca0c57b6c7679
RawResult : {58, 219, 6, 236…}
Algorithm : RSA1_5
Encapsula uma chave simétrica usando a chave chamada test-key armazenada em test-kv. O Result
resultado é encapsulado no formato de cadeia de caracteres Base64.
Exemplo 6: Desembrulha uma chave simétrica usando uma chave especificada
Invoke-AzKeyVaultKeyOperation -Operation Unwrap -Algorithm RSA1_5 -VaultName test-kv -Name test-key -Value (ConvertTo-SecureString -String $result.Result -AsPlainText -Force)
KeyId : https://test-kv.vault.azure.net/keys/test-key/375cdf20252043b79c8ca0c57b6c7679
RawResult : {58, 219, 6, 236…}
Algorithm : RSA1_5
Desembrulha uma chave simétrica usando uma chave de teste de chave especificada armazenada em test-kv. O Result
é uma cadeia de caracteres simples.
Parâmetros
-Algorithm
Identificador do algoritmo
Tipo: | String |
Aliases: | EncryptionAlgorithm, WrapAlgorithm |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-ByteArrayValue
O valor a ser operado no formato de matriz de bytes.
Tipo: | Byte[] |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Confirm
Solicita a sua confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-DefaultProfile
As credenciais, a conta, o locatário e a assinatura usados para comunicação com o Azure.
Tipo: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-HsmName
Nome HSM.
Tipo: | String |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-InputObject
Objeto-chave
Tipo: | PSKeyVaultKeyIdentityItem |
Aliases: | Key |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-Name
Nome da chave.
Tipo: | String |
Aliases: | KeyName |
Position: | 1 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Operation
Identificador do algoritmo
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Value
O valor a ser operado. Este parâmetro será convertido em matriz de bytes na forma de codificação UTF-8. Se o seu valor não puder ser codificado por UTF-8, use o parâmetro ByteArrayValue como alternativa.
Tipo: | SecureString |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-VaultName
Nome do cofre.
Tipo: | String |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Version
Versão chave.
Tipo: | String |
Aliases: | KeyVersion |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-WhatIf
Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |