我想将数据(很少的加密字段)加载到Redshift中,并且很少有用户应该有权解密那些加密的字段。请提出实现结果的最佳方法。
我尝试了下面的python udf,但是没有用。 Redshift Python encrypt/decrypt UDF Error - String contains invalid or unsupported UTF8 codepoints
我们应如何在Redshift中启用列/字段级别的加密/解密
答案 0 :(得分:0)
如果希望通过加密数据来保护数据,则需要一种在查询中传递加密密钥的方法,否则任何有权使用UDF的人都可以通过简单地调用Decrypt UDF来解密数据。仅当您希望强制执行静态加密时,这种加密才有用,通过将Redshift配置为加密所有静态数据可以更轻松地实现。 (请注意,这可能会对性能产生影响。)
建议的控制对列的访问的方法是限制对基础表的访问,但授予对仅包含允许的列的VIEW
的访问权限:
CREATE VIEW my_view AS SELECT col1, col3 from my_table;
GRANT SELECT ON my_view TO GROUP restricted_group;
REVOKE ALL ON my_table FROM GROUP restricted_group;