【发布时间】: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