设置 CDN 授权 - Amazon Elemental MediaPackage

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

设置 CDN 授权

完成以下步骤来设置 CDN 授权。

第 1 步:配置 CDN 自定义源 HTTP 标头

在 CDN 中,配置包含标头 X-MediaPackage-CDNIdentifier 和值的自定义源 HTTP 标头。对于该值,我们建议您使用 UUID 版本 4 格式,该格式会生成包含 36 个字符的字符串。如果您未使用 UUID 版本 4 格式,则该值的长度必须为 8-128 个字符。

重要

您选择的值应为静态值。您的 CDN 和 AWS Secrets Manager 之间没有本机集成,因此该值在 CDN 和 AWS Secrets Manager 中都应该是静态的。如果在配置 CDN 和密钥后更改该值,则必须手动轮换该值。有关更多信息,请参阅 轮换 CDN 标头值

标头和值示例

X-MediaPackage-CDNIdentifier: 9ceebbe7-9607-4552-8764-876e47032660

在 Amazon CloudFront 中创建自定义标头

  1. 登录 AWS Management Console,并通过以下网址打开 CloudFront 控制台:https://console.aws.amazon.com/cloudfront/v3/home

  2. 创建或编辑分配。

  3. Origin Settings (源设置) 中,填写字段。您将在密钥管理器中对密钥使用此相同值。

    • 对于 Header Name (标头名称),输入 X-MediaPackage-CDNIdentifier

    • 对于 Value (值),输入一个值。我们建议您使用 UUID 版本 4 格式,该格式会生成包含 36 个字符的字符串。如果您未使用 UUID 版本 4 格式,则该值的长度必须为 8-128 个字符。

  4. 完成其余字段并保存分配。

有关 CloudFront 中的自定义标头的更多信息,请参阅将客户标头转发到源中的Amazon CloudFront 开发人员指南

第 2 步:将值作为密钥存储在中AWS Secrets Manager

将您在自定义源 HTTP 标头中使用的相同值作为密钥 存储在 AWS Secrets Manager 中。秘密必须使用相同的AWS账户和区域设置作为您的 AWS Elemental MediaPackage 资源。AWS Elemental MediaPackage 不支持跨账户或区域共享密钥。但是,您可以在同一区域和同一账户上跨多个终端节点使用同一个密钥。

将密钥管理器存储在密钥管理器中

  1. 登录到AWS Secrets Manager控制台 ()https://console.aws.amazon.com/secretsmanager/

  2. 选择 Store a new secret (存储新密钥)。对于选择密钥类型,选择其他密钥类型

  3. 对于 Specify the key/value pairs to be stored in this secret (指定要存储在此密钥中的键/值对),请选择 Secret key/pair (密钥键/值对)

  4. 输入键和值信息。

    • 在左侧的框中,输入 MediaPackageCDNIdentifier

    • 在右侧的框中,输入您为自定义源 HTTP 标头配置的值。例如:9ceebbe7-9607-4552-8764-876e47032660

  5. 对于 Select the encryption key (选择加密密钥),您可以保留默认值为 DefaultEncryptionKey

  6. 选择 Next (下一步)

  7. 适用于密钥名称,我们建议您将其添加到MediaPackage/让您知道它是 MediaPackage 的密钥。例如:MediaPackage/cdn_auth_us-west-2

  8. 选择 Next (下一步)

  9. 对于 Configure automatic rotation (配置自动轮换),保留默认的 Disable automatic rotation (禁用自动轮换) 设置。

    如果您以后需要轮换授权代码,请参阅 轮换 CDN 标头值

  10. 选择 Next (下一步),然后选择 Store (存储)

    这将转到您的密钥列表。

  11. 选择您的密钥名称以查看 Secret ARN (密钥 ARN)。ARN 具有类似于 arn:aws:secretsmanager:us-west-2:123456789012:secret:MediaPackage/cdn_auth_test-xxxxxx 的值。在步骤 4 中为媒体 Package 配置 CDN 授权时,您可以使用密钥 ARN:在媒体包裹 MediaPackage 用 CDN 授权。

第 3 步:创建 IAM 策略和角色以供 MediaPackage 访问 Secrets Manager

创建 IAM 策略和角色以授予 MediaPackage 对 Secrets Manager 的读取访问权限。当 MediaPackage 收到来自 CDN 的播放请求时,它会验证存储的密钥值是否与自定义 HTTP 标头中的值匹配。按照允许 AWS Elemental MediaPackage age 访问其他AWS服务中的步骤设置策略和角色。

第 4 步:在媒体存储 MediaPackage 启用 CDN 授权

您可以通过控制台、AWS CLI 或 MediaPackage API 为终端节点或视频点播 (VOD) 打包组启用 CDN 授权。您可以将 Amazon 资源编号 (ARN) 用于您在上面的 “步骤 3 中创建的 IAM 策略和角色:创建 IAM 策略和角色以供 MediaPackage 访问上面的 Secrets Manager。

提示

在同一区域和同一账户上跨多个终端节点使用相同的密钥。仅当工作流需要时,才能通过创建新密钥来降低成本。

通过控制台为实时内容启用 CDN 授权

  1. 从打开 MediaPackage 控制台https://console.aws.amazon.com/mediapackage/

  2. 如果您还没有通道,请创建一个通道。有关帮助信息,请参阅创建通道

  3. 创建或编辑终端节点。

  4. Access control settings (访问控制设置) 中,选择 Use authorization (使用授权)。填写以下字段:

  5. 根据需要完成剩余字段并保存终端节点。

通过控制台为 VOD 内容启用 CDN 授权

  1. 从打开 MediaPackage 控制台https://console.aws.amazon.com/mediapackage/

  2. 如果您还没有 VOD 打包组,请创建一个。有关帮助信息,请参阅创建打包组

  3. 创建或编辑打包组。

  4. Access control settings (访问控制设置) 中,选择 Use authorization (使用授权)。填写以下字段:

  5. 根据需要完成剩余字段并保存打包组。

您现在已完成 CDN 授权的设置。对此终端节点的请求必须包含您在 Secrets Manager 中保存的相同授权代码。

通过 MediaPackage API 启用 CDN 授权

有关使用 MediaPackage API 启用 CDN 授权的信息,请参阅以下 API 参考: