Compartir a través de


New-AzCosmosDbClientEncryptionKey

Crea una nueva clave de cifrado de cliente de CosmosDB.

Sintaxis

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

Description

New-AzCosmosDbClientEncryptionKey crea una nueva clave de cifrado de cliente de CosmosDB.

Ejemplos

Ejemplo 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

En este ejemplo se muestra cómo se crea una nueva clave. Si KeyEncryptionKeyResolver no se pasa Key Vault KeyResolver se usa de forma predeterminada. El primer comando crea un objeto KeyWrapMetadata con el nombre myKekV1 de tipo AZURE_KEY_VAULT con el valor establecido en id. https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71 de clave y el tipo de algoritmo "RSA-OAEP" usado para cifrar la clave. En el segundo comando se crea una nueva clave con el nombre establecido en la variable myClientEncryptionKeyName y con KeyWrapMetadata establecido en el valor devuelto por el primer comando.

Ejemplo 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

En este ejemplo se muestra cómo se crea una nueva clave y cómo se puede pasar KeyEncryptionKeyResolver como parámetro. El primer comando crea un objeto KeyWrapMetadata con el nombre myKekV1 de tipo AZURE_KEY_VAULT con el valor establecido en id. https://contoso.vault.azure.net/keys/myKekV1/78deebed173b48e48f55abf87ed4cf71 de clave y el tipo de algoritmo "RSA-OAEP" usado para cifrar la clave. El segundo comando crea un objeto KeyResolver de Azure Key Vault mediante las credenciales predeterminadas de Azure. En el tercer comando se crea una nueva clave con el nombre establecido en la variable myClientEncryptionKeyName, KeyWrapMetadata se establece en el valor devuelto por el primer comando y el valor KeyEncryptionKeyResolver establecido en el objeto KeyResolver obtenido mediante el segundo comando.

Parámetros

-AccountName

Nombre de la cuenta de base de datos de Cosmos DB.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DatabaseName

nombre de base de datos.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DefaultProfile

Credenciales, cuenta, inquilino y suscripción usados para la comunicación con Azure.

Tipo:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-EncryptionAlgorithmName

Nombre del algoritmo de cifrado de cliente.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-KeyEncryptionKeyResolver

Interfaz IKeyEncryptionKeyResolver de tipo Azure.Core.Cryptography.IKeyEncryptionKeyResolver

Tipo:IKeyEncryptionKeyResolver
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-KeyWrapMetadata

Objeto KeyWrapMetaData de tipo Microsoft.Azure.Commands.CosmosDB.PSSqlKeyWrapMetadata.

Tipo:PSSqlKeyWrapMetadata
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Name

Nombre de clave de cifrado de cliente.

Tipo:String
Alias:ClientEncryptionKeyName
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ResourceGroupName

Nombre del grupo de recursos.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SqlDatabaseObject

Objeto Sql Database.

Tipo:PSSqlDatabaseGetResults
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

PSSqlKeyWrapMetadata

Byte[]

Microsoft.Data.Encryption.Cryptography.EncryptionKeyStoreProvider

PSSqlDatabaseGetResults

Salidas

PSSqlClientEncryptionKeyGetResults

ConflictingResourceException