다음을 통해 공유


New-AzCosmosDbClientEncryptionKey

새 CosmosDB 클라이언트 암호화 키를 만듭니다.

구문

New-AzCosmosDbClientEncryptionKey
   -ResourceGroupName <String>
   -AccountName <String>
   -DatabaseName <String>
   -Name <String>
   -EncryptionAlgorithmName <String>
   -KeyWrapMetadata <PSSqlKeyWrapMetadata>
   [-KeyEncryptionKeyResolver <IKeyEncryptionKeyResolver>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzCosmosDbClientEncryptionKey
   -Name <String>
   -EncryptionAlgorithmName <String>
   -KeyWrapMetadata <PSSqlKeyWrapMetadata>
   [-KeyEncryptionKeyResolver <IKeyEncryptionKeyResolver>]
   -SqlDatabaseObject <PSSqlDatabaseGetResults>
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

New-AzCosmosDbClientEncryptionKey는 새 CosmosDB 클라이언트 암호화 키를 만듭니다.

예제

예 1

$myKeyWrapMetadataObject = [Microsoft.Azure.Commands.CosmosDB.Models.PSSqlKeyWrapMetadata]::new([Microsoft.Azure.Management.CosmosDB.Models.KeyWrapMetadata]::new("myKekV1","AZURE_KEY_VAULT", "https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71", "RSA-OAEP"))
New-AzCosmosDbClientEncryptionKey -AccountName myAccountName -DatabaseName myDatabaseName -ResourceGroupName myRgName -Name myClientEncryptionKeyName -EncryptionAlgorithmName "AEAD_AES_256_CBC_HMAC_SHA256" -KeyWrapMetadata $myKeyWrapMetadataObject

Name     : myContainerName
Id       : /subscriptions/mySubscriptionId/resourceGroups/myRgName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlDatabases/myDatabaseName/clientEncryptionKeys/myClientEncryptionKeyName
Resource : Microsoft.Azure.Commands.CosmosDB.Models.PSSqlClientEncryptionKeyGetPropertiesResource

이 예제에서는 새 키를 만드는 방법을 보여줍니다. KeyEncryptionKeyResolver가 전달되지 않은 경우 Azure Key Vault KeyResolver는 기본적으로 사용됩니다. 첫 번째 명령은 키 ID https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71 로 설정된 값과 키를 암호화하는 데 사용되는 알고리즘 형식 "RSA-OAEP"로 설정된 AZURE_KEY_VAULT 형식의 myKekV1 이름을 가진 KeyWrapMetadata 개체를 만듭니다. 두 번째 명령에서는 myClientEncryptionKeyName 변수에 설정된 이름으로 새 키를 만들고 KeyWrapMetadata를 첫 번째 명령에서 반환된 값으로 설정합니다.

예제 2

$myKeyWrapMetadataObject = [Microsoft.Azure.Commands.CosmosDB.Models.PSSqlKeyWrapMetadata]::new([Microsoft.Azure.Management.CosmosDB.Models.KeyWrapMetadata]::new("myKekV1","AZURE_KEY_VAULT", "https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71", "RSA-OAEP"))
$azureKeyVaultKeyResolver = [Azure.Security.KeyVault.Keys.Cryptography.KeyResolver]::new([Azure.Identity.DefaultAzureCredential]::new())
New-AzCosmosDbClientEncryptionKey -AccountName myAccountName -DatabaseName myDatabaseName -ResourceGroupName myRgName -Name myClientEncryptionKeyName -EncryptionAlgorithmName "AEAD_AES_256_CBC_HMAC_SHA256" -KeyWrapMetadata $myKeyWrapMetadataObject -KeyEncryptionKeyResolver $azureKeyVaultKeyResolver

Name     : myContainerName
Id       : /subscriptions/mySubscriptionId/resourceGroups/myRgName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlDatabases/myDatabaseName/clientEncryptionKeys/myClientEncryptionKeyName
Resource : Microsoft.Azure.Commands.CosmosDB.Models.PSSqlClientEncryptionKeyGetPropertiesResource

이 예제에서는 새 키를 만드는 방법과 KeyEncryptionKeyResolver를 매개 변수로 전달하는 방법을 보여 줍니다. 첫 번째 명령은 키 ID https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71 로 설정된 값과 키를 암호화하는 데 사용되는 알고리즘 형식 "RSA-OAEP"로 설정된 AZURE_KEY_VAULT 형식의 myKekV1 이름을 가진 KeyWrapMetadata 개체를 만듭니다. 두 번째 명령은 Azure 기본 자격 증명을 사용하여 Azure Key Vault KeyResolver 개체를 만듭니다. 세 번째 명령에서는 myClientEncryptionKeyName 변수에 설정된 이름으로 새 키를 만들고, KeyWrapMetadata는 첫 번째 명령에서 반환된 값으로 설정하고, KeyEncryptionKeyResolver 값은 두 번째 명령을 통해 얻은 KeyResolver 개체로 설정됩니다.

매개 변수

-AccountName

Cosmos DB 데이터베이스 계정의 이름입니다.

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

-Confirm

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

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

-DatabaseName

데이터베이스 이름입니다.

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

-DefaultProfile

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

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

-EncryptionAlgorithmName

클라이언트 암호화 알고리즘 이름입니다.

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

-KeyEncryptionKeyResolver

Azure.Core.Cryptography.IKeyEncryptionKeyResolver 형식의 IKeyEncryptionKeyResolver 인터페이스

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

-KeyWrapMetadata

Microsoft.Azure.Commands.CosmosDB.PSSqlKeyWrapMetadata 형식의 KeyWrapMetaData 개체입니다.

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

-Name

클라이언트 암호화 키 이름입니다.

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

-ResourceGroupName

리소스 그룹의 이름입니다.

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

-SqlDatabaseObject

Sql Database 개체입니다.

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

-WhatIf

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

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

입력

PSSqlKeyWrapMetadata

Byte[]

Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider

PSSqlDatabaseGetResults

출력

PSSqlClientEncryptionKeyGetResults

ConflictingResourceException