我正在使用Redshift,必須編寫一些自定義腳本來生成報告。我正在使用AWS datapipeline CustomShellActivity運行我的自定義邏輯。我正在使用python和boto3。我想知道什麼是最安全的方式,事實上,在python腳本中提供數據庫密碼的最佳實踐。我確信腳本中的硬編碼密碼不是很好的做法。我還有什麼其他選擇可以探索?如何在AWS Datapipeline中的Python腳本中提供Redshift數據庫密碼?
0
A
回答
1
一個非常標準的方法是在安全的S3存儲桶中將store credentials下載並作爲部署/啓動過程的一部分,並使用IAM角色訪問安全存儲桶。對於lambda或datapipeline等有限的運行時情況,您可以在啓動時從S3下載到memory buffer usingboto.Key.get_contents_as_string()
,解析文件並設置憑據。
爲了提高安全性,您可以合併KMS secret management。這裏是an example,它將兩者結合在一起。
0
我通常將它們存儲爲環境變量。我不知道關於AWS數據管道的部署,但在一個標準的Linux盒(EC2),你可以這樣做:
# ~/.profile or /etc/profile
export MY_VAR="my_value"
然後你就可以像這樣訪問他們的Python:
# python script
import os
my_var_value = os.environ['MY_VAR'] if 'MY_VAR' in os.environ else 'default'
相關問題
- 1. Redshift COPY命令vs AWS datapipeline RedshiftCopyActivity
- 2. 如何在shell腳本中提供密碼?
- 3. 如何在Linux腳本中提供密碼
- 4. 如何執行AWS emr和redshift腳本?
- 5. 使用Shell腳本提供密碼
- 6. 在AWS雲(RedShift)上測試數據庫?
- 7. AWS Datapipeline到Ruby代碼
- 8. 在bash腳本中提示MySQLDump密碼?
- 9. AWS datapipeline副本失敗,CommunicationLinkFailure
- 10. 從Redshift中提取數據
- 11. 如何將密碼提供給MSBUILD運行時並在Powershell腳本中使用
- 12. 加密ASP.NET成員資格提供程序數據庫中的密碼
- 13. 如何使用AWS Powershell腳本中的KMS密鑰加密數據
- 14. 在GPG中解密時提供密碼
- 15. 如何保護包含數據庫密碼的PHP腳本?
- 16. 如何在Shrink數據庫sql腳本中提供最新的數據庫名稱?
- 17. 即使密碼在腳本中,SFTP提示輸入密碼
- 18. 如何隱藏在shell腳本Oracle數據庫的密碼而不是給的密碼,我怎樣可以隱藏在shell腳本中的密碼
- 19. 使用提供的密碼在PostgreSQL上運行SQL腳本
- 20. 提供密碼
- 21. AWS Redshift數據處理
- 22. 如何在運行時將密碼提供給數據集?
- 23. 如何在Python中通過HTTP在UDP流中提供數據?
- 24. 如何使用AWS上提供的快照創建本地數據庫?
- 25. 如何解密存儲在數據庫中的shiro密碼..?
- 26. 如何查看元數據,存儲在AWS Redshift中的數據沿襲情況?
- 27. 如何在python腳本中設置Linux用戶密碼?
- 28. 數據庫加密,其中可以在連接字符串中提供密鑰
- 29. 在python中提供測試數據
- 30. 如何在AES數據庫中存儲AES加密密碼
魔法門不是一個好主意,因爲默認情況下訪問服務器授予訪問AWS憑據的權限。 – nightgaunt