【发布时间】:2016-03-29 14:49:16
【问题描述】:
我正在努力找出如何从我的代码中动态获取我的 aws_access_key_id 和 aws_secret_access_key。
在 boto2 中我可以执行以下操作:boto.config.get_value('Credentials', 'aws_secret_access_key') 但我似乎在 boto3 中找不到类似的方法。如果我查看boto3.Session()._session._credentials,我就能找到钥匙,但这对我来说似乎是所有黑客之母,我宁愿不走那条路。
【问题讨论】:
-
您能否解释一下为什么需要直接访问代码中的凭据?
-
我需要它,因为我将数据从 S3 复制到 Redshift,所以我需要
aws_access_key_id和aws_secret_access_key。我宁愿不必编写进入配置/凭据文件的代码,并在 Boto 已经这样做时找到它们。 -
是的,将这些密钥传递给 Redshift 以进行 S3 访问是一件很痛苦的事情。我希望他们允许我们为 Redshift 分配一个 IAM 角色以避免这样做。我担心您的解决方案不适用于使用 IAM 实例配置文件或 Lambda 函数的 EC2 实例。
-
@Mo.我同意马克B。它不是便携式解决方案。检查我的解决方案,看看它是否有效。
-
如何将密钥放入凭据配置中并为其指定一个新的配置文件名称而不是 [default] ?并使用 profile_name= 指向显式配置文件键?
标签: python-3.x amazon-web-services boto3