Condividi tramite


Update-AzCosmosDbClientEncryptionKey

Aggiorna la chiave di crittografia client di CosmosDB. Esegue un'operazione di patch sul lato client leggendo la chiave di crittografia client esistente.

Sintassi

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

Descrizione

Update-AzCosmosDbClientEncryptionKey aggiorna la chiave di crittografia client di CosmosDb. Esegue un'operazione patch sul lato client leggendo la chiave di crittografia client di CosmosDB esistente.

Esempio

Esempio 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

Questo esempio mostra come viene aggiornata una chiave. Se KeyEncryptionKeyResolver non viene passato Azure Key Vault KeyResolver viene usato per impostazione predefinita. Il primo comando crea un oggetto KeyWrapMetadata con nome myKekV2 di tipo AZURE_KEY_VAULT con valore impostato su ID https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 chiave e tipo di algoritmo "RSA-OAEP" usato per crittografare la chiave. Nel secondo comando una chiave con nome impostato nella variabile myClientEncryptionKeyName viene aggiornata con KeyWrapMetadata impostato sul valore restituito dal primo comando.

Esempio 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

Questo esempio mostra come una chiave viene aggiornata e come è possibile passare KeyEncryptionKeyResolver come parametro. Il primo comando crea un oggetto KeyWrapMetadata con nome myKekV2 di tipo AZURE_KEY_VAULT con valore impostato su ID https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 chiave e tipo di algoritmo "RSA-OAEP" usato per crittografare la chiave. Il secondo comando crea un oggetto KeyResolver di Azure Key Vault usando le credenziali predefinite di Azure. Nel terzo comando una chiave con nome impostato nella variabile myClientEncryptionKeyName viene aggiornata con KeyWrapMetadata impostato sul valore restituito dal primo comando e il valore KeyEncryptionKeyResolver impostato sull'oggetto KeyResolver ottenuto tramite il secondo comando.

Esempio 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 questo esempio viene illustrato come una chiave viene aggiornata usando un InputObject ottenuto leggendo la chiave che deve essere aggiornata. Il primo comando crea un oggetto KeyWrapMetadata con nome myKekV2 di tipo AZURE_KEY_VAULT con valore impostato su ID https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 chiave e tipo di algoritmo "RSA-OAEP" usato per crittografare la chiave. Nel secondo comando legge la chiave da aggiornare. Il terzo comando aggiorna la chiave che è stata letta in precedenza nel secondo comando. L'oggetto letto nel secondo comando viene passato come InputObject insieme al keyWrapMetadata aggiornato ottenuto nel primo comando.

Parametri

-AccountName

Nome dell'account del database Cosmos DB.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DatabaseName

nome del database.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DefaultProfile

Le credenziali, l’account, il tenant e la sottoscrizione usati per comunicare con Azure.

Tipo:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-InputObject

Oggetto Chiave di crittografia client.

Tipo:PSSqlClientEncryptionKeyGetResults
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-KeyEncryptionKeyResolver

Interfaccia IKeyEncryptionKeyResolver di tipo Azure.Core.Cryptography.IKeyEncryptionKeyResolver

Tipo:IKeyEncryptionKeyResolver
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-KeyWrapMetadata

Oggetto KeyWrapMetaData di tipo Microsoft.Azure.Commands.CosmosDB.PSSqlKeyWrapMetadata.

Tipo:PSSqlKeyWrapMetadata
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Name

Nome chiave di crittografia client.

Tipo:String
Alias:ClientEncryptionKeyName
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ResourceGroupName

Nome del gruppo di risorse.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SqlDatabaseObject

Oggetto database SQL.

Tipo:PSSqlDatabaseGetResults
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

Byte[]

PSSqlKeyWrapMetadata

Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider

PSSqlDatabaseGetResults

PSSqlClientEncryptionKeyGetResults

Output

PSSqlClientEncryptionKeyGetResults

ResourceNotFoundException