Update-AzCosmosDbClientEncryptionKey
Aktualizuje klucz szyfrowania klienta usługi CosmosDB. Wykonuje operację stosowania poprawek po stronie klienta, odczytując istniejący klucz szyfrowania klienta.
Składnia
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>]
Opis
Polecenie Update-AzCosmosDbClientEncryptionKey aktualizuje klucz szyfrowania klienta usługi CosmosDb. Wykonuje operację stosowania poprawek po stronie klienta, odczytując istniejący klucz szyfrowania klienta usługi CosmosDB.
Przykłady
Przykład 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
W tym przykładzie pokazano, jak klucz jest aktualizowany. Jeśli klucz KeyEncryptionKeyResolver nie jest przekazywany, usługa Azure Key Vault KeyResolver jest używana domyślnie. Pierwsze polecenie tworzy obiekt KeyWrapMetadata o nazwie myKekV2 typu AZURE_KEY_VAULT z wartością ustawioną na identyfikator https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 klucza i typ algorytmu "RSA-OAEP" używany do szyfrowania klucza. W drugim poleceniu klucz o nazwie ustawionej w zmiennej myClientEncryptionKeyName jest aktualizowany przy użyciu parametru KeyWrapMetadata ustawionego na wartość zwróconą przez pierwsze polecenie.
Przykład 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
W tym przykładzie pokazano, jak klucz jest aktualizowany i jak klucz KeyEncryptionKeyResolver można przekazać jako parametr. Pierwsze polecenie tworzy obiekt KeyWrapMetadata o nazwie myKekV2 typu AZURE_KEY_VAULT z wartością ustawioną na identyfikator https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 klucza i typ algorytmu "RSA-OAEP" używany do szyfrowania klucza. Drugie polecenie tworzy obiekt KeyResolver usługi Azure Key Vault przy użyciu poświadczeń domyślnych platformy Azure. W trzecim poleceniu klucz o nazwie ustawionej w zmiennej myClientEncryptionKeyName jest aktualizowany przy użyciu parametru KeyWrapMetadata ustawionego na wartość zwracaną przez pierwsze polecenie i wartość KeyEncryptionKeyResolver ustawioną na obiekt KeyResolver uzyskany za pomocą drugiego polecenia.
Przykład 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
W tym przykładzie pokazano, jak klucz jest aktualizowany przy użyciu obiektu InputObject, który jest uzyskiwany przez odczytanie klucza, który musi zostać zaktualizowany. Pierwsze polecenie tworzy obiekt KeyWrapMetadata o nazwie myKekV2 typu AZURE_KEY_VAULT z wartością ustawioną na identyfikator https://contoso.vault.azure.net/keys/myKekV2/78deebed173b48e48f55abf87ed4cf71 klucza i typ algorytmu "RSA-OAEP" używany do szyfrowania klucza. W drugim poleceniu odczytuje klucz, który ma zostać zaktualizowany. Trzecie polecenie aktualizuje klucz, który został odczytany wcześniej w drugim poleceniu. Obiekt odczytany w drugim poleceniu jest przekazywany jako InputObject wraz ze zaktualizowaną wartością KeyWrapMetadata uzyskaną w pierwszym poleceniu.
Parametry
-AccountName
Nazwa konta bazy danych usługi Cosmos DB.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DatabaseName
Nazwa bazy danych.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DefaultProfile
Poświadczenia, konto, dzierżawa i subskrypcja używane do komunikacji z platformą Azure.
Typ: | IAzureContextContainer |
Aliasy: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-InputObject
Obiekt Klucz szyfrowania klienta.
Typ: | PSSqlClientEncryptionKeyGetResults |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-KeyEncryptionKeyResolver
Interfejs IKeyEncryptionKeyResolver typu Azure.Core.Cryptography.IKeyEncryptionKeyResolver
Typ: | IKeyEncryptionKeyResolver |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-KeyWrapMetadata
KeyWrapMetaData Object typu Microsoft.Azure.Commands.CosmosDB.PSSqlKeyWrapMetadata.
Typ: | PSSqlKeyWrapMetadata |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Name
Nazwa klucza szyfrowania klienta.
Typ: | String |
Aliasy: | ClientEncryptionKeyName |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ResourceGroupName
Nazwa grupy zasobów.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-SqlDatabaseObject
Obiekt usługi Sql Database.
Typ: | PSSqlDatabaseGetResults |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
Byte[]
Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider
PSSqlClientEncryptionKeyGetResults
Dane wyjściowe
PSSqlClientEncryptionKeyGetResults