Partager via


Update-AzCosmosDbClientEncryptionKey

Met à jour la clé de chiffrement du client CosmosDB. Effectue une opération de correctif côté client en lisant la clé de chiffrement client existante.

Syntaxe

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 met à jour la clé de chiffrement du client CosmosDb. Effectue une opération de correctif côté client en lisant la clé de chiffrement du client CosmosDB existante.

Exemples

Exemple 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

Cet exemple montre comment une clé est mise à jour. Si KeyEncryptionKeyResolver n’est pas passé, Azure Key Vault KeyResolver est utilisé par défaut. La première commande crée un objet KeyWrapMetadata avec le nom myKekV2 de type AZURE_KEY_VAULT avec la valeur définie sur l’ID de https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 clé et le type d’algorithme « RSA-OAEP » utilisé pour chiffrer la clé. Dans la deuxième commande, une clé portant le nom défini dans la variable myClientEncryptionKeyName est mise à jour avec KeyWrapMetadata définie sur la valeur retournée par la première commande.

Exemple 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

Cet exemple montre comment une clé est mise à jour et comment KeyEncryptionKeyResolver peut être passé en tant que paramètre. La première commande crée un objet KeyWrapMetadata avec le nom myKekV2 de type AZURE_KEY_VAULT avec la valeur définie sur l’ID de https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 clé et le type d’algorithme « RSA-OAEP » utilisé pour chiffrer la clé. La deuxième commande crée un objet KeyResolver Azure Key Vault à l’aide des informations d’identification Azure Par défaut. Dans la troisième commande, une clé portant le nom défini dans la variable myClientEncryptionKeyName est mise à jour avec KeyWrapMetadata définie sur la valeur retournée par la première commande et la valeur KeyEncryptionKeyResolver définie sur l’objet KeyResolver obtenu via la deuxième commande.

Exemple 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

Cet exemple montre comment une clé est mise à jour à l’aide d’un InputObject obtenu en lisant la clé à mettre à jour. La première commande crée un objet KeyWrapMetadata avec le nom myKekV2 de type AZURE_KEY_VAULT avec la valeur définie sur l’ID de https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 clé et le type d’algorithme « RSA-OAEP » utilisé pour chiffrer la clé. Dans la deuxième commande, la clé doit être mise à jour. La troisième commande met à jour la clé qui a été lue précédemment dans la deuxième commande. L’objet lu dans la deuxième commande est passé en tant qu’InputObject, ainsi que la mise à jour de KeyWrapMetadata obtenue dans la première commande.

Paramètres

-AccountName

Nom du compte de base de données Cosmos DB.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Confirm

Vous demande une confirmation avant d’exécuter la commande cmdlet.

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DatabaseName

Nom de la base de données.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DefaultProfile

Informations d’identification, compte, locataire et abonnement utilisés pour la communication avec Azure.

Type:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-InputObject

Objet clé de chiffrement du client.

Type:PSSqlClientEncryptionKeyGetResults
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-KeyEncryptionKeyResolver

Interface IKeyEncryptionKeyResolver de type Azure.Core.Cryptography.IKeyEncryptionKeyResolver

Type:IKeyEncryptionKeyResolver
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-KeyWrapMetadata

KeyWrapMetaData, objet de type Microsoft.Azure.Commands.CosmosDB.PSSqlKeyWrapMetadata.

Type:PSSqlKeyWrapMetadata
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Name

Nom de la clé de chiffrement du client.

Type:String
Alias:ClientEncryptionKeyName
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ResourceGroupName

Nom du groupe de ressources.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-SqlDatabaseObject

Objet Sql Database.

Type:PSSqlDatabaseGetResults
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-WhatIf

Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Alias:wi
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

Byte[]

PSSqlKeyWrapMetadata

Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider

PSSqlDatabaseGetResults

PSSqlClientEncryptionKeyGetResults

Sorties

PSSqlClientEncryptionKeyGetResults

ResourceNotFoundException