Compartilhar via


Update-AzCosmosDbClientEncryptionKey

Atualiza a chave de criptografia do cliente CosmosDB. Executa uma operação de patch do lado do cliente lendo a chave de criptografia do cliente existente.

Syntax

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

Description

O Update-AzCosmosDbClientEncryptionKey atualiza a chave de criptografia do cliente CosmosDb. Executa uma operação de patch do lado do cliente lendo a chave de criptografia de cliente do CosmosDB existente.

Exemplos

Exemplo 1

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

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 chave é atualizada. Se KeyEncryptionKeyResolver não for passado, o Cofre de Chaves do Azure KeyResolver será usado por padrão. O primeiro comando cria um objeto KeyWrapMetadata com o nome myKekV2 do tipo AZURE_KEY_VAULT com o valor definido como id https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 da chave e o tipo de algoritmo "RSA-OAEP" usado para criptografar a chave. No segundo comando, uma chave com nome como definido na variável myClientEncryptionKeyName é atualizada com KeyWrapMetadata definido como valor retornado pelo primeiro comando.

Exemplo 2

$updatedKeyWrapMetadataObject = [Microsoft.Azure.Commands.CosmosDB.Models.PSSqlKeyWrapMetadata]::new([Microsoft.Azure.Management.CosmosDB.Models.KeyWrapMetadata]::new("myKekV2","AZURE_KEY_VAULT", "https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71", "RSA-OAEP"))
$azureKeyVaultKeyResolver = [Azure.Security.KeyVault.Keys.Cryptography.KeyResolver]::new([Azure.Identity.DefaultAzureCredential]::new())
Update-AzCosmosDbClientEncryptionKey -AccountName myAccountName -DatabaseName myDatabaseName -ResourceGroupName myRgName -Name myClientEncryptionKeyName -KeyWrapMetadata $updatedKeyWrapMetadataObject -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 chave é atualizada e como KeyEncryptionKeyResolver pode ser passado como um parâmetro. O primeiro comando cria um objeto KeyWrapMetadata com o nome myKekV2 do tipo AZURE_KEY_VAULT com o valor definido como id https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 da chave e o tipo de algoritmo "RSA-OAEP" usado para criptografar a chave. O segundo comando cria um objeto KeyResolver do Cofre de Chaves do Azure usando as credenciais padrão do Azure. No terceiro comando, uma chave com nome definido na variável myClientEncryptionKeyName é atualizada com KeyWrapMetadata definido como valor retornado pelo primeiro comando e valor KeyEncryptionKeyResolver definido como objeto KeyResolver obtido por meio do segundo comando.

Exemplo 3

$updatedKeyWrapMetadataObject = [Microsoft.Azure.Commands.CosmosDB.Models.PSSqlKeyWrapMetadata]::new([Microsoft.Azure.Management.CosmosDB.Models.KeyWrapMetadata]::new("myKekV2","AZURE_KEY_VAULT", "https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71", "RSA-OAEP"))
$keyToUpdate = Get-AzCosmosDbClientEncryptionKey -AccountName myAccountName -DatabaseName myDatabaseName -ResourceGroupName myRgName -ClientEncryptionKeyName myClientEncryptionKeyName
Update-AzCosmosDbClientEncryptionKey -InputObject $keyToUpdate -KeyWrapMetadata $updatedKeyWrapMetadataObject -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 chave é atualizada usando um InputObject que é obtido lendo a chave que deve ser atualizada. O primeiro comando cria um objeto KeyWrapMetadata com o nome myKekV2 do tipo AZURE_KEY_VAULT com o valor definido como id https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 da chave e o tipo de algoritmo "RSA-OAEP" usado para criptografar a chave. No segundo comando lê a chave que deve ser atualizada. O terceiro comando atualiza a chave que foi lida anteriormente no segundo comando. O objeto lido no segundo comando é passado como o InputObject junto com o KeyWrapMetadata atualizado obtido no primeiro comando.

Parâmetros

-AccountName

Nome da conta de banco de dados do Cosmos DB.

Tipo:String
Position:Named
valor padrão:None
Obrigatório:True
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

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

Tipo:SwitchParameter
Aliases:cf
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:False
Accept wildcard characters:False

-DatabaseName

nome do banco de dados.

Tipo:String
Position:Named
valor padrão:None
Obrigatório:True
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

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

Tipo:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Objeto Chave de Criptografia do Cliente.

Tipo:PSSqlClientEncryptionKeyGetResults
Position:Named
valor padrão:None
Obrigatório:True
Accept pipeline input:True
Accept wildcard characters:False

-KeyEncryptionKeyResolver

Interface IKeyEncryptionKeyResolver do tipo Azure.Core.Cryptography.IKeyEncryptionKeyResolver

Tipo:IKeyEncryptionKeyResolver
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:True
Accept wildcard characters:False

-KeyWrapMetadata

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

Tipo:PSSqlKeyWrapMetadata
Position:Named
valor padrão:None
Obrigatório:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Nome da chave de criptografia do cliente.

Tipo:String
Aliases:ClientEncryptionKeyName
Position:Named
valor padrão:None
Obrigatório:True
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

Nome do grupo de recursos.

Tipo:String
Position:Named
valor padrão:None
Obrigatório:True
Accept pipeline input:False
Accept wildcard characters:False

-SqlDatabaseObject

Objeto do Banco de dados SQL.

Tipo:PSSqlDatabaseGetResults
Position:Named
valor padrão:None
Obrigatório:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

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

Tipo:SwitchParameter
Aliases:wi
Position:Named
valor padrão:None
Obrigatório:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

Byte[]

PSSqlKeyWrapMetadata

Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider

PSSqlDatabaseGetResults

PSSqlClientEncryptionKeyGetResults

Saídas

PSSqlClientEncryptionKeyGetResults

ResourceNotFoundException