代码之家  ›  专栏  ›  技术社区  ›  NotSoShabby

从服务器上的容器访问AWS S3 bucket

  •  -2
  • NotSoShabby  · 技术社区  · 7 年前

    在代码中没有AWS凭据的情况下,如何从容器访问S3存储桶?

    我的代码也会自动部署,因此将其作为一个Env变量也是不好的(部署脚本在存储库中,凭证也不应该在那里)。

    1 回复  |  直到 7 年前
        1
  •  3
  •   Matus Dubrava    7 年前

    如果您直接在EC2实例上运行容器(不使用ECS服务),则需要创建 IAM role 并附上适当的政策(例如 AmazonS3FullAccess ,如果您需要S3的所有权限,如果您只需要阅读S3的内容,则可以添加 AmazonS3ReadOnlyAccess 政策)。创建此角色后,可以将其附加到运行容器的EC2实例。

    如果您使用的是ECS服务,那么您可以将此角色附加到定义容器的任务中(仍然可以将其附加到底层EC2容器实例,但仅在EC2启动类型的情况下,而不是Fargate情况下,容器可以承担该角色,但最好尽可能细粒度—具有自己角色的单个任务)。

    您不应该向代码中添加AWS凭据或将其存储在EC2实例/容器中,这就是为什么您有角色。

    推荐文章