Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2016 (13.x) e versões
posteriores Banco de Dados
SQLdo Azure Azure SQL Managed Instance
Cria um objeto de metadados de chave de criptografia de coluna para Always Encrypted ou Always Encrypted com enclaves seguros. Um objeto de metadados de chave de criptografia de coluna contém um ou dois valores criptografados de uma chave de criptografia de coluna usada para criptografar dados em uma coluna. Cada valor é criptografado usando uma chave mestra de coluna.
Transact-SQL convenções de sintaxe
Sintaxe
CREATE COLUMN ENCRYPTION KEY key_name
WITH VALUES
(
COLUMN_MASTER_KEY = column_master_key_name,
ALGORITHM = 'algorithm_name',
ENCRYPTED_VALUE = varbinary_literal
)
[, (
COLUMN_MASTER_KEY = column_master_key_name,
ALGORITHM = 'algorithm_name',
ENCRYPTED_VALUE = varbinary_literal
) ]
[;]
Arguments
key_name
É o nome pelo qual a chave de criptografia de coluna será conhecida no banco de dados.
column_master_key_name Especifica o nome da CMK personalizada usada para criptografar a chave de criptografia da coluna.
algorithm_name
Nome do algoritmo de encriptação utilizado para encriptar o valor da chave de encriptação da coluna. O algoritmo para os provedores de sistema deve ser RSA_OAEP.
varbinary_literal
O valor da chave de criptografia de coluna criptografada BLOB.
Advertência
Nunca passe valores de chave de criptografia de coluna de texto simples nesta instrução. Isso comprometerá o benefício desse recurso.
Observações
A CREATE COLUMN ENCRYPTION KEY instrução deve incluir pelo menos um ou dois valores. Você pode usar a ALTER COLUMN ENCRYPTION KEY (Transact-SQL) para adicionar um segundo valor mais tarde. Você também pode usar a ALTER COLUMN ENCRYPTION KEY instrução para remover um valor.
Normalmente, uma chave de criptografia de coluna é criada com apenas um valor criptografado. Às vezes, você precisa girar uma chave mestra de coluna para substituir a chave mestra de coluna atual pela nova chave mestra de coluna. Quando precisar girar a chave, adicione um novo valor da chave de criptografia de coluna, criptografada com a nova chave mestra de coluna. Essa rotação permite garantir que os aplicativos cliente possam acessar dados criptografados com a chave de criptografia de coluna, enquanto a nova chave mestra de coluna é disponibilizada para aplicativos cliente. Um driver habilitado para Always Encrypted em um aplicativo cliente que não tem acesso à nova chave mestra usará o valor da chave de criptografia de coluna criptografada com a chave mestra de coluna antiga para acessar dados confidenciais.
Os algoritmos de encriptação, sempre suportados, requerem que o valor de texto simples tenha 256 bits.
É recomendável usar ferramentas, como o SQL Server Management Studio (SSMS) ou o PowerShell, para gerenciar chaves de criptografia de coluna. Essas ferramentas geram valores criptografados e emitem CREATE COLUMN ENCRYPTION KEY automaticamente instruções para criar o objeto de metadados da chave de criptografia de coluna. Consulte Provisionar chaves sempre criptografadas usando o SQL Server Management Studio e Provisionar chaves sempre criptografadas usando o PowerShell.
Você também pode gerar um valor de chave de criptografia de coluna programaticamente usando um provedor de armazenamento de chaves que encapsula o armazenamento de chaves que contém a chave mestra de coluna. Para obter mais informações, consulte Desenvolver aplicativos usando Always Encrypted.
Use sys.columns (Transact-SQL), sys.column_encryption_keys (Transact-SQL) e sys.column_encryption_key_values (Transact-SQL) para exibir informações sobre chaves de criptografia de coluna.
Permissions
Requer a permissão ALTER ANY COLUMN ENCRYPTION KEY .
Examples
A. Criando uma chave de criptografia de coluna
O exemplo a seguir cria uma chave de criptografia de coluna chamada MyCEK.
CREATE COLUMN ENCRYPTION KEY MyCEK
WITH VALUES
(
COLUMN_MASTER_KEY = MyCMK,
ALGORITHM = 'RSA_OAEP',
ENCRYPTED_VALUE = 0x01700000016C006F00630061006C006D0061006300680069006E0065002F006D0079002F003200660061006600640038003100320031003400340034006500620031006100320065003000360039003300340038006100350064003400300032003300380065006600620063006300610031006300284FC4316518CF3328A6D9304F65DD2CE387B79D95D077B4156E9ED8683FC0E09FA848275C685373228762B02DF2522AFF6D661782607B4A2275F2F922A5324B392C9D498E4ECFC61B79F0553EE8FB2E5A8635C4DBC0224D5A7F1B136C182DCDE32A00451F1A7AC6B4492067FD0FAC7D3D6F4AB7FC0E86614455DBB2AB37013E0A5B8B5089B180CA36D8B06CDB15E95A7D06E25AACB645D42C85B0B7EA2962BD3080B9A7CDB805C6279FE7DD6941E7EA4C2139E0D4101D8D7891076E70D433A214E82D9030CF1F40C503103075DEEB3D64537D15D244F503C2750CF940B71967F51095BFA51A85D2F764C78704CAB6F015EA87753355367C5C9F66E465C0C66BADEDFDF76FB7E5C21A0D89A2FCCA8595471F8918B1387E055FA0B816E74201CD5C50129D29C015895CD073925B6EA87CAF4A4FAF018C06A3856F5DFB724F42807543F777D82B809232B465D983E6F19DFB572BEA7B61C50154605452A891190FB5A0C4E464862CF5EFAD5E7D91F7D65AA1A78F688E69A1EB098AB42E95C674E234173CD7E0925541AD5AE7CED9A3D12FDFE6EB8EA4F8AAD2629D4F5A18BA3DDCC9CF7F352A892D4BEBDC4A1303F9C683DACD51A237E34B045EBE579A381E26B40DCFBF49EFFA6F65D17F37C6DBA54AA99A65D5573D4EB5BA038E024910A4D36B79A1D4E3C70349DADFF08FD8B4DEE77FDB57F01CB276ED5E676F1EC973154F86
);
GO
Criando uma chave de criptografia de coluna com dois valores
O exemplo a seguir cria uma chave de criptografia de coluna chamada TwoValueCEK com dois valores.
CREATE COLUMN ENCRYPTION KEY TwoValueCEK
WITH VALUES
(
COLUMN_MASTER_KEY = CMK1,
ALGORITHM = 'RSA_OAEP',
ENCRYPTED_VALUE = 0x016E000001630075007200720065006E00740075007300650072002F006D0079002F0037006300380061003100310033003400320037003800620037003000630038003100390062003900630039003400360061006600340039006500610030003200650038006200650038003400340065006C33A82ECF04A7185824B4545457AC5244CD9C219E64067B9520C0081B8399B58C2863F7494ABE3694BD87D55FFD7576FFDC47C28F94ECC99577DF4FB8FA19AA95764FEF889CDE0F176DA5897B74382FBB22756CE2921050A09201A0EB6AF3D6091014C30146EA62635EE8CBF0A8074DEDFF125CEA80D1C0F5E8C58750A07D270E2A8BF824EE4C0C156366BF26D38CCE49EBDD5639A2DF029A7DBAE5A5D111F2F2FA3246DF8C2FA83C1E542C10570FADA98F6B29478DC58CE5CBDD407CCEFCDB97814525F6F32BECA266014AC346AC39C4F185C6C0F0A24FEC4DFA015649624692DE7865B9827BA22C3B574C9FD169F822B609F902288C5880EB25F14BD990D871B1BC4BA3A5B237AF76D26354773FA2A25CF4511AF58C911E601CFCB1905128C997844EED056C2AE7F0B48700AB41307E470FF9520997D0EB0D887DE11AFE574FFE845B7DC6C03FEEE8D467236368FC0CB2FDBD54DADC65B10B3DE6C80DF8B7B3F8F3CE5BE914713EE7B1FA5B7A578359592B8A5FDFDDE5FF9F392BC87C3CD02FBA94582AC063BBB9FFAC803FD489E16BEB28C4E3374A8478C737236A0B232F5A9DDE4D119573F1AEAE94B2192B81575AD6F57E670C1B2AB91045124DFDAEC2898F3F0112026DFC93BF9391D667D1AD7ED7D4E6BB119BBCEF1D1ADA589DD3E1082C3DAD13223BE438EB9574DA04E9D8A06320CAC6D3EC21D5D1C2A0AA484C7C
),
(
COLUMN_MASTER_KEY = CMK2,
ALGORITHM = 'RSA_OAEP',
ENCRYPTED_VALUE = 0x016E000001630075007200720065006E00740075007300650072002F006D0079002F0064006500650063006200660034006100340031003000380034006200350033003200360066003200630062006200350030003600380065003900620061003000320030003600610037003800310066001DDA6134C3B73A90D349C8905782DD819B428162CF5B051639BA46EC69A7C8C8F81591A92C395711493B25DCBCCC57836E5B9F17A0713E840721D098F3F8E023ABCDFE2F6D8CC4339FC8F88630ED9EBADA5CA8EEAFA84164C1095B12AE161EABC1DF778C07F07D413AF1ED900F578FC00894BEE705EAC60F4A5090BBE09885D2EFE1C915F7B4C581D9CE3FDAB78ACF4829F85752E9FC985DEB8773889EE4A1945BD554724803A6F5DC0A2CD5EFE001ABED8D61E8449E4FAA9E4DD392DA8D292ECC6EB149E843E395CDE0F98D04940A28C4B05F747149B34A0BAEC04FFF3E304C84AF1FF81225E615B5F94E334378A0A888EF88F4E79F66CB377E3C21964AACB5049C08435FE84EEEF39D20A665C17E04898914A85B3DE23D56575EBC682D154F4F15C37723E04974DB370180A9A579BC84F6BC9B5E7C223E5CBEE721E57EE07EFDCC0A3257BBEBF9ADFFB00DBF7EF682EC1C4C47451438F90B4CF8DA709940F72CFDC91C6EB4E37B4ED7E2385B1FF71B28A1D2669FBEB18EA89F9D391D2FDDEA0ED362E6A591AC64EF4AE31CA8766C259ECB77D01A7F5C36B8418F91C1BEADDD4491C80F0016B66421B4B788C55127135DA2FA625FB7FD195FB40D90A6C67328602ECAF3EC4F5894BFD84A99EB4753BE0D22E0D4DE6A0ADFEDC80EB1B556749B4A8AD00E73B329C95827AB91C0256347E85E3C5FD6726D0E1FE82C925D3DF4A9
);
GO
Ver também
ALTERAR A CHAVE DE ENCRIPTAÇÃO DA COLUNA (Transact-SQL)
SOLTAR CHAVE DE CRIPTOGRAFIA DE COLUNA (Transact-SQL)
CRIAR CHAVE MESTRA DE COLUNA (Transact-SQL)
sys.column_encryption_keys (Transact-SQL)
sys.column_encryption_key_values (Transact-SQL)
sys.columns (Transact-SQL)
Sempre criptografado
Sempre criptografado com enclaves seguros
Visão geral do gerenciamento de chaves para sempre criptografado
Gerencie chaves para Always Encrypted com enclaves seguros