

# 使用签名 URL 和签名 Cookie 提供私有内容
<a name="PrivateContent"></a>

许多通过互联网分发内容的公司都希望限制对文档、业务数据、流媒体或面向选定用户（例如付费用户）的内容的访问。要使用 CloudFront 安全地提供这种私有内容，可执行以下操作：
+ 要求用户使用特殊的 CloudFront 签名 URL 或签名 Cookie 访问私有内容。
+ 要求您的用户使用 CloudFront URL 访问内容，而不是直接用源服务器（例如 Amazon S3 或私有 HTTP 服务器）上的 URL 访问内容。CloudFront URL 不是必需的，但建议使用，以防止用户绕过在已签名的 URL 或已签名的 Cookie 中指定的限制。

有关更多信息，请参阅 [限制对文件的访问](private-content-overview.md)。

## 如何提供私有内容
<a name="private-content-task-list"></a>

要配置 CloudFront 以提供私有内容，请执行以下任务。

1. （可选但建议使用）要求用户仅通过 CloudFront 访问您的内容。使用的方法取决于您使用的是 Amazon S3 还是自定义源：
   + **Amazon S3** – 请参阅[限制对 Amazon S3 源的访问](private-content-restricting-access-to-s3.md)。
   + **自定义源** – 请参阅[在自定义源上限制对文件的访问](private-content-overview.md#forward-custom-headers-restrict-access)。

   自定义源包括 Amazon EC2、配置为网站端点的 Amazon S3 存储桶、Elastic Load Balancing 以及您自己的 HTTP Web 服务器。

1. 指定您希望用于创建签名 URL 或签名 Cookie 的*可信密钥组* 或*可信签署人*。建议您使用可信密钥组。有关更多信息，请参阅 [指定可以创建签名 URL 和签名 Cookie 的签署人](private-content-trusted-signers.md)。

1. 将应用程序编写为响应来自授权用户的请求，这些用户使用签名 URL 或使用设置签名 Cookie 的 `Set-Cookie` 标头。请按照以下主题之一中的步骤操作：
   + [使用签名 URL](private-content-signed-urls.md)
   + [使用签名 Cookie](private-content-signed-cookies.md)

   如果您不确定要使用哪种方法，请参阅[决定使用签名 URL 还是签名 Cookie](private-content-choosing-signed-urls-cookies.md)。

**Topics**
+ [如何提供私有内容](#private-content-task-list)
+ [限制对文件的访问](private-content-overview.md)
+ [指定可以创建签名 URL 和签名 Cookie 的签署人](private-content-trusted-signers.md)
+ [决定使用签名 URL 还是签名 Cookie](private-content-choosing-signed-urls-cookies.md)
+ [使用签名 URL](private-content-signed-urls.md)
+ [使用签名 Cookie](private-content-signed-cookies.md)
+ [用于 Base64 编码和加密的 Linux 命令和 OpenSSL](private-content-linux-openssl.md)
+ [为签名 URL 创建签名的代码示例](PrivateCFSignatureCodeAndExamples.md)