我有以下方法在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
。
对于在Amazon EC2实例上运行的代码:
见:IAM Roles for Amazon EC2 - Amazon Elastic Compute Cloud
如果您在非EC2计算机上运行代码,则需要在config / credentials文件中输入条目。这将至少涉及与IAM用户相关联的访问密钥和密钥。如果您希望使用IAM角色,则代码需要使用这些凭据来AssumeRole()
。