New-SqlColumnMasterKeySettings
Crea un objeto SqlColumnMasterKeySettings que describe una clave maestra almacenada en un proveedor y ruta de acceso de almacén de claves especificado arbitrariamente.
Sintaxis
New-SqlColumnMasterKeySettings
[-KeyStoreProviderName] <String>
[-KeyPath] <String>
[[-Signature] <String>]
[-KeyVaultAccessToken <String>]
[-ManagedHsmAccessToken <String>]
[-AllowEnclaveComputations]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Description
El cmdlet New-SqlColumnMasterKeySettings crea un SqlColumnMasterKeySettings objeto en memoria que almacena las propiedades de una clave maestra de columna para Always Encrypted: KeyStoreProviderName, KeyPath, AllowEnclaveComputations y Signature. Este cmdlet se puede usar para proveedores de almacén de claves personalizados y cuando se conoce el nombre del proveedor del almacén de claves y una ruta de acceso de clave con formato completo.
El cmdlet puede comunicarse con un almacén de claves que contiene la clave maestra de columna para generar una firma de propiedades de metadatos de clave. Si la clave se almacena en Azure, debe especificar un token de autenticación válido para un almacén de claves o un HSM administrado que contenga la clave. Como alternativa, puede autenticarse en Azure con Add-SqlAzureAuthenticationContext antes de llamar a este cmdlet.
Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.
Ejemplos
Ejemplo 1: generar la configuración de una clave maestra de columna que se encuentra en Azure Key Vault y no está habilitada para enclaves.
$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700'
Ejemplo 2: Generación de la configuración de una clave maestra de columna que se encuentra en un proveedor personalizado
$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'CUSTOM_PROVIDER' -KeyPath '\\SecureNetworkShare\Keys\AlwaysEncrypted.key'
Ejemplo 3: Generar la configuración de una clave maestra de columna que se encuentra en Azure Key Vault, permite cálculos de enclave y se firma con la firma proporcionada.
$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700' -AllowEnclaveComputations -Signature '0x19BEB4F27F582FDBBD0C7E5F92CF161D79D5E7F5A5183F9C8E710252E7028A3654FBEAF834EE45925024F1A32BD3C6D7D92B46E38690830E20E0777607B073E6665EB05E39263C02557D1208ACECB2251A108D0DEFC25232B67FD223C590258C817292FAFCE2388507812D64A0AEC9E546B0B8E4B2F3EA436053CB158F3CF478C5F5EDA511D0F752F60C3B129BF21356A93368FCC7FD6FAA8DB4E919EB551F375181CA3F4D0404A811C99BD2C8D10C0003AC12B138371F2D76611768B4E84D44116C42F00D679B36D41FBD9467B58291B1F4348C7B422793DA0614EF980CA0A7F42B6D627AFA5A753F0869D2C2F9B0FD38289D5433CE9266C6F867334654BE12'
Ejemplo 4: Generar la configuración de una clave maestra de columna que se encuentra en Azure Key Vault, permite cálculos de enclave y está firmado automáticamente.
# Connect to Azure account.
Import-Module Az.Accounts -MinimumVersion 2.2.0
Connect-AzAccount
# Obtain an access token for key vaults.
$keyVaultAccessToken = (Get-AzAccessToken -ResourceUrl https://vault.azure.net).Token
# Pass the token to the cmdlet. It will use the token to communicate with a key vault in Azure Key Vault to sign the column master key properties.
$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700' -AllowEnclaveComputations -KeyVaultAccessToken $keyVaultAccessToken
Parámetros
-AllowEnclaveComputations
Especifica si la clave maestra de columna permite cálculos de enclave. Si se especifica el parámetro , los enclaves seguros del lado servidor podrán realizar cálculos en los datos protegidos con la clave maestra de columna. No es válido para SQL Server 2017 y versiones anteriores.
Tipo: | SwitchParameter |
Posición: | 2 |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-KeyPath
Especifica la ruta de acceso dentro del almacén de claves de la clave maestra física.
Tipo: | String |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-KeyStoreProviderName
Especifica el nombre del proveedor del almacén de claves usado para proteger la clave maestra física.
Tipo: | String |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-KeyVaultAccessToken
Especifica un token de acceso para almacenes de claves en Azure Key Vault. Use este parámetro si la clave maestra de columna especificada se almacena en un almacén de claves de Azure Key Vault y se espera que el cmdlet firme los metadatos de clave.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ManagedHsmAccessToken
Especifica un token de acceso para los HSM administrados en Azure Key Vault. Use este parámetro si la clave maestra de columna especificada se almacena en un HSM administrado en Azure Key Vault y se espera que el cmdlet firme los metadatos de clave.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ProgressAction
Determina cómo Responde PowerShell a las actualizaciones de progreso generadas por un script, cmdlet o proveedor, como las barras de progreso generadas por el cmdlet Write-Progress. El cmdlet Write-Progress crea barras de progreso que muestran el estado de un comando.
Tipo: | ActionPreference |
Alias: | proga |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Signature
Especifica una cadena hexadecimal que es una firma digital de propiedades de clave maestra de columna. Un controlador cliente puede comprobar la firma para asegurarse de que las propiedades de la clave maestra de columna no se han alterado. Este parámetro solo se permite si se especifica allowEnclaveComputations. Si se especifica AllowEnclaveComputations, pero signature no, el cmdlet calcula automáticamente la firma y rellena la propiedad Signature del nuevo objeto SqlColumnMasterKeySetting s.
Tipo: | String |
Posición: | 3 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |