我试图使用Apache Libcloud (Web)并阅读Documentation有关如何将其与Amazon EC2一起使用的信息,我一开始就陷入了困境。

在此步骤中:

from libcloud.compute.types import Provider
from libcloud.compute.providers import get_driver

cls = get_driver(Provider.EC2)
driver = cls('temporary access key', 'temporary secret key',
             token='temporary session token', region="us-west-1")


您需要传递临时访问数据,并告诉您阅读Amazon Documentation,但是我也阅读了文档,但我不太清楚为获得我的时间凭证必须做什么。

在文档上说,您可以与AWS STS API进行交互以连接到端点,但是我不知道您如何获得凭据。此外,在Libcloud Web的示例中,他们使用个人凭据:

ACCESS_ID = 'your access id'
SECRET_KEY = 'your secret key'


所以我有点迷路。如何获得我的时间凭证以在代码中使用它?

谢谢并恭祝安康。

最佳答案

如果此代码未在EC2实例上运行,则建议您使用静态凭据:

ACCESS_ID = 'your access id'
SECRET_KEY = 'your secret key'

cls = get_driver(Provider.EC2)
driver = cls(ACCESS_ID, SECRET_KEY, region="us-west-1")


创建访问凭证:


通过https://console.aws.amazon.com/iam/登录到Identity and Access Management(IAM)控制台。
在导航窗格中,选择“用户”。
选择所需用户的名称,然后选择“安全凭据”选项卡。


如果需要,请展开“访问密钥”部分,然后执行以下任一操作:

选择“创建访问密钥”,然后选择“下载凭据”将访问密钥ID和秘密访问密钥保存到计算机上的CSV文件中。将文件存储在安全的位置。此对话框关闭后,您将再无权访问秘密访问密钥。下载CSV文件后,选择“关闭”。

如果您想从EC2机器上运行代码,则可以通过使用STS服务https://boto3.readthedocs.io/en/latest/guide/quickstart.html上的accept_role(),使用适用于Python的AWS开发工具包承担IAM角色,从而获得临时凭证。

关于python - 如何在AWS上创建临时安全凭证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38612442/

10-11 08:03