Share via


Invoke-AzKeyVaultKeyOperation

키 자격 증명 모음 또는 관리형 hsm에 저장된 지정된 키를 사용하여 "암호화", "암호 해독", "래핑" 또는 "래핑 해제"와 같은 작업을 수행합니다.

Syntax

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

Invoke-AzKeyVaultKeyOperation cmdlet 지원

  1. 암호화 키를 사용하여 임의의 바이트 시퀀스 암호화
  2. 암호화된 데이터의 단일 블록 암호 해독
  3. 지정된 키를 사용하여 대칭 키를 래핑합니다.
  4. 처음에 해당 키를 래핑하는 데 사용된 지정된 키를 사용하여 대칭 키를 래핑 해제합니다.

예제

예제 1: 암호화 키를 사용하여 바이트 배열 암호화

$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

$byteArray test-kv에 저장된 테스트 키를 사용하여 암호화합니다.

예제 2: 암호화 키를 사용하여 바이트 배열 암호 해독

$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

test-kv에 $encryptedData.RawResult 저장된 테스트 키를 사용하여 암호를 해독합니다. 원본 $decryptedData.RawResult 데이터인 와 $byteArray동일합니다.

예제 3: 암호화 키를 사용하여 일반 텍스트 암호화

$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

test-kv에 저장된 테스트 키를 사용하여 문자열 "test"를 암호화합니다. 바이 RawResult 트 배열 형식의 암호화된 결과입니다. 여기서 [System.Convert]::ToBase64String($encryptedData.RawResult)은 $encryptedData.Result와 같습니다.

예제 4: 암호화된 데이터를 일반 텍스트로 암호 해독

$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

test-kv에 저장된 테스트 키를 사용하여 암호화된 암호화된 데이터의 암호를 해독합니다. $decryptedData.Resulttest인 경우 이 값은 RawResult [System.Text.UTF8Encoding]::UTF8인 바이트 배열 형식의 암호 해독된 결과입니다. GetString($decryptedData.RawResult)은 $decryptedData.Result와 같습니다.

예제 5: 지정된 키를 사용하여 대칭 키 래핑

$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

test-kv에 저장된 테스트 키라는 키를 사용하여 대칭 키를 래핑합니다. 래 Result 핑된 결과는 Base64 문자열 형식입니다.

예제 6: 지정된 키를 사용하여 대칭 키 래프 해제

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

test-kv에 저장된 지정된 키 테스트 키를 사용하여 대칭 키를 래프 해제합니다. 일반 Result 문자열입니다.

매개 변수

-Algorithm

알고리즘 식별자

Type:String
Aliases:EncryptionAlgorithm, WrapAlgorithm
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ByteArrayValue

바이트 배열 형식으로 작동할 값입니다.

Type:Byte[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Azure와의 통신에 사용되는 자격 증명, 계정, 테넌트 및 구독입니다.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HsmName

HSM 이름입니다.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Key 개체

Type:PSKeyVaultKeyIdentityItem
Aliases:Key
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

키 이름입니다.

Type:String
Aliases:KeyName
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Operation

알고리즘 식별자

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Value

작동할 값입니다. 이 매개 변수는 UTF-8 인코딩 방식으로 바이트 배열로 변환됩니다. 값을 UTF-8로 인코딩할 수 없는 경우 매개 변수 ByteArrayValue를 대신 사용하세요.

Type:SecureString
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VaultName

자격 증명 모음 이름.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Version

키 버전입니다.

Type:String
Aliases:KeyVersion
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

PSKeyVaultKeyIdentityItem

출력

PSKeyOperationResult