Поделиться через


New-SqlColumnMasterKeySettings

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

Синтаксис

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

Описание

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

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

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

Примеры

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

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

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

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

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

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

Пример 4. Создание параметров для главного ключа столбца, который находится в 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

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

Тип:SwitchParameter
Position:2
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-KeyPath

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

Тип:String
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-KeyStoreProviderName

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

Тип:String
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-KeyVaultAccessToken

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ManagedHsmAccessToken

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

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ProgressAction

Определяет, как PowerShell реагирует на обновления хода выполнения, созданные скриптом, командлетом или поставщиком, например индикаторами хода выполнения, созданными командлетом Write-Progress. Командлет Write-Progress создает индикаторы хода выполнения, показывающие состояние команды.

Тип:ActionPreference
Aliases:proga
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Signature

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

Тип:String
Position:3
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False