Share via


New-AzCosmosDbClientEncryptionKey

Cria uma nova chave de criptografia do cliente CosmosDB.

Syntax

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

O New-AzCosmosDbClientEncryptionKey cria uma nova chave de criptografia do cliente CosmosDB.

Exemplos

Exemplo 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

Este exemplo mostra como uma nova chave é criada. Se KeyEncryptionKeyResolver não for passado, o Azure Key Vault KeyResolver será usado por padrão. O primeiro comando cria um objeto KeyWrapMetadata com nome myKekV1 do tipo AZURE_KEY_VAULT com valor definido como id https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71 de chave e tipo de algoritmo "RSA-OAEP" usado para criptografar a chave. No segundo comando, uma nova chave é criada com o nome definido na variável myClientEncryptionKeyName e com KeyWrapMetadata definido como valor retornado pelo primeiro comando.

Exemplo 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

Este exemplo mostra como uma nova chave é criada e como KeyEncryptionKeyResolver pode ser passado como um parâmetro. O primeiro comando cria um objeto KeyWrapMetadata com nome myKekV1 do tipo AZURE_KEY_VAULT com valor definido como id https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71 de chave e tipo de algoritmo "RSA-OAEP" usado para criptografar a chave. O segundo comando cria um objeto KeyResolver do Azure Key Vault usando as credenciais padrão do Azure. No terceiro comando, uma nova chave é criada com o nome definido na variável myClientEncryptionKeyName, KeyWrapMetadata definido como valor retornado pelo primeiro comando e KeyEncryptionKeyResolver valor definido como KeyResolver objeto obtido através do segundo comando.

Parâmetros

-AccountName

Nome da conta de banco de dados do Cosmos DB.

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

-Confirm

Solicita a sua confirmação antes de executar o cmdlet.

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

-DatabaseName

Nome do banco de dados.

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

-DefaultProfile

As credenciais, a conta, o locatário e a assinatura usados para comunicação com o Azure.

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

-EncryptionAlgorithmName

Nome do algoritmo de encriptação do cliente.

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

-KeyEncryptionKeyResolver

Interface IKeyEncryptionKeyResolver do tipo Azure.Core.Cryptography.IKeyEncryptionKeyResolver

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

-KeyWrapMetadata

KeyWrapMetaData Object do tipo Microsoft.Azure.Commands.CosmosDB.PSSqlKeyWrapMetadata.

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

-Name

Nome da chave de criptografia do cliente.

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

-ResourceGroupName

o nome do grupo de recursos.

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

-SqlDatabaseObject

Objeto Sql Database.

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

-WhatIf

Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.

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

Entradas

PSSqlKeyWrapMetadata

Byte[]

Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider

PSSqlDatabaseGetResults

Saídas

PSSqlClientEncryptionKeyGetResults

ConflictingResourceException