Database-Recommendation

哪些數據庫引擎允許我對特定列進行 GRANT/REVOKE?

  • June 4, 2013

如果我有一個包含單列敏感數據的表,並且我想在不暴露該列的情況下允許廣泛使用該表,我知道我可以創建一個 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 值,就像使用了錯誤的鍵一樣

引用自:https://dba.stackexchange.com/questions/394