Encryption 是否可以对同一表中已加密的列应用动态数据屏蔽

Encryption 是否可以对同一表中已加密的列应用动态数据屏蔽,encryption,azure-sql-database,data-masking,always-encrypted,Encryption,Azure Sql Database,Data Masking,Always Encrypted,在我的azure SQL数据库中,我在两个不同的表上实现了始终加密和动态数据屏蔽的概念 但我怀疑“是否有可能在同一个表中已经加密的列上应用动态数据屏蔽” 我尝试了上面的场景,它给出了类似“列'SSN'的数据类型不支持数据屏蔽函数'partial'的错误” 我运行下面的查询,在已经加密的列上应用屏蔽 ALTER TABLE [dbo].[CustomerTables] ALTER COLUMN [SSN] ADD MASKED WITH (FUNCTION = 'partial(0,"XXX-XX

在我的azure SQL数据库中,我在两个不同的表上实现了始终加密和动态数据屏蔽的概念

但我怀疑“是否有可能在同一个表中已经加密的列上应用动态数据屏蔽”

我尝试了上面的场景,它给出了类似“列'SSN'的数据类型不支持数据屏蔽函数'partial'的错误”

我运行下面的查询,在已经加密的列上应用屏蔽

ALTER TABLE [dbo].[CustomerTables]
ALTER COLUMN [SSN] ADD MASKED WITH (FUNCTION = 'partial(0,"XXX-XX-",4)');
您能否告诉我,是否可以对同一表中已加密的列应用动态数据屏蔽


Pradeep

否,当前加密的列不能被屏蔽。并且,不能加密已屏蔽的列


使用动态数据屏蔽,屏蔽值在服务器端生成。要生成屏蔽值(特别是使用部分屏蔽),SQL Server需要知道原始值(明文)。如果列是使用Always encrypted进行加密的,则SQL Server只知道密文,无法对其进行解密-只有客户端应用程序才能解密存储在加密列中的值。

是否找到了在应用程序中屏蔽数据加密数据的方法?否@gotqn,我没有找到任何方法来屏蔽加密的数据。在应用程序中可能有一种方法可以做到这一点。检查证书访问或基于返回的类型值。我会检查一下,如果我发现了什么,会告诉你的。