【发布时间】:2015-11-17 16:25:03
【问题描述】:
是否可以使用 Always Encrypted 功能和 SQL Server 2016 中的行级安全功能?并以某种方式对特定用户要查看的行使用不同的 EncryptionKeys 加密行?
【问题讨论】:
-
您的目标到底是什么?始终加密和行级安全是完全不同的东西。 RLS 根据您的过滤函数过滤结果集,因此 user_x 只能看到他被允许查看的数据。 RLS 不加密用户数据。 AE 将加密用户数据。不管 RLS 返回给用户什么,没有密钥,用户看到的只是密文。一起使用时,需要注意如何编写 RLS 函数。如果它依赖于加密的某些 AE 列,您的应用程序性能可能会受到影响。如果没有,那么它将使用通常的 AE 开销和限制
-
@SQLmojoe:我的目标是......如果用户 A 有一些行,而用户 B 有一些其他行......使用 RLS,我们可以确保 A 只看到 ARows 而 B 只看到 BRows .但我的目标是,ARows 由 A 使用密钥加密,BRows 由 B 在数据库中使用不同的密钥加密。
标签: cloud sql-server-2016