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