首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Snowflake UDF和数据加密

Snowflake UDF和数据加密
EN

Stack Overflow用户
提问于 2020-04-30 14:29:15
回答 2查看 751关注 0票数 4

我想知道是否可以创建UDF来解密通过使用私钥作为加密值插入到表中的值。我在谷歌上真的找不到任何东西。我发现的唯一一件事是,可能有一个选项可以使用JavaScript UDF和CryptoJS实现这一点,但我不能理解是否确实可以导入要在UDF中使用的CryptoJS模块。根据我在文档中收集的信息,这是不可能的。

有没有人知道这样的特性、可能性或变通方法?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2020-06-16 10:02:08

实际上,您并不需要UDF来完成此操作。Snowflake支持私钥加密和解密功能。(从技术上讲,这个示例显示了一个转换为私钥的私有密码短语。但它也支持直接键规范;请继续阅读):

代码语言:javascript
复制
select encrypt('Hello, world.', '531daa2aec446116');  -- Displays as binary jibberish.
select hex_encode(encrypt('Hello, world.', '531daa2aec446116'));  -- Displays as HEX. Convert to hex to store as either binary or string.
create temporary table ENCRYPTED_TABLE(COL1 binary, COL2 string);
insert into ENCRYPTED_TABLE select hex_encode(encrypt('Hello, world.', '531daa2aec446116')), hex_encode(encrypt('Hello, world.', '531daa2aec446116'));
select decrypt(COL1, '531daa2aec446116'), decrypt(hex_decode_binary(COL2), '531daa2aec446116') from ENCRYPTED_TABLE;

如果您正在寻找一种方法来解密另一个系统加密的值,则解密函数可能工作,也可能不工作。Snowflake的加密和解密功能使用对称加密和AES256密码。如果源密码是AES-256,则可以进行解密。你可能想试试ENCRYPT_RAW函数,它接受一个密钥,而不是处理如何将密码短语转换成密钥的复杂问题。

https://docs.snowflake.com/en/sql-reference/functions/encrypt.html

票数 2
EN

Stack Overflow用户

发布于 2020-08-11 02:34:37

您可以使用公共预览功能External Tokenization

外部令牌化允许组织在将敏感数据加载到Snowflake之前对其进行令牌化,并在查询运行时使用具有外部函数的掩蔽策略动态解除数据令牌化。

甚至还有一个integration with Protegrity Data Security Gateway

目前,Snowflake支持使用

跨组织中的所有数据存储(如表、数据库、数据仓库)管理敏感数据的标记化。当Snowflake调用掩码策略中的外部函数时,会向Protegrity Data Security Gateway(DSG)发出REST API调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61517167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档