Partager via


New-AzCosmosDbClientEncryptionKey

Crée une clé de chiffrement du client CosmosDB.

Syntaxe

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

New-AzCosmosDbClientEncryptionKey crée une clé de chiffrement du client CosmosDB.

Exemples

Exemple 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

Cet exemple montre comment une nouvelle clé est créée. 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 myKekV1 de type AZURE_KEY_VAULT avec la valeur définie sur l’ID de https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71 clé et le type d’algorithme « RSA-OAEP » utilisés pour chiffrer la clé. Dans la deuxième commande, une nouvelle clé est créée avec le nom défini dans la variable myClientEncryptionKeyName et avec keyWrapMetadata défini sur la valeur retournée par la première commande.

Exemple 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

Cet exemple montre comment une nouvelle clé est créée et comment KeyEncryptionKeyResolver peut être passée en tant que paramètre. La première commande crée un objet KeyWrapMetadata avec le nom myKekV1 de type AZURE_KEY_VAULT avec la valeur définie sur l’ID de https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71 clé et le type d’algorithme « RSA-OAEP » utilisés 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 nouvelle clé est créée avec le nom défini dans la variable myClientEncryptionKeyName, KeyWrapMetadata a la valeur renvoyée par la première commande et la valeur KeyEncryptionKeyResolver définie sur l’objet KeyResolver obtenu via la deuxième 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 l’applet de commande.

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

-EncryptionAlgorithmName

Nom de l’algorithme de chiffrement du client.

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

-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

PSSqlKeyWrapMetadata

Byte[]

Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider

PSSqlDatabaseGetResults

Sorties

PSSqlClientEncryptionKeyGetResults

ConflictingResourceException