Partilhar via


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

ByVaultName (Predefinição)

Invoke-AzKeyVaultKeyOperation
    [-Name] <String>
    [-VaultName] <String>
    -Operation <String>
    -Algorithm <String>
    -ByteArrayValue <Byte[]>
    [-Version <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByHsmName

Invoke-AzKeyVaultKeyOperation
    [-HsmName] <String>
    [-Name] <String>
    -Operation <String>
    -Algorithm <String>
    -ByteArrayValue <Byte[]>
    [-Version <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByKeyInputObject

Invoke-AzKeyVaultKeyOperation
    [-InputObject] <PSKeyVaultKeyIdentityItem>
    -Operation <String>
    -Algorithm <String>
    -ByteArrayValue <Byte[]>
    [-Version <String>]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Invoke-AzKeyVaultKeyOperation cmdlet suporta

  1. Encriptação de uma sequência arbitrária de bytes utilizando uma chave de encriptação.
  2. Desencriptar um único bloco de dados encriptados.
  3. Encapsulamento de uma chave simétrica usando uma chave especificada.
  4. 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

$encryptedData = [pscustomobject]@{ RawResult = [byte[]]@(58,219) }
$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 $byteArrayo , que são dados originais.

Exemplo 3: Criptografa texto sem formatação usando uma chave de criptografia

$plainText = "test"
$byteArray = [system.Text.Encoding]::UTF8.GetBytes($plainText)
$encryptedData = Invoke-AzKeyVaultKeyOperation -Operation Encrypt -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $byteArray
$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.

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
$plainText = [system.Text.Encoding]::UTF8.GetString($decryptedData.RawResult)
$plainText
test

Descriptografa dados criptografados que são criptografados usando a chave de teste armazenada em test-kv. O RawResult é o resultado desencriptado no formato de matriz de bytes.

Exemplo 5: Encapsula uma chave simétrica usando uma chave especificada

$key = "ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo"
$byteArray = [system.Text.Encoding]::UTF8.GetBytes($key)
$wrappedResult = Invoke-AzKeyVaultKeyOperation -Operation Wrap -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $byteArray
$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 RawResult resultado é encapsulado no formato de matriz de bytes.

Exemplo 6: Desembrulha uma chave simétrica usando uma chave especificada

$wrappedResult = [pscustomobject]@{ RawResult = [byte[]]@(58,219) }
$unwrappedResult = Invoke-AzKeyVaultKeyOperation -Operation Unwrap -Algorithm RSA1_5 -VaultName test-kv -Name test-key -ByteArrayValue $wrappedResult.RawResult
$key = [system.Text.Encoding]::UTF8.GetString($unwrappedResult.RawResult)
$key
ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo

Desembrulha uma chave simétrica usando uma chave de teste de chave especificada armazenada em test-kv. O RawResult resultado é desempacotado no formato de matriz de bytes.

Parâmetros

-Algorithm

Identificador do algoritmo

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:EncryptionAlgorithm, WrapAlgorithm

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-ByteArrayValue

O valor a ser operado no formato de matriz de bytes.

Propriedades dos parâmetros

Tipo:

Byte[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Confirm

Solicita confirmação antes de executar o cmdlet.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:Cf.

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-DefaultProfile

As credenciais, conta, inquilino e subscrição usados para comunicação com o Azure.

Propriedades dos parâmetros

Tipo:IAzureContextContainer
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:AzContext, AzureRmContext, AzureCredential

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-HsmName

Nome HSM.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

ByHsmName
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-InputObject

Objeto-chave

Propriedades dos parâmetros

Tipo:PSKeyVaultKeyIdentityItem
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:Chave

Conjuntos de parâmetros

ByKeyInputObject
Position:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Name

Nome da chave.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:Nome da chave

Conjuntos de parâmetros

ByVaultName
Position:1
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False
ByHsmName
Position:1
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Operation

Identificador do algoritmo

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-VaultName

Nome do cofre.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

ByVaultName
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Version

Versão chave.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:Versão Principal

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:Wi

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

CommonParameters

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.

Entradas

PSKeyVaultKeyIdentityItem

Saídas

PSKeyOperationResult