New-SqlColumnMasterKeySettings

Создает объект SqlColumnMasterKeySettings, описывающий ключ master, хранящийся в произвольно указанном поставщике хранилища ключей и пути.

Синтаксис

New-SqlColumnMasterKeySettings
   [-KeyStoreProviderName] <String>
   [-KeyPath] <String>
   [[-Signature] <String>]
   [-KeyVaultAccessToken <String>]
   [-ManagedHsmAccessToken <String>]
   [-AllowEnclaveComputations]
   [<CommonParameters>]

Описание

Командлет New-SqlColumnMasterKeySettings создает объект SqlColumnMasterKeySettings в памяти, который хранит свойства столбца master ключа для Always Encrypted: KeyStoreProviderName, KeyPath, AllowEnclaveComputations и Signature. Этот командлет можно использовать для пользовательских поставщиков хранилища ключей, а также в том случае, если известны как имя поставщика хранилища ключей, так и путь к ключу в полном формате.

Командлет может взаимодействовать с хранилищем ключей, включащим столбец master ключ, для создания сигнатуры свойств метаданных ключа. Если ключ хранится в Azure, необходимо указать действительный маркер проверки подлинности для хранилища ключей или управляемого модуля HSM, включающего ключ. Кроме того, вы можете пройти проверку подлинности в Azure с помощью Add-SqlAzureAuthenticationContext перед вызовом этого командлета.

Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.

Примеры

Пример 1. Создание параметров для ключа master столбца, который находится в Azure Key Vault и не поддерживает анклавирование.

$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700'

Пример 2. Создание параметров для ключа master столбца, который находится в пользовательском поставщике

$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'CUSTOM_PROVIDER' -KeyPath '\\SecureNetworkShare\Keys\AlwaysEncrypted.key'

Пример 3. Создание параметров для ключа master столбца, который находится в Azure Key Vault, позволяет выполнять вычисления анклава и подписывается с помощью предоставленной подписи.

$cmkSettings = New-SqlColumnMasterKeySettings -KeyStoreProviderName 'AZURE_KEY_VAULT' -KeyPath 'https://myvault.vault.azure.net/keys/CMK/4c05f1a41b12488f9cba2ea964b6a700' -AllowEnclaveComputations -Signature '0x19BEB4F27F582FDBBD0C7E5F92CF161D79D5E7F5A5183F9C8E710252E7028A3654FBEAF834EE45925024F1A32BD3C6D7D92B46E38690830E20E0777607B073E6665EB05E39263C02557D1208ACECB2251A108D0DEFC25232B67FD223C590258C817292FAFCE2388507812D64A0AEC9E546B0B8E4B2F3EA436053CB158F3CF478C5F5EDA511D0F752F60C3B129BF21356A93368FCC7FD6FAA8DB4E919EB551F375181CA3F4D0404A811C99BD2C8D10C0003AC12B138371F2D76611768B4E84D44116C42F00D679B36D41FBD9467B58291B1F4348C7B422793DA0614EF980CA0A7F42B6D627AFA5A753F0869D2C2F9B0FD38289D5433CE9266C6F867334654BE12'

Пример 4. Создание параметров для ключа столбца master, который находится в azure Key Vault, позволяет выполнять вычисления анклава и автоматически подписывается.

# 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

Параметры

-AllowEnclaveComputations

Указывает, допускает ли ключ master столбца вычисления анклава. Если параметр указан, защищенным анклавам на стороне сервера будет разрешено выполнять вычисления данных, защищенных с помощью ключа master столбца. Недопустимо для SQL Server 2017 и более ранних версий.

Type:SwitchParameter
Position:2
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-KeyPath

Указывает путь в хранилище ключей физического ключа master.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-KeyStoreProviderName

Указывает имя поставщика хранилища ключей, используемого для защиты физического ключа master.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-KeyVaultAccessToken

Указывает маркер доступа для хранилищ ключей в Azure Key Vault. Используйте этот параметр, если указанный столбец master ключ хранится в хранилище ключей в Azure Key Vault и командлет должен подписать метаданные ключа.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ManagedHsmAccessToken

Указывает маркер доступа для управляемых модулей HSM в Azure Key Vault. Используйте этот параметр, если указанный ключ столбца master хранится в управляемом HSM в Azure Key Vault и командлет должен подписать метаданные ключа.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Signature

Задает шестнадцатеричную строку, которая является цифровой подписью свойств ключа столбца master. Драйвер клиента может проверить подпись, чтобы убедиться, что свойства ключа столбца master не были изменены. Этот параметр разрешен только в том случае, если указан параметр AllowEnclaveComputations . Если параметр AllowEnclaveComputations указан, а Signature — нет, командлет автоматически вычисляет сигнатуру и заполняет свойство Signature нового объекта SqlColumnMasterKeySettings .

Type:String
Position:3
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False