다음을 통해 공유


Invoke-AzKeyVaultKeyOperation

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

구문

Invoke-AzKeyVaultKeyOperation
      [-Version <String>]
      -Operation <String>
      -Algorithm <String>
      [-ByteArrayValue <Byte[]>]
      [-Name] <String>
      [-VaultName] <String>
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-AzKeyVaultKeyOperation
      [-Version <String>]
      -Operation <String>
      -Algorithm <String>
      [-ByteArrayValue <Byte[]>]
      [-HsmName] <String>
      [-Name] <String>
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-AzKeyVaultKeyOperation
      [-Version <String>]
      -Operation <String>
      -Algorithm <String>
      [-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: 암호화 키를 사용하여 일반 텍스트 암호화

$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

test-kv에 저장된 테스트 키를 사용하여 문자열 "test"를 암호화합니다. RawResult 바이트 배열 형식의 암호화된 결과입니다.

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

$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

test-kv에 저장된 테스트 키를 사용하여 암호화된 암호화된 데이터의 암호를 해독합니다. RawResult 바이트 배열 형식의 암호 해독된 결과입니다.

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

$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

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

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

$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

test-kv에 저장된 지정된 키 테스트 키를 사용하여 대칭 키를 래프 해제합니다. RawResult 래핑 해제된 결과는 바이트 배열 형식입니다.

매개 변수

-Algorithm

알고리즘 식별자

형식:String
별칭:EncryptionAlgorithm, WrapAlgorithm
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ByteArrayValue

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

형식:Byte[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Confirm

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

형식:SwitchParameter
별칭:cf
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DefaultProfile

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

형식:IAzureContextContainer
별칭:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-HsmName

HSM 이름입니다.

형식:String
Position:0
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InputObject

Key 개체

형식:PSKeyVaultKeyIdentityItem
별칭:Key
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Name

키 이름입니다.

형식:String
별칭:KeyName
Position:1
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Operation

알고리즘 식별자

형식:String
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-VaultName

자격 증명 모음 이름.

형식:String
Position:0
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Version

키 버전입니다.

형식:String
별칭:KeyVersion
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-WhatIf

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

형식:SwitchParameter
별칭:wi
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

PSKeyVaultKeyIdentityItem

출력

PSKeyOperationResult