Update-AzCosmosDbClientEncryptionKey

Novedades la clave de cifrado de cliente de CosmosDB. Realiza una operación de revisión del lado cliente leyendo la clave de cifrado de 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

Update-AzCosmosDbClientEncryptionKey actualiza la clave de cifrado de cliente de CosmosDb. Realiza una operación de revisión del lado cliente leyendo la clave de cifrado de cliente de CosmosDB existente.

Ejemplos

Ejemplo 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

En este ejemplo se muestra cómo se actualiza una clave. Si KeyEncryptionKeyResolver no se pasa Key Vault KeyResolver se usa de forma predeterminada. El primer comando crea un objeto KeyWrapMetadata con el nombre myKekV2 de tipo AZURE_KEY_VAULT con el valor establecido en id. https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 de clave y el tipo de algoritmo "RSA-OAEP" usado para cifrar la clave. En el segundo comando, se actualiza una clave con el nombre establecido en la variable myClientEncryptionKeyName con KeyWrapMetadata establecido en el valor devuelto por el primer comando.

Ejemplo 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

En este ejemplo se muestra cómo se actualiza una clave y cómo se puede pasar KeyEncryptionKeyResolver como parámetro. El primer comando crea un objeto KeyWrapMetadata con el nombre myKekV2 de tipo AZURE_KEY_VAULT con el valor establecido en id. https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 de clave y el tipo de algoritmo "RSA-OAEP" usado para cifrar la clave. El segundo comando crea un objeto KeyResolver de Azure Key Vault mediante las credenciales predeterminadas de Azure. En el tercer comando, se actualiza una clave con el nombre establecido en la variable myClientEncryptionKeyName con KeyWrapMetadata establecido en el valor devuelto por el primer comando y el valor KeyEncryptionKeyResolver establecido en el objeto KeyResolver obtenido mediante el segundo comando.

Ejemplo 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

En este ejemplo se muestra cómo se actualiza una clave mediante un InputObject que se obtiene leyendo la clave que se debe actualizar. El primer comando crea un objeto KeyWrapMetadata con el nombre myKekV2 de tipo AZURE_KEY_VAULT con el valor establecido en id. https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 de clave y el tipo de algoritmo "RSA-OAEP" usado para cifrar la clave. En el segundo comando se lee la clave que se va a actualizar. El tercer comando actualiza la clave que se leyó anteriormente en el segundo comando. El objeto leído en el segundo comando se pasa como InputObject junto con keyWrapMetadata actualizado obtenido en el primer comando.

Parámetros

-AccountName

Nombre de la cuenta de base de datos de Cosmos DB.

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

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

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

-DatabaseName

nombre de base de datos.

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

-DefaultProfile

Credenciales, cuenta, inquilino y suscripción usados para la comunicación con Azure.

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

-InputObject

Objeto de clave de cifrado de cliente.

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

-KeyEncryptionKeyResolver

Interfaz IKeyEncryptionKeyResolver de tipo Azure.Core.Cryptography.IKeyEncryptionKeyResolver

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

-KeyWrapMetadata

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

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

-Name

Nombre de clave de cifrado de cliente.

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

-ResourceGroupName

Nombre del 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

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

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

Entradas

Byte[]

PSSqlKeyWrapMetadata

Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider

PSSqlDatabaseGetResults

PSSqlClientEncryptionKeyGetResults

Salidas

PSSqlClientEncryptionKeyGetResults

ResourceNotFoundException