Mak*_*ako 5 sql-server encryption powerbi sql-server-2016 always-encrypted
我正在尝试通过PowerBI启用对工资信息的团队负责人的访问,但是会加密来自其他用户和DBA的这些数据.拒绝访问此列数据的用户仍应能够执行查询,但只能查看工资信息的加密字符.
我正在使用SQL Server 2016.
我已经测试了新的"始终加密"功能,这非常有效...但除了我无法将'column encryption setting = enabled'参数传递给PowerBI连接字符串.从各方面来看,PowerBI目前不支持此功能.
我目前正在通过使用列级加密和对称密钥测试列加密的使用,但问题是我难以将OPEN SYMMETRIC KEY SymmetricKey1和DECRYPTION BY CERTIFICATE Certificate1代码编码到SQL中,如果用户没有有权访问,然后一个错误导致SQL在用户测试时失败.
我是证书和加密的新手,而且我目前处于陡峭的学习曲线......所以对我来说很容易.
谢谢
您可以使用动态数据屏蔽。
\n\n动态数据屏蔽的工作原理是屏蔽列输出给没有权限的用户。以下示例已在 2016 年基于此处提供的演示进行了测试:探索 SQL Server 2016 动态数据屏蔽 \xe2\x80\x93 第 1 部分 - 创建一个使用动态数据屏蔽的表
\n\n--create a table\n\nCREATE TABLE ClientInfo\n (ClientID int IDENTITY,\n FirstName varchar(65),\n LastName varchar(65),\n PhoneNum bigint \n MASKED WITH (FUNCTION = \'default()\'),\n EmailAddr varchar(100) \n MASKED WITH (FUNCTION = \'email()\'),\n CreditCardNum varchar(19) MASKED \n WITH (FUNCTION = \'partial(0,"XXXX-XXXX-XXXX-",4)\'),\n BirthDT date MASKED \n WITH (FUNCTION = \'default()\'));\n\nINSERT Clientinfo (FirstName, LastName, PhoneNum, EmailAddr,CreditCardNum,BirthDT) VALUES \n(\'George\', \'Washington\', 5555814441, \n\'GeorgeW@datanbasejournal.com\', \'0123-4567-8901-2345\',\'02/22/1732\'),\n(\'Thomas\', \'Jefferson\', 5559841298, \n\'ThomasJ@datanbasejournal.com\', \'9999-9999-9999-9999\', \'04/13/1743\'),\n(\'Abraham\', \'Lincoln\', 5554070123, \n\'AbrahamL@datanbasejournal.com\',\'0000-1111-2222-3333\', \'02/12/1809\');\nRun Code Online (Sandbox Code Playgroud)\n\n现在尝试仅选择并查看数据,因为您是管理员,所以您将看到所有数据
\n\nselect * from clientinfo\nRun Code Online (Sandbox Code Playgroud)\n\n现在尝试限制您想要限制查看的用户的权限
\n\nCREATE USER user1 WITHOUT LOGIN;\nGRANT SELECT ON ClientInfo TO user1;\nRun Code Online (Sandbox Code Playgroud)\n\n现在让我们尝试以该用户身份执行
\n\nEXECUTE AS USER = \'AppReader\';\nSELECT * FROM ClientInfo;\nREVERT;\nRun Code Online (Sandbox Code Playgroud)\n\n执行上面的查询,不会显示所有数据,并且会根据屏蔽函数进行不同的屏蔽。请参见下面的屏幕截图
\n\n\n\n要向用户提供访问权限,您可以使用以下查询
\n\nCREATE USER AppAdmin WITHOUT LOGIN;\nGRANT SELECT ON ClientInfo TO AppAdmin;\nGRANT UNMASK TO AppAdmin; \nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
1275 次 |
| 最近记录: |