

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定 CDN 授權
<a name="cdn-auth-setup"></a>

完成下列步驟以設定 CDN 授權。

**Topics**
+ [步驟 1：設定 CDN 自訂原始伺服器 HTTP 標頭](#cdn-aut-setup-cdn)
+ [步驟 2：將值儲存為 中的秘密 AWS Secrets Manager](#cdn-aut-setup-secret)
+ [步驟 3：建立 MediaPackage 存取 Secrets Manager 的 IAM 政策和角色](#cdn-aut-setup-iam)
+ [步驟 4：在 MediaPackage 中啟用 CDN 授權](#cdn-aut-setup-endpoint)

## 步驟 1：設定 CDN 自訂原始伺服器 HTTP 標頭
<a name="cdn-aut-setup-cdn"></a>

在 CDN 中，設定包含 **X-MediaPackage-CDNIdentifier** 標頭和值的自訂原始伺服器 HTTP 標頭。對於 值，我們建議您使用 [UUID 第 4 版](https://www.ietf.org/rfc/rfc4122.txt)格式，這會產生 36 個字元的字串。如果您使用的不是 UUID 第 4 版格式，此值的長度必須介於 8 至 128 個字元。

如果您的 CDN 已設定授權標頭，MediaPackage 會傳回錯誤 404，直到端點上啟用 CDN 授權為止。

**重要**  
您選擇的值應為靜態值。CDN 和 之間沒有原生整合 AWS Secrets Manager，因此該值應該在 CDN 和 中都是靜態的 AWS Secrets Manager。如果您在設定 CDN 和秘密之後變更此值，則必須手動輪換該值。如需詳細資訊，請參閱[輪換 CDN 標頭值](cdn-auth-rotate.md)。

**範例標頭和值**

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

**在 Amazon CloudFront 中建立自訂標頭**

1. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 建立或編輯分佈。

1. 在 **Origin Settings (原點設定)** 中，完成該欄位。您將對 Secrets Manager 中的秘密使用相同的值。
   + 針對 **Header Name (標頭名稱)**，輸入 **X-MediaPackage-CDNIdentifier**。
   + 在**值**中，輸入值。我們建議您使用 UUID 第 4 版格式，這會產生 36 個字元的字串。如果您使用的不是 UUID 第 4 版格式，此值的長度必須介於 8 至 128 個字元。

1. 完成其餘的欄位，然後儲存此分發。

如需 CloudFront 中自訂標頭的詳細資訊，請參閱《*Amazon CloudFront 開發人員指南*》中的[將客戶標頭轉送至原始伺服器](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html)。

## 步驟 2：將值儲存為 中的秘密 AWS Secrets Manager
<a name="cdn-aut-setup-secret"></a>

將您在原始伺服器 HTTP 標頭中使用的同一個值以*私密*形式存放在 AWS Secrets Manager中。秘密必須使用與 AWS Elemental MediaPackage 資源相同的 AWS 帳戶和區域設定。MediaPackage 不支援跨帳戶或區域共用秘密。不過，您可在同一個區域中和同一個帳戶上跨多個端點使用同一個私密。

**在 Secrets Manager 中存放秘密**

1. 在 https：//[https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/) 登入 AWS Secrets Manager 主控台。

1. 選擇**儲存新機密**。針對**秘密類型**，選擇**其他類型的秘密**。

1. 對於**鍵/值對**，輸入鍵和值資訊。
   + 在左側的方塊中，輸入 **MediaPackageCDNIdentifier**。
   + 在右側的方塊中，輸入您已針對自訂原始伺服器 HTTP 標頭設定的值。例如 `9ceebbe7-9607-4552-8764-876e47032660`。

1. 對於**加密金鑰**，您可以將預設值保留為 **DefaultEncryptionKey**。

1. 選擇**下一步**。

1. 對於**秘密名稱**，我們建議您在前面加上 ，**MediaPackage/**以便您知道它是用於 MediaPackage 的秘密。例如 **MediaPackage/cdn\$1auth\$1us-west-2**。

1. 選擇**下一步**。

1. 針對 **Configure automatic rotation (設定自動輪換)**，保留預設 **Disable automatic rotation (停用自動輪換)** 設定。

   如果您稍後需要輪換授權碼，請參閱 [輪換 CDN 標頭值](cdn-auth-rotate.md)。

1. 選擇 **Next (下一步)**，然後選擇 **Store (存放)**。

   這會帶您前往私密清單。

1. 選取私密名稱以檢視 **Secret ARN (私密 ARN)**。ARN 具有與 `arn:aws:secretsmanager:us-west-2:123456789012:secret:MediaPackage/cdn_auth_test-xxxxxx` 類似的值。當您在步驟 4：在 MediaPackage 中啟用 CDN 授權中設定 MediaPackage 的 CDN 授權時，您可以使用秘密 ARN。

## 步驟 3：建立 MediaPackage 存取 Secrets Manager 的 IAM 政策和角色
<a name="cdn-aut-setup-iam"></a>

建立 IAM 政策和角色，以授予 MediaPackage 對 Secrets Manager 的讀取存取權。當 MediaPackage 從 CDN 接收播放請求時，它會驗證儲存的秘密值是否符合自訂 HTTP 標頭中的值。請按照[允許 AWS Elemental MediaPackage 存取其他 AWS 服務](setting-up-create-trust-rel.md) 中的步驟設定政策和角色。

## 步驟 4：在 MediaPackage 中啟用 CDN 授權
<a name="cdn-aut-setup-endpoint"></a>

您可以使用 MediaPackage 主控台或 MediaPackage API AWS CLI，為您的端點或隨需視訊 (VOD) 封裝群組啟用 CDN 授權。您將 ARN 用於您在步驟 3：建立 MediaPackage 存取 Secrets Manager 的 IAM 政策和角色。

**提示**  
在相同區域和相同帳戶的多個端點上使用相同的秘密。只有在工作流程需要時，才建立新的私密來降低成本。

如果您的 CDN 已設定授權標頭，MediaPackage 會傳回錯誤 404，直到端點上啟用 CDN 授權為止。

**使用主控台啟用即時內容的 CDN 授權**

1. 在 https：//[https://console.aws.amazon.com/mediapackage/](https://console.aws.amazon.com/mediapackage/) 開啟 MediaPackage 主控台。

1. 如果您還沒有頻道，請建立頻道。如需協助，請參閱 [建立頻道](channels-create.md)。

1. 建立或編輯端點。

1. 在**存取控制設定**中，選取**使用 CDN 授權**。完成欄位：
   + 在 **Secrets 角色 ARN** 中，輸入您在 中建立之 IAM 角色的 ARN[步驟 3：建立 MediaPackage 存取 Secrets Manager 的 IAM 政策和角色](#cdn-aut-setup-iam)。
   + 在 **CDN 識別符秘密 ARN** 中，在您的 CDN 用於授權存取端點的 Secrets Manager 中輸入秘密的 ARN。

1. 根據需要完成其餘欄位並儲存端點。

**使用主控台啟用 VOD 內容的 CDN 授權**

1. 在 https：//[https://console.aws.amazon.com/mediapackage/](https://console.aws.amazon.com/mediapackage/) 開啟 MediaPackage 主控台。

1. 如果您還沒有 VOD 封裝群組，請建立一個。如需協助，請參閱 [建立封裝群組](pkg-group-create.md)。

1. 建立或編輯封裝群組。

1. 在**設定存取控制**中，選取**啟用授權**。完成欄位：
   + 在 **Secrets 角色 ARN** 中，輸入您在 中建立之 IAM 角色的 ARN[步驟 3：建立 MediaPackage 存取 Secrets Manager 的 IAM 政策和角色](#cdn-aut-setup-iam)。
   + 在 **CDN 識別符秘密 ARN** 中，在您的 CDN 用於授權存取端點的 Secrets Manager 中輸入秘密的 ARN。

1. 視需要完成其餘欄位，並儲存封裝群組。

您現在已經完成 CDN 授權的設定。此端點的請求必須包含您在 Secrets Manager 中儲存的相同授權碼。

**使用 MediaPackage API 啟用 CDN 授權**  
如需使用 MediaPackage API 啟用 CDN 授權的資訊，請參閱下列 API 參考：
+ [MediaPackage 即時 API 參考](https://docs.aws.amazon.com/mediapackage/latest/apireference/resources.html)
+ [MediaPackage VOD API 參考](https://docs.aws.amazon.com/mediapackage-vod/latest/apireference/)