限制公众访问 Lightsail 存储桶和对象 - Amazon Lightsail

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

限制公众访问 Lightsail 存储桶和对象

Amazon Simple Storage Service(Amazon S3)是一种可让客户存储和保护数据的对象存储服务。Amazon Lightsail 对象存储服务基于亚马逊 S3 技术构建。Amazon S3 提供账户级屏蔽公共访问权限,您可以使用它来限制对 AWS 账户中所有 S3 存储桶的公共访问权限。账户级封禁公有访问权限可以将所有 S3 存储桶设为 AWS 账户 私有,无论现有的个人存储桶和对象权限如何。

在允许或拒绝公开访问时,Lightsail 对象存储分区会考虑以下因素:

  • Lightsail 存储桶访问权限。有关更多信息,请参阅存储桶的权限

  • Amazon S3 账户级别的封锁公共访问配置,它会覆盖 Lightsail 存储桶的访问权限。

如果您在 Amazon S3 中开启账户级屏蔽所有公开访问权限,则您的公有 Lightsail 存储桶和对象将变为私有且无法再公开访问。

为您的账户配置屏蔽公共访问权限设置

您可以使用 Amazon S3 控制台、 AWS Command Line Interface (AWS CLI)、 AWS 软件开发工具包和 REST API 来配置封锁公共访问设置。您可以在 Amazon S3 控制台的导航窗格中访问账户级屏蔽公共访问权限功能,如以下示例所示。

Amazon S3 控制台中的屏蔽公共访问权限导航窗格选项

Amazon S3 控制台提供的设置可以屏蔽所有公共访问权限,屏蔽通过新的或任何访问控制列表授予的公共访问权限,以及屏蔽通过新的或任何公有存储桶或接入点策略授予的对存储桶和对象的公共访问权限。

Amazon S3 控制台中的屏蔽公共访问权限选项

您可以在 Amazon S3 控制台中打开关闭每个设置。在 API 中,相应的设置为 TRUE(打开)或 FALSE(关闭)。以下各节描述了每种设置对 S3 存储桶和 Lightsail 存储桶的影响。

注意

以下部分提到访问控制列表 (ACL)。ACL 定义拥有或有权访问存储桶或单个对象的用户。有关更多信息,请参阅《Amazon S3 用户指南》中的访问控制列表概述

  • 阻止所有公开访问-启用此设置可阻止对您的 S3 存储桶、Lightsail 存储分区及其相应对象的所有公开访问。此设置包含以下所有设置。启用此设置后,只有您(存储桶所有者)和授权用户可以访问您的存储桶及其对象。您只能在 Amazon S3 控制台中启用此设置。它在 AWS CLI、Amazon S3 API 或 AWS 软件开发工具包中不可用。

    • 屏蔽通过访问控制列表(ACL)授予的对存储桶和对象的公共访问权限:启用此设置以屏蔽将公有 ACL 放在存储桶和对象上。此设置不会影响现有 ACL。因此,已有公有 ACL 的对象仍然是公有的。由于存储桶访问权限设置为 All objects are public and read-only(所有对象均为公有且只读),因此此设置对公有对象也没有影响。此设置在 Amazon S3 API 中被标记为 BlockPublicAcls

      注意

      WordPress 启用此设置后,将媒体放入 Lightsail 存储桶中的插件(例如 Offload Media Light 插件)可能会停止工作。这是因为大多数 WordPress 插件都会在对象上配置公共读取 ACL。 WordPress 切换对象 ACL 的插件也可能停止工作。

    • 屏蔽通过任何访问控制列表(ACL)授予的对存储桶和对象的公共访问权限:启用此设置以忽略公有 ACL 并屏蔽对存储桶和对象的公共访问权限。此设置允许将公有 ACL 放在存储桶和对象上,但在授予访问权限时会忽略它们。对于 Lightsail 存储桶,将存储分区的访问权限设置为 “所有对象” 均为公开且只读,或者将单个对象的权限设置为 “公共(只读)”,等同于在两者上设置公有 ACL。此设置在 Amazon S3 API 中被标记为 IgnorePublicAcls

    • 阻止通过新的公共存储分区或接入点策略授予的对存储分区和对象的公开访问权限-启用此设置可阻止在 Lightsail 存储分区上配置 “所有对象都是公有的” 和 “只读” 存储分区访问权限。此设置不影响已配置 All objects are public and read-only(所有对象均为公有且只读)存储桶访问权限的存储桶。此设置在 Amazon S3 API 中被标记为 BlockPublicPolicy

    • 通过任何公共存储分区或接入点策略阻止对存储分区和对象的公开和跨账户访问 — 启用此设置可将您的所有 Lightsail 存储分区设为私有。这会将所有 Lightsail 存储桶设为私有,即使它们配置了 “所有对象均为公用” 和 “只读” 存储分区访问权限。此设置在 Amazon S3 API 中被标记为 RestrictPublicBuckets

      重要

      此设置还会阻止在 Lightsail 存储分区上配置的跨账户访问,该存储分区还配置了 Lightsail 中的 “所有对象都是公有的” 和 “只读” 存储分区访问权限。要继续允许跨账户访问,请务必在 Lightsail 中将 Lightsail 存储桶配置为 “所有对象均为私有存储桶” 访问权限,然后在 Amazon S3 中启用 “禁止通过任何公用存储桶或接入点策略对存储桶和对象的公开和跨账户访问权限” 设置。

有关屏蔽公共访问权限以及如何对其进行配置的更多信息,请参阅《Amazon S3 用户指南》中的以下资源:

使用 Lightsail 控制台 AWS CLI、 AWS 软件开发工具包和 REST API 为您的 Lightsail 存储桶配置访问权限。有关更多信息,请参阅存储桶的权限

注意

Lightsail 使用服务相关角色从 Amazon S3 获取当前账户级别的封禁公开访问配置,并将其应用于 Lightsail 对象存储资源。在 Amazon S3 中配置封锁公共访问后,请至少等待一小时使其在 Lightsail 中生效。有关更多信息,请参阅服务相关角色

管理存储桶和对象

以下是管理 Lightsail 对象存储桶的一般步骤:

  1. 了解 Amazon Lightsail 对象存储服务中的对象和存储桶。有关更多信息,请参阅 Amazon Lightsail 中的对象存储

  2. 了解您可以在 Amazon Lightsail 中为存储桶命名的名称。有关更多信息,请参阅 Amazon Lightsail 中的存储桶命名规则

  3. 通过创建存储分区开始使用 Lightsail 对象存储服务。有关更多信息,请参阅在 Amazon Lightsail 中创建存储桶

  4. 了解存储桶的安全最佳实践以及您可以为存储桶配置的访问权限。您可以将存储桶中的所有对象设为公开或私有,也可以选择将单个对象设为公开。通过创建访问密钥、将实例附加到存储桶,以及向其他亚马逊云科技账户授予访问权限,还可以授予对存储桶的访问权限。有关更多信息,请参阅 Amazon Lights ail 对象存储的安全最佳实践和了解 Amazon Lights ail 中的存储桶权限

    了解存储桶访问权限后,请参阅以下指南,授予对存储桶的访问权限:

  5. 了解如何为存储桶启用访问日志记录,以及如何使用访问日志来审计存储桶的安全性。有关更多信息,请参阅以下指南。

  6. 创建一个 IAM 策略,允许用户在 Lightsail 中管理存储桶。有关更多信息,请参阅在 A mazon Lightsail 中管理存储桶的 IAM 政策

  7. 了解存储桶中对象的标记和识别方式。有关更多信息,请参阅了解 Amazon Lightsail 中的对象密钥名称

  8. 了解如何上传文件和管理存储桶中的对象。有关更多信息,请参阅以下指南。

  9. 启用对象版本控制,可保留、检索和还原存储桶中存储的每个对象的各个版本。有关更多信息,请参阅 Amazon Lightsai l 中的存储桶中启用和暂停对象版本控制

  10. 启用对象版本控制后,您可以还原存储桶中对象的先前版本。有关更多信息,请参阅在 Amazon Lightsail 中恢复存储桶中对象的先前版本

  11. 监控存储桶的利用率。有关更多信息,请参阅在 Amazon Lightsail 中查看存储桶的指标

  12. 配置存储桶指标的警报,以便在存储桶的利用率超过阈值时收到通知。有关更多信息,请参阅在 Amazon Lightsail 中创建存储桶指标警报

  13. 如果存储桶的存储和网络传输不足,请更改存储桶的存储套餐。有关更多信息,请参阅在 Amazon Lightsail 中更改存储桶的计划

  14. 了解如何将您的存储桶连接到其他资源。有关更多信息,请参阅以下教程。

  15. 如果您不再使用存储桶,则将其删除。有关更多信息,请参阅在 Amazon Lightsail 中删除存储桶