【问题标题】:Where to put AWS credentials for Boto3 S3 instance在哪里放置 Boto3 S3 实例的 AWS 凭证
【发布时间】:2019-03-08 11:53:35
【问题描述】:

我正在尝试运行一个简单的 python 脚本,该脚本遍历我的所有 AWS 存储桶并打印出存储桶名称。我试图弄清楚将我的 AWS 凭证放在哪里进行授权。在文档中,它说将它们放在特定的 aws 配置文件中

或者,您可以自己创建凭据文件。经过 默认情况下,它的位置在 ~/.aws/credentials:

当运行一个独立的 python 脚本时,我们称之为 s3_test.py,我把凭证放在哪里?在我的本地机器上,我是在 ~/.aws/ 创建一个名为 credentials 的文件,还是可以将我的凭证放在脚本本身中?

import boto3

s3 = boto3.resource('s3')

bucket_name = 'bucketnamehere'

for bucket in s3.buckets.all():
    print(bucket.name)

【问题讨论】:

    标签: python amazon-web-services amazon-s3 boto3


    【解决方案1】:

    在您的终端中运行AWS CLI 命令aws configure 并输入您的凭据、区域等。

    另请参阅the AWS credentials docs 了解更多选项。

    尽可能对源代码保密(总是有可能的)。

    【讨论】:

    • 如果您有两个 AWS 账户,一个是个人账户,一个是专业账户,您是否需要在每次想要使用另一个 AWS 账户时重新配置您的 .aws 凭证文件?
    • 您可以拥有已命名的配置文件。 AWS CLI 命令采用--profile 标志来指定应用哪个配置文件。
    • 我同意,但是如果我想在不使用命令行的情况下在我的 windows pc 上找到 .aws 文件,你能帮忙吗?我期待类似“C:/Users/ ...
    【解决方案2】:

    按照他们的建议将您的凭据放在 ~/.aws/credentials,或运行 aws configure 作为 Taylor Wood 的答案,但切勿将凭据放在您的代码中。这是一个很大的安全风险。

    【讨论】:

      【解决方案3】:

      配置文件应该在“C:/Users/Username/.aws”中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-16
        • 2015-07-09
        • 1970-01-01
        • 1970-01-01
        • 2019-02-03
        • 2019-09-12
        • 1970-01-01
        • 2018-09-04
        相关资源
        最近更新 更多