控制对 Lightsail 存储桶和对象的访问 - Amazon Lightsail

控制对 Lightsail 存储桶和对象的访问

默认情况下,所有 Amazon Lightsail 对象存储资源(存储桶和对象)都是私有的。这意味着,仅存储桶拥有者(创建存储桶的 Lightsail 账户)能够访问存储桶及其对象。存储桶拥有者可以选择将其访问权限授予其他人员。您可以通过以下方式授予存储桶及其对象的访问权限:

  • 只读访问权限 — 以下选项控制通过存储桶 URL(例如,https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg)对存储桶及其对象进行只读访问的权限。

    • 存储桶访问权限 — 使用存储桶访问权限向互联网上的所有人授予存储桶中所有对象的访问权限。有关更多信息,请参阅本指南下文中的存储桶访问权限

    • 个别对象访问权限 — 使用个别对象访问权限向互联网上的所有人授予存储桶中个别对象的访问权限。有关更多信息,请参阅本指南下文中的个别对象访问权限

    • 跨账户存取 – 使用跨账户存取授予其他 AWS 账户访问存储桶中所有对象的权限。有关更多信息,请参阅本指南下文中的跨账户存取

  • 读写访问权限 — 以下选项控制存储桶及其对象的完全读写访问权限。通过 AWS Command Line Interface(AWS CLI)、AWS API 和 AWS SDK 使用这些选项。

    • 访问密钥 — 使用访问密钥授予应用程序或插件的访问权限。有关更多信息,请参阅本指南下文中的访问密钥

    • 资源访问权限 — 使用资源访问权限授予对 Lightsail 实例的访问权限。有关更多信息,请参阅本指南下文中的资源访问权限

  • Amazon Simple Storage Service 屏蔽公共访问权限 – 使用 Amazon Simple Storage Service(Amazon S3)账户级别屏蔽公共访问权限功能来集中限制对 Amazon S3 和 Lightsail 中的存储桶的公共访问。屏蔽公共访问权限可以将所有 Amazon S3 和 Lightsail 存储桶设置为私有,无论单个存储桶和对象权限是如何配置的。有关更多信息,请参阅本指南下文中的 Amazon S3 屏蔽公共访问权限

有关存储桶的更多信息,请参阅对象存储。有关安全最佳实践的更多信息,请参阅对象存储的安全最佳实践

存储桶访问权限

使用存储桶访问权限控制存储桶中对象的公有(未经身份验证的)只读访问权限。配置存储桶访问权限时,您可以选择以下选项之一:

  • 所有对象都是私有的 — 只有您或您授予访问权限的人才可以读取存储桶中的所有对象。此选项不允许将个别对象设为公有(只读)。

  • 个别对象可设为公有(只读)— 存储桶中的对象只能由您或您授予访问权限的人读取,除非您将个别对象设为公有(只读)。此选项允许将个别对象设为公有(只读)。有关更多信息,请参阅本指南下文中的个别对象访问权限

  • 所有对象都是公有的(只读)— 互联网上的任何人都可以读取存储桶中的所有对象。如果您选择此选项,则互联网上的所有人都可以通过存储桶的 URL(例如,https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg)来读取所有对象。

有关配置存储桶访问权限的更多信息,请参阅配置存储桶访问权限

个别对象访问权限

使用个别对象访问权限控制存储桶中个别对象的公有(未经身份验证的)只读访问权限。仅当存储桶的存储桶访问权限允许将个别对象设为公有(只读)时,才可以配置个别对象访问权限。配置个别对象的访问权限时,您可以选择以下选项之一:

  • 私有 — 只有您或您授予访问权限的人才可以读取对象。

  • 公有(只读)— 互联网上的任何人都可以读取对象。通过存储桶的 URL(例如,https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg),互联网上的任何人都可以读取个别对象。

有关配置个别对象访问权限的更多信息,请参阅在存储桶中配置个别对象的访问权限

跨账户存取

使用跨账户存取为其他 AWS 账户及其用户授予存储桶中所有对象的验证只读访问权限。如果您想要与其他 AWS 账户共享对象,则非常适合使用跨账户存取。如果您将跨账户存取授予其他 AWS 账户,则该账户中的用户可以通过存储桶的 URL(例如 https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg)以只读方式访问存储桶中的对象。您最多可以将访问权限授予 10 个 AWS 账户。

有关配置跨账户存取的更多信息,请参阅配置存储桶的跨账户存取

访问密钥

使用访问密钥创建一组凭证,以授予存储桶及其对象的完全读写访问权限。访问密钥包含一组访问密钥 ID 和秘密访问密钥。每个存储桶最多可以有两个访问密钥。您可以在应用程序中配置访问密钥,以便可以使用 AWS API 和 AWS SDK 来访问存储桶及其对象。您还可以在 AWS CLI 上配置访问密钥。

有关创建访问密钥的更多信息,请参阅创建存储桶的访问密钥

资源访问权限

使用资源访问权限授予 Lightsail 实例的存储桶及其对象的完全读写访问权限。使用资源访问权限,则您不必管理访问密钥等凭证。要授予实例的访问权限,请将实例附加到同一 AWS 区域 中的存储桶。要拒绝访问,请将实例从存储桶中分离。如果您要在实例上将应用程序配置为以编程方式上传和访问存储桶上的文件,则非常适合使用资源访问权限。其中一个使用场景是配置 WordPress 实例以将媒体文件存储在存储桶中。有关更多信息,请参阅教程:将存储桶连接到 WordPress 实例教程:将存储桶与内容分发网络分配结合使用

有关配置资源访问权限的更多信息,请参阅配置存储桶的资源访问权限

Amazon S3 屏蔽公共访问权限

使用 Amazon S3 屏蔽公共访问权限功能来集中限制对 Amazon S3 和 Lightsail 中的存储桶的公共访问。屏蔽公共访问权限可以将所有 Amazon S3 和 Lightsail 存储桶设置为私有,无论单个存储桶和对象权限是如何配置的。您可以使用 Amazon S3 控制台、AWS CLI、AWS SDK 和 REST API 为账户中的所有存储桶配置屏蔽公共访问权限设置,包括 Lightsail 对象存储服务中的存储桶。有关更多信息,请参阅屏蔽对存储桶的公共访问权限