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


New-SqlColumnMasterKeySettings

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

Синтаксис

Default (по умолчанию)

New-SqlColumnMasterKeySettings
    [-KeyStoreProviderName] <String>
    [-KeyPath] <String>
    [[-Signature] <String>]
    [-KeyVaultAccessToken <String>]
    [-ManagedHsmAccessToken <String>]
    [-AllowEnclaveComputations]
    [<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
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:2
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-KeyPath

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:1
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-KeyStoreProviderName

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:0
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-KeyVaultAccessToken

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ManagedHsmAccessToken

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Signature

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

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:3
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.