

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

# 控制对 Lightsail 存储桶和对象的访问权限
<a name="amazon-lightsail-understanding-bucket-permissions"></a>

默认情况下，所有 Amazon Lightsail 对象存储资源（存储桶和对象）都是私有的。这意味着只有存储桶拥有者，即创建该存储分区的 Lightsail 账户，才能访问存储分区及其对象。存储桶拥有者可以选择将其访问权限授予其他人员。您可以通过以下方式授予存储桶及其对象的访问权限：
+ **只读访问权限** — 以下选项控制通过存储桶 URL（例如，`https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg`）对存储桶及其对象进行只读访问的权限。
  + **存储桶访问权限** — 使用存储桶访问权限向互联网上的所有人授予存储桶中所有对象的访问权限。有关更多信息，请参阅本指南下文中的[存储桶访问权限](#bucket-access-permissions)。
  + **个别对象访问权限** — 使用个别对象访问权限向互联网上的所有人授予存储桶中个别对象的访问权限。有关更多信息，请参阅本指南下文中的[个别对象访问权限](#individual-bucket-object-access-permissions)。
  + **跨账户访问权限**-使用跨账户访问权限为其他 AWS 账户授予对存储桶中所有对象的访问权限。有关更多信息，请参阅本指南下文中的[跨账户存取](#cross-account-access)。
+ **读写访问权限** — 以下选项控制存储桶及其对象的完全读写访问权限。将这些选项与 AWS Command Line Interface (AWS CLI) AWS APIs、和 AWS SDKs。
  + **访问密钥** — 使用访问密钥授予应用程序或插件的访问权限。有关更多信息，请参阅本指南下文中的[访问密钥](#bucket-access-keys)。
  + **资源访问权限**-使用资源访问权限来授予对 Lightsail 实例的访问权限。有关更多信息，请参阅本指南下文中的[资源访问权限](#bucket-resource-access)。
+ **亚马逊简单存储服务阻止公开访问** — 使用亚马逊简单存储服务 (Amazon S3) 账户级封锁公开访问功能，集中限制公众对亚马逊 S3 和 Lightsail 中存储桶的访问。封锁公有访问可以将所有 Amazon S3 和 Lightsail 存储桶设为私有，无论可能配置了何种存储桶和对象权限。有关更多信息，请参阅本指南下文中的 [Amazon S3 屏蔽公共访问权限](#s3-block-public-access)。

有关存储桶的更多信息，请参阅[对象存储](buckets-in-amazon-lightsail.md)。有关安全最佳实践的更多信息，请参阅[对象存储的安全最佳实践](amazon-lightsail-bucket-security-best-practices.md)。

## 存储桶访问权限
<a name="bucket-access-permissions"></a>

使用存储桶访问权限控制存储桶中对象的公有（未经身份验证的）只读访问权限。配置存储桶访问权限时，您可以选择以下选项之一：
+ **所有对象都是私有的** — 只有您或您授予访问权限的人才可以读取存储桶中的所有对象。此选项不允许将个别对象设为公有（只读）。
+ **个别对象可设为公有（只读）**— 存储桶中的对象只能由您或您授予访问权限的人读取，除非您将个别对象设为公有（只读）。此选项允许将个别对象设为公有（只读）。有关更多信息，请参阅本指南下文中的[个别对象访问权限](#individual-bucket-object-access-permissions)。
+ **所有对象都是公有的（只读）**— 互联网上的任何人都可以读取存储桶中的所有对象。如果您选择此选项，则互联网上的所有人都可以通过存储桶的 URL（例如，`https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg`）来读取所有对象。

有关配置存储桶访问权限的更多信息，请参阅[配置存储桶访问权限](amazon-lightsail-configuring-bucket-permissions.md)。

## 个别对象访问权限
<a name="individual-bucket-object-access-permissions"></a>

使用个别对象访问权限控制存储桶中个别对象的公有（未经身份验证的）只读访问权限。仅当存储桶的[存储桶访问权限](#bucket-access-permissions)允许将个别对象设为公有（只读）时，才可以配置个别对象访问权限。配置个别对象的访问权限时，您可以选择以下选项之一：
+ **私有** — 只有您或您授予访问权限的人才可以读取对象。
+ **公有（只读）**— 互联网上的任何人都可以读取对象。通过存储桶的 URL（例如，`https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg`），互联网上的任何人都可以读取个别对象。

有关配置个别对象访问权限的更多信息，请参阅[在存储桶中配置个别对象的访问权限](amazon-lightsail-configuring-individual-object-access.md)。

## 跨账户访问
<a name="cross-account-access"></a>

使用跨账户访问权限为其他 AWS 账户及其用户授予对存储桶中所有对象的经过身份验证的只读访问权限。如果您想与其他账户共享对象，则跨 AWS 账户访问是理想的选择。如果您将跨账户存取授予其他 AWS 账户，则该账户中的用户可以通过存储桶的 URL（例如 `https://amzn-s3-demo-bucket.us-east-1.amazonaws.com/media/sailbot.jpg`）以只读方式访问存储桶中的对象。您最多可以授予 10 个 AWS 账户的访问权限。

有关配置跨账户存取的更多信息，请参阅[配置存储桶的跨账户存取](amazon-lightsail-configuring-bucket-cross-account-access.md)。

## 访问密钥
<a name="bucket-access-keys"></a>

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

有关创建访问密钥的更多信息，请参阅[创建存储桶的访问密钥](amazon-lightsail-creating-bucket-access-keys.md)。

## 资源访问权限
<a name="bucket-resource-access"></a>

使用资源访问权限为 Lightsail 实例授予对存储桶及其对象的完全读写权限。使用资源访问权限，则您不必管理访问密钥等凭证。要授予实例的访问权限，请将实例附加到同一 AWS 区域中的存储桶。要拒绝访问，请将实例从存储桶中分离。如果您要在实例上将应用程序配置为以编程方式上传和访问存储桶上的文件，则非常适合使用资源访问权限。其中一个用例是将 WordPress 实例配置为在存储桶上存储媒体文件。有关更多信息，请参阅[教程：将存储桶连接到您的 WordPress 实例](amazon-lightsail-connecting-buckets-to-wordpress.md)和[教程：使用带有内容分发网络分发的存储桶](amazon-lightsail-using-distributions-with-buckets.md)。

有关配置资源访问权限的更多信息，请参阅[配置存储桶的资源访问权限](amazon-lightsail-configuring-bucket-resource-access.md)。

## Amazon S3 屏蔽公共访问权限
<a name="s3-block-public-access"></a>

使用 Amazon S3 阻止公开访问功能集中限制公众对 Amazon S3 和 Lightsail 中的存储桶的访问。封锁公有访问可以将所有 Amazon S3 和 Lightsail 存储桶设为私有，无论可能配置了何种存储桶和对象权限。您可以使用 Amazon S3 控制台 AWS SDKs、 AWS CLI 和 REST API 为账户中的所有存储桶（包括 Lightsail 对象存储服务中的存储桶）配置阻止公开访问设置。有关更多信息，请参阅[屏蔽对存储桶的公共访问权限](amazon-lightsail-block-public-access-for-buckets.md)。