Add-SqlColumnEncryptionKeyValue
Добавляет зашифрованное значение для существующего объекта ключа шифрования столбца в базе данных.
Синтаксис
Add-SqlColumnEncryptionKeyValue
-ColumnMasterKeyName <String>
-EncryptedValue <String>
[-Name] <String>
[-InputObject] <Database>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
Add-SqlColumnEncryptionKeyValue
-ColumnMasterKeyName <String>
-EncryptedValue <String>
[-Name] <String>
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[<CommonParameters>]
Описание
Командлет Add-SqlColumnEncryptionKeyValue добавляет объект ключа шифрования столбца в базу данных, добавив запись для нового зашифрованного значения. Изначально объект ключа шифрования столбца содержит одну запись, содержащую зашифрованное значение ключа шифрования столбца для Always Encrypted. Этот командлет добавляет вторую запись зашифрованного значения для поддержки вращающегося столбца master ключа. Новое и исходное зашифрованное значение должны представлять один и тот же ключ в виде открытого текста, но они должны быть созданы с использованием разных ключей master столбцов.
Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.
Примеры
Пример 1. Добавление зашифрованного значения для существующего ключа шифрования столбца
PS C:\> Add-SqlColumnEncryptionKeyValue -Name "CEK1" -InputObject $Database -ColumnMasterKeyName "CMK2" -ColumnEncryptionKeyCiphertext "0x016E000001630075007200720065006E00740075007300650072002F006D0079002F006200330039003900340035006200370031003100330037003700350032006400380061003100310033003900660035006200640036006400380066003700330038006600320033006200360032003000307925663D2C3E275DD272E15E606927DA4326F5735C2C8E84F91B9EFE44F503ED01C130984E83AF4513F8A4A8D0878D42364E958291AE25111A868D25B69FC5143EEC04131DA27D05F3442CB665ACB4BB3F6A7A9F07DBD5D212A772414A2CCA03BEBEB7BF0E22C644C715D739B983872AFB2D390229A0B5311BCA07E3C1D857EE8982320BBBE9382C960B9674E3CC3D618AD623D6A362BEAEF68B1B1BB49660DD643A4375A9285CD9EAA5B13BFE2792DA92025351E7B6067BA07B6178D03041F40F00D84326627094C9D6944DD912497B080058A529D2DA11C8D609604449714420B4E44ECD1EB26DEE18BF712146A51DD99A02E3D4EE692A503CF02F874497010772DE743DDFB2A74801AC9A94C876D1F93554B70CE0ECC437E7FC28BC11A08222977CDA807E256ED536C41700C631878226E513AFE1199A1DB4732F975AA09A1E75B8A19802AE018871A7A0AD5B1E29B942F30490EDABD310A4170B991EBCFDA2AFE43285D5406476204B381D8A33EEB0B967073B4C0127B1C7F0281AB310EE4B9A3C2D3EAB44A1F5D15D4739FFAEF6110ED4808446F6A05DBF4121B2B33A0AF5A457CD38F895B8F7ABDF792E3ADBC3AF55B1442625F88F80127D08DE9E4AC1BB2AAA46843A477135053CEEFA4327D8C999C16D8B49C225F34AD7588A5F9E93FB5532B1F1DC5AFB3CE23DDC8DC12327DD6B5985104D14F4A1BC0F61F0AACD"
Эта команда добавляет новое зашифрованное значение для объекта базы данных ключа шифрования столбца с именем CEK1. Новое значение шифруется с помощью ключа master столбца с именем CMK2.
Параметры
-AccessToken
Маркер доступа, используемый для проверки подлинности для SQL Server, в качестве альтернативы проверке подлинности пользователя или пароля или проверки подлинности Windows.
Его можно использовать, например, для подключения к SQL Azure DB
и SQL Azure Managed Instance
с помощью Service Principal
или Managed Identity
.
Используемый параметр может быть либо строкой, представляющей маркер, либо объектом, PSAccessToken
возвращаемым при выполнении команды Get-AzAccessToken -ResourceUrl https://database.windows.net
.
Этот параметр является новым в версии 22 модуля.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ColumnMasterKeyName
Указывает имя ключа master столбца, который используется для создания зашифрованного значения, добавляемого этим командлетом в базу данных.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
Тип шифрования, используемый при подключении к SQL Server.
Это значение сопоставляется со свойством Encrypt
SqlConnectionEncryptOption
объекта SqlConnection драйвера Microsoft.Data.SqlClient.
В модуле версии 22 значение по умолчанию — Optional
(для совместимости с версией 21). В версии 23 и более поздних версий модуля значением по умолчанию будет "Обязательно", что может привести к критическому изменению для существующих скриптов.
Этот параметр является новым в версии 22 модуля.
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EncryptedValue
Указывает зашифрованное значение, которое этот командлет добавляет в базу данных. Вы несете ответственность за то, что зашифрованное значение, если указано, было создано с помощью указанного ключа столбца master.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
Имя узла используется для проверки TLS/SSL-сертификата SQL Server. Этот параметр необходимо передать, если экземпляр SQL Server включен для принудительного шифрования и вы хотите подключиться к экземпляру с помощью имени узла или shortname. Если этот параметр опущен, необходимо передать полное доменное имя (FQDN) в -ServerInstance для подключения к экземпляру SQL Server, включенного для принудительного шифрования.
Этот параметр является новым в версии 22 модуля.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Указывает объект базы данных SQL, для которого этот командлет выполняет операцию.
Type: | Database |
Position: | 2 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Указывает имя объекта ключа шифрования столбца, который изменяет этот командлет.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Указывает путь к базе данных SQL, для которой этот командлет выполняет операцию. Если значение этого параметра не указано, этот командлет использует текущее рабочее расположение.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Script
Указывает, что этот командлет выполняет скрипт для добавления значения ключа шифрования столбца SQL.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TrustServerCertificate
Указывает, будет ли канал зашифрован при обходе цепочки сертификатов для проверки доверия.
В модуле версии 22 значение по умолчанию — $true
(для совместимости с версией 21). В модуле версии 23+ значение по умолчанию будет "$false", что может привести к критическому изменению для существующих скриптов.
Этот параметр является новым в версии 22 модуля.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
Microsoft.SqlServer.Management.Smo.Database
Выходные данные
System.Object