Compartilhar via


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

Default (Padrão)

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.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:2
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-KeyPath

Especifica o caminho dentro do repositório de chaves da chave mestra física.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:1
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-KeyStoreProviderName

Especifica o nome do provedor do repositório de chaves usado para proteger a chave mestra física.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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 .

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:3
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.