Add-SqlColumnEncryptionKeyValue
Adiciona um valor criptografado para um objeto de chave de criptografia de coluna existente no banco de dados.
Sintaxe
Add-SqlColumnEncryptionKeyValue
-ColumnMasterKeyName <String>
-EncryptedValue <String>
[-Name] <String>
[-InputObject] <Database>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Add-SqlColumnEncryptionKeyValue
-ColumnMasterKeyName <String>
-EncryptedValue <String>
[-Name] <String>
[[-Path] <String>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Description
O cmdlet Add-SqlColumnEncryptionKeyValue adiciona um objeto de chave de criptografia de coluna no banco de dados, adicionando uma entrada para um novo valor criptografado. Inicialmente, um objeto de chave de criptografia de coluna contém uma entrada que contém um valor criptografado de uma chave de criptografia de coluna para Always Encrypted. Esse cmdlet adiciona a segunda entrada de valor criptografado, a fim de dar suporte a uma chave mestra de coluna rotativa. O valor criptografado novo e inicial deve representar a mesma chave de texto sem formatação, mas eles devem ser produzidos usando chaves mestras de coluna diferentes.
Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.
Exemplos
Exemplo 1: adicionar um valor criptografado para uma chave de criptografia de coluna existente
PS C:\> Add-SqlColumnEncryptionKeyValue -Name "CEK1" -InputObject $Database -ColumnMasterKeyName "CMK2" -ColumnEncryptionKeyCiphertext "0x016E000001630075007200720065006E00740075007300650072002F006D0079002F006200330039003900340035006200370031003100330037003700350032006400380061003100310033003900660035006200640036006400380066003700330038006600320033006200360032003000307925663D2C3E275DD272E15E606927DA4326F5735C2C8E84F91B9EFE44F503ED01C130984E83AF4513F8A4A8D0878D42364E958291AE25111A868D25B69FC5143EEC04131DA27D05F3442CB665ACB4BB3F6A7A9F07DBD5D212A772414A2CCA03BEBEB7BF0E22C644C715D739B983872AFB2D390229A0B5311BCA07E3C1D857EE8982320BBBE9382C960B9674E3CC3D618AD623D6A362BEAEF68B1B1BB49660DD643A4375A9285CD9EAA5B13BFE2792DA92025351E7B6067BA07B6178D03041F40F00D84326627094C9D6944DD912497B080058A529D2DA11C8D609604449714420B4E44ECD1EB26DEE18BF712146A51DD99A02E3D4EE692A503CF02F874497010772DE743DDFB2A74801AC9A94C876D1F93554B70CE0ECC437E7FC28BC11A08222977CDA807E256ED536C41700C631878226E513AFE1199A1DB4732F975AA09A1E75B8A19802AE018871A7A0AD5B1E29B942F30490EDABD310A4170B991EBCFDA2AFE43285D5406476204B381D8A33EEB0B967073B4C0127B1C7F0281AB310EE4B9A3C2D3EAB44A1F5D15D4739FFAEF6110ED4808446F6A05DBF4121B2B33A0AF5A457CD38F895B8F7ABDF792E3ADBC3AF55B1442625F88F80127D08DE9E4AC1BB2AAA46843A477135053CEEFA4327D8C999C16D8B49C225F34AD7588A5F9E93FB5532B1F1DC5AFB3CE23DDC8DC12327DD6B5985104D14F4A1BC0F61F0AACD"
Esse comando adiciona um novo valor criptografado para o objeto de banco de dados de chave de criptografia de coluna chamado CEK1. O novo valor é criptografado com a chave mestra de coluna, chamada CMK2.
Parâmetros
-AccessToken
O token de acesso usado para autenticar no SQL Server, como uma alternativa ao usuário/senha ou à Autenticação do Windows.
Isso pode ser usado, por exemplo, para se conectar a SQL Azure DB
e SQL Azure Managed Instance
usando um Service Principal
ou um Managed Identity
.
O parâmetro a ser usado pode ser uma cadeia de caracteres que representa o token ou um objeto PSAccessToken
conforme retornado executando Get-AzAccessToken -ResourceUrl https://database.windows.net
.
Esse parâmetro é novo na v22 do módulo.
Tipo: | PSObject |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ColumnMasterKeyName
Especifica o nome da chave mestra de coluna usada para produzir o valor criptografado que esse cmdlet adiciona ao banco de dados.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Encrypt
O tipo de criptografia a ser usado ao se conectar ao SQL Server.
Esse valor é mapeado para a propriedade Encrypt
SqlConnectionEncryptOption
no objeto SqlConnection do driver Microsoft.Data.SqlClient.
Na v22 do módulo, o padrão é Optional
(para compatibilidade com v21). Na v23+ do módulo, o valor padrão será 'Obrigatório', o que pode criar uma alteração significativa para scripts existentes.
Esse parâmetro é novo na v22 do módulo.
Tipo: | String |
Valores aceitos: | Mandatory, Optional, Strict |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-EncryptedValue
Especifica o valor criptografado que esse cmdlet adiciona ao banco de dados. Você é responsável pelo valor criptografado, se especificado, ter sido gerado usando a chave mestra de coluna especificada.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-HostNameInCertificate
O nome do host a ser usado na validação do certificado TLS/SSL do SQL Server. Você deve passar esse parâmetro se a instância do SQL Server estiver habilitada para o Force Encryption e quiser se conectar a uma instância usando nome de host/nome curto. Se esse parâmetro for omitido, passar o FQDN (Nome de Domínio Totalmente Qualificado) para -ServerInstance será necessário para se conectar a uma instância do SQL Server habilitada para o Force Encryption.
Esse parâmetro é novo na v22 do módulo.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-InputObject
Especifica o objeto de banco de dados SQL para o qual esse cmdlet executa a operação.
Tipo: | Database |
Cargo: | 2 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Name
Especifica o nome do objeto de chave de criptografia de coluna que este cmdlet modifica.
Tipo: | String |
Cargo: | 1 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Path
Especifica o caminho do banco de dados SQL para o qual esse cmdlet executa a operação. Se você não especificar o valor desse parâmetro, esse cmdlet usará o local de trabalho atual.
Tipo: | String |
Cargo: | 2 |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ProgressAction
Determina como o PowerShell responde às atualizações de progresso geradas por um script, cmdlet ou provedor, como as barras de progresso geradas pelo cmdlet Write-Progress. O cmdlet Write-Progress cria barras de progresso que mostram o status de um comando.
Tipo: | ActionPreference |
Aliases: | proga |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Script
Indica que esse cmdlet executa um script para adicionar o valor da chave de criptografia da coluna SQL.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-TrustServerCertificate
Indica se o canal será criptografado ao ignorar a cadeia de certificados para validar a confiança.
Na v22 do módulo, o padrão é $true
(para compatibilidade com v21). Na v23+ do módulo, o valor padrão será "$false", o que pode criar uma alteração significativa para scripts existentes.
Esse parâmetro é novo na v22 do módulo.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Microsoft.SqlServer.Management.Smo.Database
Saídas
System.Object