Compartir a través de


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 existente.

Sintaxis

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

El 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. de clave https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 y 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. de clave https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 y 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. de clave https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 y 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.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DatabaseName

Nombre de la base de datos.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DefaultProfile

Las credenciales, la cuenta, el inquilino y la suscripción que se usan para la comunicación con Azure.

Tipo:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-InputObject

Objeto de clave de cifrado de cliente.

Tipo:PSSqlClientEncryptionKeyGetResults
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-KeyEncryptionKeyResolver

Interfaz IKeyEncryptionKeyResolver de tipo Azure.Core.Cryptography.IKeyEncryptionKeyResolver

Tipo:IKeyEncryptionKeyResolver
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-KeyWrapMetadata

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

Tipo:PSSqlKeyWrapMetadata
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Name

Nombre de clave de cifrado de cliente.

Tipo:String
Alias:ClientEncryptionKeyName
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ResourceGroupName

Nombre del grupo de recursos.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SqlDatabaseObject

Objeto Sql Database.

Tipo:PSSqlDatabaseGetResults
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-WhatIf

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

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

Byte[]

PSSqlKeyWrapMetadata

Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider

PSSqlDatabaseGetResults

PSSqlClientEncryptionKeyGetResults

Salidas

PSSqlClientEncryptionKeyGetResults

ResourceNotFoundException