gpt4 book ai didi

amazon-ec2 - 仅从 EC2 实例配置文件中获取 boto3 凭证

转载 作者:行者123 更新时间:2023-12-03 14:18:11 26 4
gpt4 key购买 nike

boto3 documentation列出搜索凭证和仅在最后一次从 EC2 实例元数据服务获取凭证的顺序。

如何强制boto3仅从 EC2 实例配置文件或实例元数据服务获取凭证?

我遇到了 this这让我可以从元数据服务中获取临时凭证,然后我可以将其传递以创建 boto3 session 。

但是我的问题是是否有更好的方法来做到这一点?是否可以创建一个 boto3 session 通过指定 provider使用即 InstanceMetadataProvider - link ?我尝试了很多搜索文档,但无法弄清楚。

原因 - 此脚本运行的上下文也具有设置了 AWS key 的环境变量,这显然优先,但是我需要脚本仅在分配给 EC2 实例的 IAM 角色的情况下运行。

最佳答案

所以我最终这样做了,按预期工作。始终使用来自实例角色的临时凭证。该脚本是短暂的,因此信用证的有效性不是问题。

from botocore.credentials import InstanceMetadataProvider, InstanceMetadataFetcher

provider = InstanceMetadataProvider(iam_role_fetcher=InstanceMetadataFetcher(timeout=1000, num_attempts=2))
creds = provider.load().get_frozen_credentials()
client = boto3.client('ssm', region_name='us-east-1', aws_access_key_id=creds.access_key, aws_secret_access_key=creds.secret_key, aws_session_token=creds.token)

如果有更好的方法,请随时发布。

关于amazon-ec2 - 仅从 EC2 实例配置文件中获取 boto3 凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49496141/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com