Udostępnij za pośrednictwem


New-AzCosmosDbClientEncryptionKey

Tworzy nowy klucz szyfrowania klienta usługi CosmosDB.

Składnia

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

Opis

New-AzCosmosDbClientEncryptionKey tworzy nowy klucz szyfrowania klienta usługi CosmosDB.

Przykłady

Przykład 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

W tym przykładzie pokazano, jak jest tworzony nowy klucz. 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 myKekV1 typu AZURE_KEY_VAULT z wartością ustawioną na identyfikator https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71 klucza i typ algorytmu "RSA-OAEP" używany do szyfrowania klucza. W drugim poleceniu zostanie utworzony nowy klucz o nazwie ustawionej w zmiennej myClientEncryptionKeyName, a parametr KeyWrapMetadata ma wartość zwracaną przez pierwsze polecenie.

Przykład 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

W tym przykładzie pokazano, jak jest tworzony nowy klucz i jak klucz KeyEncryptionKeyResolver można przekazać jako parametr. Pierwsze polecenie tworzy obiekt KeyWrapMetadata o nazwie myKekV1 typu AZURE_KEY_VAULT z wartością ustawioną na identyfikator https://contoso.vault.azure.net/keys/myKekV1/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 zostanie utworzony nowy klucz o nazwie ustawionej w zmiennej myClientEncryptionKeyName, parametr KeyWrapMetadata ustawiony na wartość zwracaną przez pierwsze polecenie i wartość KeyEncryptionKeyResolver ustawioną na obiekt KeyResolver uzyskany za pomocą drugiego polecenia.

Parametry

-AccountName

Nazwa konta bazy danych usługi Cosmos DB.

Typ:String
Position:Named
wartość domyślna:None
Wymagane:True
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Typ:SwitchParameter
Aliases:cf
Position:Named
wartość domyślna:None
Wymagane:False
Accept pipeline input:False
Accept wildcard characters:False

-DatabaseName

Nazwa bazy danych.

Typ:String
Position:Named
wartość domyślna:None
Wymagane:True
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Poświadczenia, konto, dzierżawa i subskrypcja używane do komunikacji z platformą Azure.

Typ:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
wartość domyślna:None
Wymagane:False
Accept pipeline input:False
Accept wildcard characters:False

-EncryptionAlgorithmName

Nazwa algorytmu szyfrowania klienta.

Typ:String
Position:Named
wartość domyślna:None
Wymagane:True
Accept pipeline input:False
Accept wildcard characters:False

-KeyEncryptionKeyResolver

Interfejs IKeyEncryptionKeyResolver typu Azure.Core.Cryptography.IKeyEncryptionKeyResolver

Typ:IKeyEncryptionKeyResolver
Position:Named
wartość domyślna:None
Wymagane:False
Accept pipeline input:True
Accept wildcard characters:False

-KeyWrapMetadata

KeyWrapMetaData Object typu Microsoft.Azure.Commands.CosmosDB.PSSqlKeyWrapMetadata.

Typ:PSSqlKeyWrapMetadata
Position:Named
wartość domyślna:None
Wymagane:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Nazwa klucza szyfrowania klienta.

Typ:String
Aliases:ClientEncryptionKeyName
Position:Named
wartość domyślna:None
Wymagane:True
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

Nazwa grupy zasobów.

Typ:String
Position:Named
wartość domyślna:None
Wymagane:True
Accept pipeline input:False
Accept wildcard characters:False

-SqlDatabaseObject

Obiekt usługi Sql Database.

Typ:PSSqlDatabaseGetResults
Position:Named
wartość domyślna:None
Wymagane:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

Typ:SwitchParameter
Aliases:wi
Position:Named
wartość domyślna:None
Wymagane:False
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

PSSqlKeyWrapMetadata

Byte[]

Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider

PSSqlDatabaseGetResults

Dane wyjściowe

PSSqlClientEncryptionKeyGetResults

ConflictingResourceException