我试图使用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/