如何从在 Elastic Beanstalk 实例上运行的应用程序访问 Amazon S3 存储桶?

上次更新日期:2022 年 10 月 21 日

我想从在 AWS Elastic Beanstalk 实例上运行的应用程序访问 Amazon Simple Storage Service (Amazon S3) 存储桶。

简短描述

要从 Elastic Beanstalk 访问 S3 存储桶,请验证您的 AWS Identity and Access Management (IAM) 实例配置文件是否已附加到 Amazon Elastic Compute Cloud (Amazon EC2) 实例。实例必须具有正确的 Amazon S3 权限。然后,确认您的 S3 存储桶策略未拒绝访问附加到实例配置文件的角色。

解决方法

验证实例配置文件的权限

  1. 打开 Elastic Beanstalk 控制台
  2. 选择您的环境。
  3. 从导航菜单中选择 Configuration (配置)
  4. Configuration overview (配置概述) 部分中,从 Security (安全性)Category (类别) 列中选择 Modify (修改)
  5. IAM instance profile (IAM 实例配置文) 菜单中,记下您的实例配置文件的名称。
  6. 打开 IAM 控制台
  7. 在导航窗格中,选择角色
  8. 在搜索框中,输入第 5 步中的实例配置文件名称。
  9. 验证第 8 步中的角色是否具有您要访问的存储桶所需的 Amazon S3 权限。有关更多信息,请参阅 Amazon S3 中的身份和权限管理以及 Amazon S3 的操作、资源和条件键

验证您的 S3 存储桶的权限

  1. 打开 Amazon S3 控制台
  2. 从存储桶列表中选择您要更改其存储桶策略的存储桶。
  3. 选择权限选项卡。
  4. 选择 Bucket Policy (存储桶策略)
  5. 搜索 "Effect": "Deny" 语句。
  6. 在您的存储桶策略中,编辑或删除任何拒绝 IAM 实例配置文件访问您的角色的 "Effect": "Deny" 语句。有关更多信息,请参阅使用 Amazon S3 控制台添加存储桶策略
    注意:请勿删除任何必要的拒绝语句,以符合最低权限原则这一安全最佳实践。有关更多信息,请参阅 Amazon S3 安全性

访问您的 S3 存储桶

您现在可以访问您的 S3 存储桶,然后使用 S3 存储桶执行以下任务: