New-SqlColumnMasterKeySettings
Cria um objeto SqlColumnMasterKeySettings que descreve uma chave mestra armazenada em um provedor e caminho de repositório de chaves especificados arbitrariamente.
Sintaxe
New-SqlColumnMasterKeySettings
[-KeyStoreProviderName] <String>
[-KeyPath] <String>
[[-Signature] <String>]
[-KeyVaultAccessToken <String>]
[-ManagedHsmAccessToken <String>]
[-AllowEnclaveComputations]
[<CommonParameters>]
Description
O cmdlet New-SqlColumnMasterKeySettings cria um objeto na memória SqlColumnMasterKeySettings que armazena propriedades de uma chave mestra de coluna para Always Encrypted: KeyStoreProviderName, KeyPath, AllowEnclaveComputations e Signature. Esse cmdlet pode ser usado para provedores de repositório de chaves personalizados e quando o nome do provedor do repositório de chaves e um caminho de chave totalmente formatado são conhecidos.
O cmdlet pode se comunicar com um repositório de chaves que contém a chave mestra da coluna para gerar uma assinatura de propriedades de metadados de chave. Se a chave estiver armazenada no Azure, você precisará especificar um token de autenticação válido para um cofre de chaves ou um HSM gerenciado que contém a chave. Como alternativa, você pode autenticar no Azure com Add-SqlAzureAuthenticationContext antes de chamar esse cmdlet.
Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.
Exemplos
Exemplo 1: gerar configurações para uma chave mestra de coluna que está no Azure Key Vault e não está habilitada para enclave.
$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700'
Exemplo 2: gerar configurações para uma chave mestra de coluna que está em um provedor personalizado
$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'CUSTOM_PROVIDER' -KeyPath '\\SecureNetworkShare\Keys\AlwaysEncrypted.key'
Exemplo 3: Gerar configurações para uma chave mestra de coluna que está no Azure Key Vault, permite cálculos de enclave e é assinada usando a assinatura fornecida.
$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700' -AllowEnclaveComputations -Signature '0x19BEB4F27F582FDBBD0C7E5F92CF161D79D5E7F5A5183F9C8E710252E7028A3654FBEAF834EE45925024F1A32BD3C6D7D92B46E38690830E20E0777607B073E6665EB05E39263C02557D1208ACECB2251A108D0DEFC25232B67FD223C590258C817292FAFCE2388507812D64A0AEC9E546B0B8E4B2F3EA436053CB158F3CF478C5F5EDA511D0F752F60C3B129BF21356A93368FCC7FD6FAA8DB4E919EB551F375181CA3F4D0404A811C99BD2C8D10C0003AC12B138371F2D76611768B4E84D44116C42F00D679B36D41FBD9467B58291B1F4348C7B422793DA0614EF980CA0A7F42B6D627AFA5A753F0869D2C2F9B0FD38289D5433CE9266C6F867334654BE12'
Exemplo 4: Gerar configurações para uma chave mestra de coluna que está no Azure Key Vault, permite cálculos de enclave e é assinado automaticamente.
# 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 se a chave mestra de coluna permite cálculos de enclave. Se o parâmetro for especificado, os enclaves seguros do lado do servidor poderão executar cálculos em dados protegidos com a chave mestra de coluna. Não é válido para o SQL Server 2017 e versões mais antigas.
Tipo: | SwitchParameter |
Cargo: | 2 |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-KeyPath
Especifica o caminho dentro do repositório de chaves da chave mestra física.
Tipo: | String |
Cargo: | 1 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-KeyStoreProviderName
Especifica o nome do provedor do repositório de chaves usado para proteger a chave mestra física.
Tipo: | String |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-KeyVaultAccessToken
Especifica um token de acesso para cofres de chaves no Azure Key Vault. Use esse parâmetro se a chave mestra de coluna especificada for armazenada em um cofre de chaves no Azure Key Vault e o cmdlet deverá assinar metadados de chave.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ManagedHsmAccessToken
Especifica um token de acesso para HSMs gerenciados no Azure Key Vault. Use esse parâmetro se a chave mestra de coluna especificada for armazenada em um HSM gerenciado no Azure Key Vault e o cmdlet deverá assinar metadados de chave.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Signature
Especifica uma cadeia de caracteres hexadecimal que é uma assinatura digital de propriedades de chave mestra de coluna. Um driver cliente pode verificar a assinatura para garantir que as propriedades da chave mestra da coluna não tenham sido adulteradas. Esse parâmetro só será permitido se AllowEnclaveComputations for especificado. Se AllowEnclaveComputations for especificado, mas Signature não for, o cmdlet calculará automaticamente a assinatura e preencherá a propriedade Signature do novo objeto SqlColumnMasterKeySettings .
Tipo: | String |
Cargo: | 3 |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |