从 EC2 访问 AWS S3 存储桶

2024-02-29

我需要启动 S3 存储桶,以便我的 EC2 实例有权将图像文件存储到其中。 EC2 实例需要读/写权限。我不想公开 S3 存储桶,我只希望 EC2 实例能够访问它。

另一个问题是我的 EC2 实例由 OpsWorks 管理,我可以根据负载/使用情况启动不同的实例。如果我通过 IP 来限制它,我可能并不总是知道 EC2 实例拥有的 IP。可以通过VPC限制吗?

我是否必须为静态网站托管启用 S3 存储桶? 我是否需要将存储桶中的所有文件公开才能使其正常工作?


您不需要使存储桶公开可读,也不需要使文件公开可读。存储桶及其内容可以保密。

不要根据 IP 地址限制对存储桶的访问,而是根据 EC2 实例正在使用的 IAM 角色来限制它。

  1. 为您的 EC2 实例创建 IAM EC2 实例角色。
  2. 使用该角色运行您的 EC2 实例。
  3. 为该 IAM 角色提供访问 S3 存储桶的策略。

例如:

{
  "Version": "2012-10-17",
  "Statement":[{
    "Effect": "Allow",
    "Action": "s3:*",
    "Resource": ["arn:aws:s3:::my_bucket",
                 "arn:aws:s3:::my_bucket/*"]
    }
  ]
} 
  1. 如果您想限制对存储桶本身的访问,请尝试 S3 存储桶策略。

例如:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": ["arn:aws:iam::111122223333:role/my-ec2-role"]
      },
      "Action": "s3:*",
      "Resource": ["arn:aws:s3:::my_bucket",
                   "arn:aws:s3:::my_bucket/*"]
    }
  ]
}

附加信息:http://blogs.aws.amazon.com/security/post/TxPOJBY6FE360K/IAM-policies-and-Bucket-Policies-and-ACLs-Oh-My-Controlling-Access-to-S3-Resourcec http://blogs.aws.amazon.com/security/post/TxPOJBY6FE360K/IAM-policies-and-Bucket-Policies-and-ACLs-Oh-My-Controlling-Access-to-S3-Resourc

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 EC2 访问 AWS S3 存储桶 的相关文章

  • 有人试图破解我的服务器吗?请告诉我我能做什么? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在我的服务器日志文件中找到了这些请求 我在亚马逊EC2上使用nodejs manager html manager html manag
  • 使用 Python 从 AWS S3 下载文件

    我尝试使用以下代码将文件从 Amazon S3 存储桶下载到本地 但收到错误消息 无法找到凭证 下面给出的是我编写的代码 from boto3 session import Session import boto3 ACCESS KEY A
  • 如何将 RedShift 上的表卸载到单个 CSV 文件?

    我想将一个表从Amazon RedShift迁移到MySQL 但是使用 unload 会生成多个数据文件 这些数据文件很难直接导入到MySQL中 有什么方法可以将表卸载到单个 CSV 文件中 以便我可以将其直接导入到 MySQL 中吗 为了
  • 如何通过 API Gateway 使用事件调用类型调用 Lambda 函数?

    文件说 默认情况下 Invoke API 采用 RequestResponse 调用类型 您可以选择通过将 Event 指定为 InitationType 来请求异步执行 因此 我可以发送到我的函数 python 的就是到处都是 Inspi
  • 亚马逊 CloudFront 延迟

    我正在为我正在开发的 Web 应用程序尝试使用 AWS S3 和 CloudFront 在应用程序中 我允许用户将文件上传到 S3 存储桶 使用 AWS SDK 并通过 CloudFront CDN 提供该文件 但问题是 即使文件已上传并在
  • 如何为数据源指定特定区域的ACM证书?

    我已经为两个区域 ap northeast 1 和 us east 1 的同一域颁发了 2 个证书 因为我的主服务器位于 ap northeast 1 而 CloudFront 需要 us east 1 中的证书 我想在 us east 1
  • 无法正确停止我的 AWS EC2 实例

    作为 AWS 新手 我有一个支持我的 Elastic Beanstalk 应用程序的 t2 micro EC2 实例 它是在我将 WAR 文件部署到 Elastic Beanstalk 时创建的 我的 EB 应用程序不需要每天 24 小时运
  • 如何使用 lambda 和 python 在 s3 上压缩文件

    我需要存档 s3 上存在的多个文件 然后将存档上传回 s3 我正在尝试使用 lambda 和 python 由于某些文件超过 500MB 因此无法在 tmp 中下载 有什么办法可以将文件一一流式传输并将其存档吗 不写入磁盘 流式传输至 S3
  • 从 Grails 控制器渲染视频内容

    毫无疑问又是一个愚蠢的新手问题 我在 Grails 控制器中有一个字节数组 其中包含视频文件 确切地说是 mp4 文件 的内容 我熟悉如何从 grails 控制器渲染 JSON XML 和其他基本类型 但我找不到任何显示如何输出视频的示例
  • 如何将 API Gateway 与 Cognito 联合身份和 Cognito 用户池集成

    在AWS中 我构建了一个调用Lambda函数的API网关 用户通过登录与 Cognito 联合身份池关联的 Cognito 用户池来获得访问权限 并且关联的 IAM 角色包含 API 调用权限 API网关方法是POST请求 如果我使用用户池
  • AWS beanstalk + Django:502 错误网关 - ModuleNotFoundError:没有名为“应用程序”的模块

    我正在尝试将 Django 项目部署到 Elastic Beanstalk 我正在遵循他们的指南 https docs aws amazon com elasticbeanstalk latest dg create deploy pyth
  • 部署 MVC4 项目时出错:找不到文件或程序集

    过去 我只需使用 Visual Studio 2012 发布到 AWS 菜单项即可部署我的 MVC4 网站 到 AWS Elastic Beanstalk 现在 程序可以在本地编译并运行 但无法部署 从消息来看 它似乎正在寻找不在当前部署的
  • azure 和 google 上的自定义联合代理

    azure 和 google 中的 aws 上的自定义联合代理可以替代什么 在AWS中 我可以创建一个允许联合用户登录并访问这样的资源的url https docs aws amazon com IAM latest UserGuide i
  • Cognito/IAM 策略和 S3 获取对象

    我正在尝试将 S3 和 Cognito 集成到我的 iOS 应用程序中 但到目前为止尚未成功 我相信该错误与我针对 Auth 和 Unauth 用户的 IAM 策略有关 所以这是我的政策 Version 2012 10 17 Stateme
  • CORS。预签名 URL。 S3

    我已经生成了一个预签名的 S3 POST URL 使用返回参数 然后将其传递到我的代码中 但我不断收到此错误Response to preflight request doesn t pass access control check No
  • 使用 Amazon EC2 接收电子邮件?

    我使用 EC2 服务器发送电子邮件没有遇到任何问题 但如何检查发送给我的电子邮件 我有弹性 IP 设置并修改了反向 DNS 记录 我需要安装 Postfix 才能接收电子邮件吗 确保端口 25 在您的服务器上处于活动状态并打开 在您的实例上
  • AWS EB 部署节点应用程序:无法运行 npm install

    我正在尝试将我的节点应用程序部署到 AWS 它甚至不允许我部署应用程序 仍然是Sample Application 使用 eb 部署 Version 64 位 Amazon Linux 2016 09 v4 0 1 运行 Node js 日
  • 无法从亚马逊Windows实例的公共IP访问node.js服务器

    我正在 Windows 服务器的亚马逊微实例上运行 Node js 服务器 我无法使用亚马逊实例的公共IP访问node js服务器 我可以使用 localhost 12345 从实例访问 node js 服务器 但无法使用实例的公共 IP
  • 可以在 lambda 中订阅 aws IOT 主题吗?

    新手问题 找不到以前的答案 我想用 Alexa 构建一个简单的泵控制器 希望 Alexa 报告泵状态 最简单的方法是 Alexa gt lambda gt publish to Iot 然后 或者可能在发布之前 订阅另一个主题 本地控制器将
  • 在 AWS Quicksight 中可视化 DynamoDB 数据

    我正在寻找一个以 AWS 为中心的解决方案 如果可能的话 避免使用第三方的东西 来可视化非常简单的 DynamoDB 表中的数据 我们使用 AWS Quicksight 为客户提供许多其他报告和仪表板 以便在那里提供可视化效果 我非常惊讶地

随机推荐

  • 将对象传递给 UITypeEditor

    我目前希望使用 PropertyGrid 来允许用户编辑我的一些类 但是我在将对象传递给他们使用的 UITypeEditor 时遇到了困难 当用户按下下拉菜单时 我想显示一个已加载纹理的列表框以供选择 如果他们想使用应用程序尚未加载的纹理
  • 从SVN迁移后断开GIT分支

    尝试查看几十个帖子 但仍然没有得到我想要的 Preface 我们最初有一个非常大的 SVN 存储库 没有主干 标准结构 等 所以 我正在工作的项目也没有结构 在子文件夹内 我在这个项目上工作了大约几个月 然后遇到了一个情况 我需要一个分支来
  • 仅将变量向下传递到子目录

    如何将项目特定变量传递到子目录 我想知道是否有一种 官方 方式可以做到这一点 CMAKE BUILD TYPE is one of None Debug Release RelWithDebInfo set specific build t
  • 如何使用键盘快捷键移动 Eclipse 选项卡?

    我想在 Eclipse 中移动我的选项卡 如下所示 From this To this 但是使用键盘快捷键 因为每次只是为了重新排序选项卡而使用鼠标执行此操作非常烦人 任何想法 There is no such a shortcut Tab
  • jQuery .on() 方法看不到新元素

    我正在获取一个 JSON 元素并从其项目构建一个列表 如下所示 getTitles function data data data var list getJSON titles data function data each data d
  • 应用程序安装失败:无法写入设备

    在 Xcode 6 3 中 当我尝试在真实设备上运行用 Swift 编写的 iOS 项目时 出现此错误 应用程序安装失败 无法写入设备 我尝试清理项目并再次运行 但出现相同的错误 我该如何修复这个错误 删除设备上的应用程序并再次运行该项目对
  • 如何为 kubernetes 部署提供静态 ELB 端点

    每次我在 kubernates 中部署新版本时 我得到不同的 EXTERNAL IP 在下面的情况下是 afea383cbf72c11e8924c0a19b12bce4 xxxxx us east 1 elb amazonaws com k
  • 无法使用新门户在 Azure AD 中添加 Microsoft 帐户

    我们的一些客户正在使用外部 Microsoft 帐户来访问 AAD 服务 由于我们未与他们的域关联 并且其中一些人使用 Gmail 帐户 因此几乎不可能将他们的整个域添加到我们的 AAD 中 旧门户 manage windowsazure
  • 如何在 Clojure 中按部分生成惰性序列?

    我有一个数据库服务器 我从中获取数据 有时数据有数百万行甚至更多 所以我使用惰性下载 我使用 clojure jdbc 库中的服务器端游标https funcool github io clojure jdbc latest cursor
  • 引起原因:java.lang.IllegalArgumentException:无法在 Spring Batch 中反序列化执行上下文

    我正在开发Spring Boot Batch XML基于的方法 在此示例中 我创建了以下类 当我只是加载或分类 Spring Batch 作业时 我收到以下错误 我网络搜索链接如下 迁移到 Spring Boot 2 并使用 Spring
  • 单元测试测试顺序

    我如何确定单元测试方法的顺序 字母或数字前缀是正确的方法吗 class TestFoo TestCase def test 1 self def test 2 self or class TestFoo TestCase def test
  • 多个应用程序使用相同的内容提供商

    我正在开发一组应用程序 这些应用程序仅在某些品牌上有所区别 想想不同的运动队 但是 我遇到了一个问题 我为所有特定品牌的应用程序使用一个库项目 并希望为所有这些应用程序使用相同的 ContentProvider 当我创建 ContentPr
  • 使用 awk 将一个文件中的列替换为另一个文件中的列?

    我有两个文件 f1 111 aaa 444 222 bbb 555 333 ccc 666 f2 111 333 000 444 222 444 111 555 333 555 555 666 如何使用 awk 将 f1 中的第二列替换为
  • Google 云语音同步识别“INVALID_ARGUMENT”

    我已经管理了 概述教程 https cloud google com speech docs getting started https cloud google com speech docs getting started然后我尝试使用
  • 清除后气流强制重新运行上游任务,即使下游任务标记为成功

    我在 Airflow 中有任务 A gt B gt C 当我运行 DAG 并全部成功完成时 我希望能够单独清除 B 同时将 C 标记为成功 B 清除并进入 no status 状态 但当我尝试重新运行 B 时 什么也没有发生 我尝试过 ig
  • ElementNotInteractableException:消息:使用 Selenium Python 在搜索字段中发送文本时元素不可交互错误

    我尝试在网站上使用 send keys 这给了我一个元素不可交互的错误 下面是我的代码 import selenium from selenium import webdriver from selenium webdriver chrom
  • 在 django-rest-framework 中使用 .to_representation() 和 .to_internal_value?

    What do to representation and to internal value do in serializers 如果我将数据传递给序列化器 数据会被抛出吗to representation first 这两个有什么用呢
  • Matplotlib 中的空、零和非零像素表示

    我正在尝试绘制光线追踪路径 其中像素值在 matplotlib 中获得非 1 值 换句话说 我有以下代表 4 条光线路径的 2D 数组 光线穿过的每个像素都有随机值 除了这些相交的像素外 其余的都是 1 我想以白色或不可见 不存在 显示值
  • 在 RDLC 报告中动态隐藏列

    我们如何在 MVC 2 的 rdlc 报告中动态隐藏列 是否可以使用外部参数 我们如何以编程方式控制 rdlc 报告中列的可见性 你不想使用Hidden属性 您实际上想要选择该列 右键单击并选择Column Visibility 进入此处后
  • 从 EC2 访问 AWS S3 存储桶

    我需要启动 S3 存储桶 以便我的 EC2 实例有权将图像文件存储到其中 EC2 实例需要读 写权限 我不想公开 S3 存储桶 我只希望 EC2 实例能够访问它 另一个问题是我的 EC2 实例由 OpsWorks 管理 我可以根据负载 使用