如何将密码存储在 Redshift 的表中?

Posted

技术标签:

【中文标题】如何将密码存储在 Redshift 的表中?【英文标题】:How to store password in a table on Redshift? 【发布时间】:2014-10-06 11:59:59 【问题描述】:

有什么方法可以将用户的密码以加密格式存储在 Redshift 数据库表中?

【问题讨论】:

【参考方案1】:

您将通过以下查询找到现有用户及其密码的列表(不是密码 - 始终读取为 ******** )

select * from PG_USER

pg_shadow 表存储了实际的密码。如果你是超级用户,那么你可以访问这个表。 它已通过列。

如果密码已加密,此列将以字符串 md5 开头,后跟 32 个字符的十六进制 MD5 哈希。 MD5 散列将用户的密码与用户名连接起来。例如,如果用户 joe 有密码 xyzzy,PostgreSQL 将存储 xyzzyjoe 的 md5 哈希。不遵循该格式的密码被假定为未加密。

【讨论】:

感谢您的回复。我们可以解密吗? .有什么选择吗? 请注意,在 redshift 中,您实际上无法查看 pg_shadow 表,因为 AWS 不授予您的根用户访问该表的权限。只有在独立的 postgres 中才能查看此表 我想我错过了一些理解。您能否说明如何构建一个用户表(不是 redshift 用户,而是一个应用程序用户),我想在其中加密密码列,就像 PG_USER 表一样。

以上是关于如何将密码存储在 Redshift 的表中?的主要内容,如果未能解决你的问题,请参考以下文章

Redshift 副本不会将数据插入我的表中

将结果从 Pig 直接存储到 Redshift?

如何给MySQL数据库的表中的密码字段设置长度限制?

Redshift:COPY返回成功,但表中没有数据

如何运行存储在 Redshift 表中的 SQL 查询

REDSHIFT:如何生成一系列数字而不在 redshift (Postgres 8.0.2) 中创建名为“数字”的表?