Freigeben über


New-AzCosmosDbClientEncryptionKey

Erstellt einen neuen CosmosDB-Clientverschlüsselungsschlüssel.

Syntax

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>]

Beschreibung

Der New-AzCosmosDbClientEncryptionKey erstellt einen neuen CosmosDB-Clientverschlüsselungsschlüssel.

Beispiele

Beispiel 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

In diesem Beispiel wird gezeigt, wie ein neuer Schlüssel erstellt wird. Wenn KeyEncryptionKeyResolver nicht übergeben wird, wird Azure Key Vault KeyResolver standardmäßig verwendet. Der erste Befehl erstellt ein KeyWrapMetadata-Objekt mit dem Namen myKekV1 vom Typ AZURE_KEY_VAULT mit wertsatz auf Schlüssel-ID https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71 und Algorithmustyp "RSA-OAEP", der zum Verschlüsseln des Schlüssels verwendet wird. Im zweiten Befehl wird ein neuer Schlüssel mit dem Namen erstellt, der in der variablen myClientEncryptionKeyName und mit KeyWrapMetadata auf wert festgelegt wird, der vom ersten Befehl zurückgegeben wird.

Beispiel 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

In diesem Beispiel wird gezeigt, wie ein neuer Schlüssel erstellt wird und wie KeyEncryptionKeyResolver als Parameter übergeben werden kann. Der erste Befehl erstellt ein KeyWrapMetadata-Objekt mit dem Namen myKekV1 vom Typ AZURE_KEY_VAULT mit wertsatz auf Schlüssel-ID https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71 und Algorithmustyp "RSA-OAEP", der zum Verschlüsseln des Schlüssels verwendet wird. Der zweite Befehl erstellt ein Azure Key Vault KeyResolver-Objekt mit den Azure Default-Anmeldeinformationen. Im dritten Befehl wird ein neuer Schlüssel mit dem Namen erstellt, der in der Variablen myClientEncryptionKeyName festgelegt ist, KeyWrapMetadata auf wert festgelegt, der durch den ersten Befehl zurückgegeben wird, und keyEncryptionKeyResolver-Wert auf KeyResolver-Objekt festgelegt, das über den zweiten Befehl abgerufen wird.

Parameter

-AccountName

Name des Cosmos DB-Datenbankkontos.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DatabaseName

Datenbankname.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DefaultProfile

Anmeldeinformationen, Konto, Mandant und Abonnement für die Kommunikation mit Azure

Typ:IAzureContextContainer
Aliase:AzContext, AzureRmContext, AzureCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-EncryptionAlgorithmName

Name des Clientverschlüsselungsalgorithmus.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-KeyEncryptionKeyResolver

IKeyEncryptionKeyResolver-Schnittstelle vom Typ Azure.Core.Cryptography.IKeyEncryptionKeyResolver

Typ:IKeyEncryptionKeyResolver
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-KeyWrapMetadata

KeyWrapMetaData-Objekt vom Typ "Microsoft.Azure.Commands.CosmosDB.PSSqlKeyWrapMetadata".

Typ:PSSqlKeyWrapMetadata
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Name

Name des Clientverschlüsselungsschlüssels.

Typ:String
Aliase:ClientEncryptionKeyName
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ResourceGroupName

Name der Ressourcengruppe

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SqlDatabaseObject

Sql-Datenbankobjekt.

Typ:PSSqlDatabaseGetResults
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

PSSqlKeyWrapMetadata

Byte[]

Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider

PSSqlDatabaseGetResults

Ausgaben

PSSqlClientEncryptionKeyGetResults

ConflictingResourceException