Freigeben über


Update-AzCosmosDbClientEncryptionKey

Aktualisiert den CosmosDB-Clientverschlüsselungsschlüssel. Führt einen clientseitigen Patchvorgang durch Lesen des vorhandenen Clientverschlüsselungsschlüssels aus.

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

Beschreibung

Der Update-AzCosmosDbClientEncryptionKey aktualisiert den CosmosDb-Clientverschlüsselungsschlüssel. Führt einen clientseitigen Patchvorgang durch Lesen des vorhandenen CosmosDB-Clientverschlüsselungsschlüssels aus.

Beispiele

Beispiel 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

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

Beispiel 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

In diesem Beispiel wird gezeigt, wie ein Schlüssel aktualisiert wird und wie KeyEncryptionKeyResolver als Parameter übergeben werden kann. Der erste Befehl erstellt ein KeyWrapMetadata-Objekt mit dem Namen myKekV2 vom Typ AZURE_KEY_VAULT mit wertsatz auf Schlüssel-ID https://contoso.vault.azure.net/keys/myKekV2/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 Schlüssel mit dem Namen, der in der Variablen myClientEncryptionKeyName festgelegt ist, mit KeyWrapMetadata auf wert aktualisiert, der durch den ersten Befehl zurückgegeben wird, und keyEncryptionKeyResolver-Wert auf KeyResolver-Objekt festgelegt, das über den zweiten Befehl abgerufen wird.

Beispiel 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

In diesem Beispiel wird gezeigt, wie ein Schlüssel mithilfe eines InputObjects aktualisiert wird, das durch Lesen des Schlüssels abgerufen wird, der aktualisiert werden muss. Der erste Befehl erstellt ein KeyWrapMetadata-Objekt mit dem Namen myKekV2 vom Typ AZURE_KEY_VAULT mit wertsatz auf Schlüssel-ID https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 und Algorithmustyp "RSA-OAEP", der zum Verschlüsseln des Schlüssels verwendet wird. Im zweiten Befehl wird die Taste gelesen, die aktualisiert werden soll. Der dritte Befehl aktualisiert die Taste, die zuvor im zweiten Befehl gelesen wurde. Das im zweiten Befehl gelesene Objekt wird zusammen mit den aktualisierten KeyWrapMetadata,die im ersten Befehl abgerufen wurden, als InputObject übergeben.

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

-InputObject

Client Encryption Key-Objekt.

Typ:PSSqlClientEncryptionKeyGetResults
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
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

Byte[]

PSSqlKeyWrapMetadata

Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider

PSSqlDatabaseGetResults

PSSqlClientEncryptionKeyGetResults

Ausgaben

PSSqlClientEncryptionKeyGetResults

ResourceNotFoundException