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.

Это значение сопоставляется со свойством EncryptSqlConnectionEncryptOption объекта 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