![](/img/trans.png)
[英]How to properly provide credentials for spark-redshift in EMR instances?
[英]How to store redshift credentials?
我正在創建一個需要在Amazon Redshift上創建架構/表的應用程序。 為此,我必須以特權用戶運行這些操作。 我不確定在哪里存儲其憑據。 我知道對於其他AWA操作(例如S3),我可以調用元數據服務並獲取臨時憑證,並且對於copy命令來說似乎是這樣:
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文件中。 這是最佳做法嗎?
我們在EC2實例上使用環境變量來存儲Redshift的憑據。 通過Elastic Beanstalk將代碼部署到EC2,可以輕松管理環境變量。
EC2機器運行Python腳本來執行COPY命令和SQL查詢以從那里轉換數據。
如果使用psql運行sql腳本,則可以使用.pgpass文件(請參見http://www.postgresql.org/docs/8.1/static/libpq-pgpass.html )。 憑據未加密,但是文件權限被鎖定為600,只有腳本所有者才能讀取。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.