amazon-s3 - 向 ECS/Fargate 中的 AWS CLI 提供凭证

标签 amazon-s3 amazon-iam amazon-ecs aws-cli aws-fargate

我想使用 Fargate 创建一个 ECS 任务,并使用 AWS CLI(除其他外)将文件上传到 S3。我知道可以创建任务角色,它可以为任务提供对 AWS 服务/资源的权限。同样,在 OpsWorks 中,AWS 开发工具包能够查询实例元数据以获取其实例配置文件的临时凭证。我也found these docs表明在 EC2 实例上使用 AWS CLI 也可以实现类似的效果。

Fargate 是否有等效项 - 即,在 Fargate 容器中运行的 AWS CLI 是否可以查询元数据服务以获取临时凭证?如果没有,有什么好的方法可以进行身份​​验证以便我可以将文件上传到 S3?我是否应该为此任务创建一个用户并将 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 作为环境变量传递?

(我知道可以有一个由 EC2 支持的 ECS 任务,但这个任务是短暂的,可能每月运行一次;它似乎很适合 Fargate。)

最佳答案

"I know that it's possible to create task roles, which can provide the task with permissions on AWS services/resources."

"Is there an equivalent for Fargate"

你已经知道答案了。 ECS 任务角色并非特定于 EC2 部署,它也适用于 Fargate 部署。

您可以通过ECS metadata service获取任务元数据,包括IAM访问 key 。 。但您无需担心这一点,因为 AWS CLI 和任何 AWS 开发工具包都会在 ECS 任务内运行时自动提取该信息。

关于amazon-s3 - 向 ECS/Fargate 中的 AWS CLI 提供凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71376832/

相关文章:

ruby-on-rails - 在 url_for 中使用过期时的 Amazon S3 无效日期

ruby-on-rails - 使用回形针将照片上传到 Amazon s3 时出现问题

amazon-web-services - 如何使用变量中的凭证运行 AWS SDK 版本 2?

aws-api-gateway - API 网关授权 : AWS sigv4 vs Cognito User Pool JWT

amazon-web-services - 如何获取本地ec2实例的container-instance-id

python - AWS使用Lambda将文件从S3存储桶下载到Windows本地目录

objective-c - 使用 AFNetworking 发布请求 Amazon S3

amazon-s3 - 使用 AWS IAM 角色和策略访问具有特定 "tag"的 s3

amazon-web-services - 任务定义 - 遇到不受支持的属性名称 - 环境

docker - AWS ECS中不同服务之间的通信