Database-Recommendation
哪些數據庫引擎允許我對特定列進行 GRANT/REVOKE?
如果我有一個包含單列敏感數據的表,並且我想在不暴露該列的情況下允許廣泛使用該表,我知道我可以創建一個 VIEW 來讓他們訪問所有非敏感列。但是,PostgreSQL 允許您以以下形式授予列級權限
grant select (col1, ...coln) on table to role;
是否有其他引擎提供此功能?
這是 SQL 標準功能。“大多數” SQL 實現都支持它,包括 PostgreSQL、MySQL、Oracle、DB2、SQL Server。
SQL Server 2000、2005、2008 具有此功能
GRANT { ALL [ PRIVILEGES ] } | permission [ ( column [ ,...n ] ) ] [ ,...n ] [ ON [ class :: ] securable ] TO principal [ ,...n ] [ WITH GRANT OPTION ] [ AS principal ]
添加
在 SQL Server 2005、2008 中,可以使用對稱加密來加密一列數據,請參閱B.包含身份驗證器的對稱加密。這個變體返回一個 NULL 值,就像使用了錯誤的鍵一樣。