

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

# 允許 AWS Elemental MediaPackage 存取其他 AWS 服務
<a name="setting-up-create-trust-rel"></a>

有些功能需要您允許 MediaPackage 存取其他服務 AWS ，例如 Amazon S3 和 AWS Secrets Manager (Secrets Manager)。若要允許此存取，請建立具有適當許可的 IAM 角色和政策。下列步驟說明如何為 MediaPackage 功能建立角色和政策。

**Topics**
+ [步驟 1：建立政策](#setting-up-create-trust-rel-policy)
+ [步驟 2：建立角色](#setting-up-create-trust-rel-role)
+ [步驟 3：修改信任關係](#setting-up-create-trust-rel-trust)

## 步驟 1：建立政策
<a name="setting-up-create-trust-rel-policy"></a>

IAM 政策定義 AWS Elemental MediaPackage (MediaPackage) 存取其他 服務所需的許可。
+ 對於隨需視訊 (VOD) 工作流程，建立允許 MediaPackage 從 Amazon S3 儲存貯體讀取、驗證帳單方法和擷取內容的政策。對於 計費方法，MediaPackage 必須驗證儲存貯體*不需要*請求者支付請求費用。如果儲存貯體已啟用 **requestPayment**，MediaPackage 無法從該儲存貯體擷取內容。
+ 對於live-to-VOD播送工作流程，請建立允許 MediaPackage 從 Amazon S3 儲存貯體讀取並存放live-to-VOD播送資產的政策。
+ 針對內容交付網路 (CDN) 授權，建立允許 MediaPackage 從 Secrets Manager 中的秘密讀取的政策。

下列各節說明如何建立這些政策。

### VOD 工作流程的 Amazon S3 存取政策
<a name="setting-up-create-trust-rel-policy-vod"></a>

如果您使用 MediaPackage 從 Amazon S3 儲存貯體擷取 VOD 資產，以及封裝和交付該資產，則需要可讓您在 Amazon S3 中執行這些動作的政策：
+ `GetObject` - MediaPackage 可以從儲存貯體擷取 VOD 資產。
+ `GetBucketLocation` - MediaPackage 可以擷取儲存貯體的區域。儲存貯體必須與 MediaPackage VOD 資源位於相同的區域。
+ `GetBucketRequestPayment` - MediaPackage 可以擷取付款請求資訊。MediaPackage 會使用此資訊來驗證儲存貯體不需要請求者支付內容請求的費用。

如果您也使用 MediaPackage live-to-VOD播送資產收集，請將 `PutObject`動作新增至政策。如需實況錄音影像隨選播送工作流程所需政策的詳細資訊，請參閱[live-to-VOD播送工作流程的政策](#setting-up-create-trust-rel-policy-ltov)。

**若要使用 JSON 政策編輯器來建立政策**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台。

1. 在左側的導覽窗格中，選擇 **Policies (政策)**。

   如果這是您第一次選擇 **Policies (政策)**，將會顯示 **Welcome to Managed Policies (歡迎使用受管政策)** 頁面。選擇 **Get Started (開始使用)**。

1. 在頁面頂端，選擇 **Create policy (建立政策)**。

1. 在**政策編輯器**中，選擇 **JSON** 選項。

1. 輸入下列 JSON 政策文件：

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:GetObject",
                   "s3:GetBucketLocation",
                   "s3:GetBucketRequestPayment",
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::bucket_name/*",
                   "arn:aws:s3:::bucket_name"
               ],
               "Effect": "Allow"
           }
       ]
   }
   ```

1. 選擇**下一步**。
**注意**  
您可以隨時切換**視覺化**與 **JSON** 編輯器選項。不過，如果您進行變更或在**視覺化**編輯器中選擇**下一步**，IAM 就可能會調整您的政策結構，以便針對視覺化編輯器進行最佳化。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[調整政策結構](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)。

1. 在**檢視與建立**頁面上，為您正在建立的政策輸入**政策名稱**與**描述** (選用)。檢視**此政策中定義的許可**，來查看您的政策所授予的許可。

1. 選擇 **Create policy** (建立政策) 儲存您的新政策。

### live-to-VOD播送工作流程的政策
<a name="setting-up-create-trust-rel-policy-ltov"></a>

如果您使用 MediaPackage 從live-to-VOD播送資產，則需要可讓您在 Amazon S3 中執行這些動作的政策：
+ `PutObject`：MediaPackage 可以將 VOD 資產儲存在儲存貯體中。
+ `GetBucketLocation`：MediaPackage 可以擷取儲存貯體的區域。儲存貯體必須與 MediaPackage VOD 資源位於相同的 AWS 區域。

如果您也使用 MediaPackage 進行 VOD 資產交付，請將這些動作新增至政策： `GetObject`和 `GetBucketRequestPayment`。如需 VOD 工作流程所需政策的詳細資訊，請參閱[VOD 工作流程的 Amazon S3 存取政策](#setting-up-create-trust-rel-policy-vod)。

**若要使用 JSON 政策編輯器來建立政策**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側的導覽窗格中，選擇 **Policies (政策)**。

   如果這是您第一次選擇 **Policies (政策)**，將會顯示 **Welcome to Managed Policies (歡迎使用受管政策)** 頁面。選擇 **Get Started (開始使用)**。

1. 在頁面頂端，選擇 **Create policy (建立政策)**。

1. 在**政策編輯器**中，選擇 **JSON** 選項。

1. 輸入下列 JSON 政策文件：

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:PutObject",
                   "s3:ListBucket",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::bucket_name/*",
                   "arn:aws:s3:::bucket_name"
               ],
               "Effect": "Allow"
           }
       ]
   }
   ```

1. 選擇**下一步**。
**注意**  
您可以隨時切換**視覺化**與 **JSON** 編輯器選項。不過，如果您進行變更或在**視覺化**編輯器中選擇**下一步**，IAM 就可能會調整您的政策結構，以便針對視覺化編輯器進行最佳化。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[調整政策結構](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)。

1. 在**檢視與建立**頁面上，為您正在建立的政策輸入**政策名稱**與**描述** (選用)。檢視**此政策中定義的許可**，來查看您的政策所授予的許可。

1. 選擇 **Create policy** (建立政策) 儲存您的新政策。

### 適用於 CDN 授權之 Secrets Manager 存取的政策
<a name="setting-up-create-trust-rel-policy-cdn"></a>

如果您使用內容交付網路 (CDN) 授權標頭來限制對 MediaPackage 中端點的存取，則需要可讓您在 Secrets Manager 中執行這些動作的政策：
+ `GetSecretValue` - MediaPackage 可以從秘密的版本擷取加密的授權碼。
+ `DescribeSecret` - MediaPackage 可以擷取秘密的詳細資訊，但加密欄位除外。
+ `ListSecrets` - MediaPackage 可以擷取帳戶中的 AWS 秘密清單。
+ `ListSecretVersionIds`：MediaPackage 可以擷取連接至指定秘密的所有版本。

**注意**  
對於存放在 Secrets Manager 中的每個秘密，您不需要單獨的政策。如果您建立類似下列程序所述的政策，MediaPackage 可以存取您帳戶在此區域中的所有秘密。

**若要使用 JSON 政策編輯器來建立政策**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台。

1. 在左側的導覽窗格中，選擇 **Policies (政策)**。

   如果這是您第一次選擇 **Policies (政策)**，將會顯示 **Welcome to Managed Policies (歡迎使用受管政策)** 頁面。選擇 **Get Started (開始使用)**。

1. 在頁面頂端，選擇 **Create policy (建立政策)**。

1. 在**政策編輯器**中，選擇 **JSON** 選項。

1. 輸入下列 JSON 政策文件：

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "secretsmanager:GetSecretValue",
           "secretsmanager:DescribeSecret",
           "secretsmanager:ListSecrets",
           "secretsmanager:ListSecretVersionIds"
         ],
         "Resource": [
           "arn:aws:secretsmanager:region:account-id:secret:secret-name"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
            "iam:GetRole",
            "iam:PassRole"
          ],
          "Resource": "arn:aws:iam::account-id:role/role-name"
        }
     ]
   }
   ```

1. 選擇**下一步**。
**注意**  
您可以隨時切換**視覺化**與 **JSON** 編輯器選項。不過，如果您進行變更或在**視覺化**編輯器中選擇**下一步**，IAM 就可能會調整您的政策結構，以便針對視覺化編輯器進行最佳化。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[調整政策結構](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)。

1. 在**檢視與建立**頁面上，為您正在建立的政策輸入**政策名稱**與**描述** (選用)。檢視**此政策中定義的許可**，來查看您的政策所授予的許可。

1. 選擇 **Create policy** (建立政策) 儲存您的新政策。

## 步驟 2：建立角色
<a name="setting-up-create-trust-rel-role"></a>

 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)是您可以在帳戶中建立的另一種 IAM 身分，具有特定的許可。IAM 角色類似於 IAM 使用者，因為它是具有許可政策的 AWS 身分，可決定身分可以和不可以執行的操作 AWS。但是，角色的目的是讓需要它的任何人可代入，而不是單獨地與某個人員關聯。此外，角色沒有與之關聯的標準長期憑證，例如密碼或存取金鑰。反之，當您擔任角色時，其會為您的角色工作階段提供臨時安全性憑證。建立從 Amazon S3 擷取來源內容時 AWS Elemental MediaPackage 擔任的角色。

建立角色時，您可以選擇 Amazon Elastic Compute Cloud (Amazon EC2) 作為可擔任角色的受信任實體，因為 MediaPackage 無法選取。在 中[步驟 3：修改信任關係](#setting-up-create-trust-rel-trust)，您將信任的實體變更為 MediaPackage。

如需建立服務角色的相關資訊，請參閱《*IAM 使用者指南*》中的[建立角色以委派許可給 AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)。

## 步驟 3：修改信任關係
<a name="setting-up-create-trust-rel-trust"></a>

信任關係會定義可擔任您在 [步驟 2：建立角色](#setting-up-create-trust-rel-role) 中建立之角色的實體。當您建立角色並建立信任關係時，您會選擇 Amazon EC2 做為信任的實體。修改角色，讓信任的關係在 AWS 您的帳戶和 之間 AWS Elemental MediaPackage。

**變更與 MediaPackage 的信任關係**

1. 存取您在 [步驟 2：建立角色](#setting-up-create-trust-rel-role) 中建立的角色。

   如果您尚未顯示角色，請在 IAM 主控台的導覽窗格中選擇**角色**。搜尋並選擇您建立的角色。

1. 在角色的 **Summary (摘要)** 頁面上，選擇 **Trust relationships (信任關係)**。

1. 選擇**編輯信任關係**。

1. 在 **Edit Trust Relationship (編輯信任關係)** 頁面上，於 **Policy Document (政策文件)** 中，將 `ec2.amazonaws.com` 變更為 `mediapackage.amazonaws.com`。

   政策文件現在看起來應如下：

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "",
         "Effect": "Allow",
         "Principal": {
           "Service": "mediapackage.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

   如果您在選擇加入區域中使用 MediaPackage 和相關服務，則該區域必須列在政策文件的 `Service`區段中。例如，如果您在亞太區域 （墨爾本） 區域使用 服務，政策文件如下所示：

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "",
         "Effect": "Allow",
         "Principal": {
           "Service": [
             "mediapackage.amazonaws.com",
             "mediapackage.ap-southeast-4.amazonaws.com"
           ]
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. 選擇 **Update Trust Policy** (更新信任政策)。

1. 在 **Summary (摘要)** 頁面上，記下 **Role ARN (角色 ARN)** 的值。當您為隨選影片 (VOD) 工作流程擷取來源內容時，您會使用此 ARN。ARN 看起來像這樣：

   `arn:aws:iam::111122223333:role/role-name`

   在此範例中，*111122223333* 是 AWS 您的帳戶號碼。