【问题标题】:Download from Requester Pays S3 bucket using EC2 identity使用 EC2 身份从 Requester Pays S3 存储桶下载
【发布时间】:2018-03-22 11:54:53
【问题描述】:

我正在尝试从Requester Pays S3 bucket 列出和下载文件:

aws s3 ls --request-payer requester s3://requester-pays-bucket/

我正在从 EC2 实例运行此命令,但它失败了:

Unable to locate credentials. You can configure credentials by running "aws configure".

错误很明显,但我还是有点惊讶。 Requester Pays 存储桶的目标是将 S3 数据传输的成本分摊给请求者。由于我是从 EC2 发起请求,所以 S3 应该已经清楚我作为请求者的身份,不是吗?

S3 或 AWS CLI 能否以某种方式自动从我正在运行的 EC2 实例中获取我的身份?还是我必须以某种明确的方式提供凭据?

【问题讨论】:

  • 提供一些关于我在这里尝试做的事情的背景:我维护an open source tool,它在 EC2 上启动 Apache Spark 集群。为了方便我的用户,我正在尝试offer Spark and Hadoop releases in an easily-accessible S3 bucket,EC2 实例可以作为集群设置的一部分从中下载。
  • 尼克,愚蠢的问题...您的实例是否有关联的IAM Role?如果是这样,aws sts get-caller-identity 是否正常工作?
  • @Michael-sqlbot - 不,没有关联的 IAM 角色。我希望 AWS 以某种方式自动将我识别为付款人,但似乎我必须直接或通过附加的 IAM 角色提供凭据。

标签: amazon-s3 amazon-ec2 aws-cli


【解决方案1】:

您必须明确提供有权访问您的 S3 存储桶的 IAM 用户的凭证。只需转到您的 AWS 账户的 IAM 控制面板并创建一个对 s3 具有编程访问权限的新用户。之后,您将获得一个秘密访问密钥和访问密钥 ID。

然后登录到您的 EC2 实例,在您的终端中运行命令“aws configure”,您将被要求输入 access key id 、 secret access key 、 默认区域如果你想提供,只需输入这些详细信息,你就可以使用你的命令了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    • 2019-05-30
    • 1970-01-01
    • 2016-03-07
    相关资源
    最近更新 更多