我有以下在Python中运行的方法:
def connect_s3_boto3():
try:
os.environ['AWS_PROFILE'] = "a9e"
s3 = boto3.resource('s3')
return s3
except:
raise
问题是可以使用~/.aws/config
:
[profile home]
aws_access_key_id=ID
aws_secret_access_key=SECRET
[profile a9e]
region=eu-west-1
role_arn=DAROLE
source_profile=home
因此,我有一系列疑问。在要使用该方法的生产环境中,需要设置AWS Vault?有没有其他选择?例如,像在IAM_ROLE
中一样使用boto2
。
答案 0 :(得分:1)
对于在Amazon EC2实例上运行的代码:
请参阅:IAM Roles for Amazon EC2 - Amazon Elastic Compute Cloud
如果您在非EC2计算机上运行代码,则需要在config / credentials文件中输入条目。这将至少涉及与IAM用户关联的访问密钥和秘密密钥。如果您随后希望使用IAM角色,则代码需要AssumeRole()
使用这些凭据。