在没有AWS CLI的情况下从本地docker容器访问S3存储桶

gar*_*sms 6 amazon-s3 amazon-web-services docker

存储桶可公开访问,但具有ACL,仅可访问授权用户.我可以从本地计算机访问S3存储桶,因为我已为其配置了AWS CLI.

有没有什么方法可以从我的机器上运行的docker实例访问存储桶,而无需在docker镜像上安装和配置AWS CLI?

编辑:
对于那些不了解S3如何工作并且正在低估问题的人,可以公开访问存储桶 - 如果顶级存储桶URI被命中,则列出其所有内容; 但由于ACL限制,这些项目都不可访问.我知道这可能是一个糟糕的设计,但这不是这个问题的重点.
我可以访问我机器上的所有项目,因为我已配置AWS CLI以允许访问应用程序AWS SDK.但是,我可以不从Docker容器访问它们.
如果没有在docker镜像中设置AWS CLI,这似乎是不可能的,因为SDK会查找已配置的AWS CLI,或尝试使用内部IP 169.254.169.254进行元数据访问,如果是EC2实例,则会成功.不,EC2实例没有根据下面的答案设置CLI.如果您的实例可以访问受保护的S3存储桶,那么这是一个IAM策略.

Pre*_*onM -1

所有 aws ec2 实例都是使用 aws cli 预先构建的。如果您的 docker 容器是使用 ec2 实例构建的,则根本不需要安装 cli。