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 |