如何在没有AWS Vault的情况下使用boto3?

问题描述 投票:0回答:1

我有以下方法在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

python amazon-web-services boto3 boto
1个回答
1
投票

对于在Amazon EC2实例上运行的代码:

  • 创建IAM角色并分配适当的权限
  • 将角色与Amazon EC2实例相关联
  • 在调用AWS开发工具包的实例上运行的任何代码都将自动获取与该角色关联的凭据
  • 无需在配置/凭证文件中放置访问密钥,密钥和角色

见:IAM Roles for Amazon EC2 - Amazon Elastic Compute Cloud

如果您在非EC2计算机上运行代码,则需要在config / credentials文件中输入条目。这将至少涉及与IAM用户相关联的访问密钥和密钥。如果您希望使用IAM角色,则代码需要使用这些凭据来AssumeRole()

© www.soinside.com 2019 - 2024. All rights reserved.