如何存储redshift凭证?

时间:2014-06-13 15:46:51

标签: amazon-web-services amazon-redshift

我正在创建一个需要在amazon Redshift上创建模式/表的应用程序。 为此,我必须与特权用户一起运行这些操作。 我不确定在哪里存储其凭据。 我知道对于其他AWA操作,比如S3,我可以调用元数据服务并获取临时凭证,看起来复制命令有这样的东西:

copy table_name
from 's3://objectpath'
credentials 'aws_access_key_id=<temporary-access-key-id>;aws_secret_access_key=<temporary-secret-access-key>;token=<temporary-token>';

但我没有为其他命令找到这样的东西。 我在考虑将凭据存储在加密的S3文件中。 这是最好的做法吗?

2 个答案:

答案 0 :(得分:2)

我们在EC2实例上使用环境变量来存储Redshift的凭据。代码通过Elastic Beanstalk部署到EC2,其中环境变量易于管理。

EC2计算机运行Python脚本来执行COPY命令和SQL查询以从那里转换数据。

答案 1 :(得分:2)

如果您使用psql运行sql脚本,则可以使用.pgpass文件(请参阅http://www.postgresql.org/docs/8.1/static/libpq-pgpass.html)。凭据未加密,但文件权限被锁定为600,只能由脚本所有者读取。