

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

# 設定 Amazon Rekognition Video
<a name="api-video-roles"></a>

若要在儲存的影片中使用 Amazon Rekognition Video API，您必須設定使用者以及 IAM 服務角色來存取您的 Amazon SNS 主題。您也必須讓 Amazon SQS 佇列訂閱您的 Amazon SNS 主題。

**注意**  
如果您正依照這些說明設定 [使用 Java 或 Python (SDK) 分析儲存於 Amazon S3 儲存貯體中的影片](video-analyzing-with-sqs.md) 範例，則無需進行步驟 3、4、5 和 6。此範例包括用於建立並設定 Amazon SNS 主題和 Amazon SQS 佇列的程式碼。

本節中的範例將依據說明來提供 Amazon Rekognition Video 存取多個主題的權限，並以此來建立新的 Amazon SNS 主題。如果您想要使用現有 Amazon SNS 主題，請在步驟 3 使用 [提供存取目前 Amazon SNS 主題的權限](#api-video-roles-single-topics)。<a name="configure-rekvid-procedure"></a>

**若要設定 Amazon Rekognition Video**

1. 設定 AWS 帳戶以存取 Amazon Rekognition Video。如需詳細資訊，請參閱[步驟 1：設定 AWS 帳戶並建立使用者](setting-up.md)。

1. 安裝和設定所需的 AWS SDK。如需詳細資訊，請參閱[步驟 2：設定 AWS CLI 和 AWS SDKs](setup-awscli-sdk.md)。

1. 若要執行此開發人員指南中的程式碼範例，請確定您選擇的使用者具有程式設計存取權。如需詳細資訊，請參閱 [授與程式設計存取權](sdk-programmatic-access.md)。

   您的使用者還需要至少下列許可：
   + AmazonSQSFullAccess
   + AmazonRekognitionFullAccess
   + AmazonS3FullAccess
   + AmazonSNSFullAccess

   如果您使用 IAM Identity Center 進行驗證，請將許可新增至角色的權限集，否則將許可新增至 IAM 角色。

1. 使用 [Amazon SNS 主控台建立 Amazon SNS 主題](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html)。 [Amazon SNS ](https://console.aws.amazon.com/sns/v2/home) 將 *AmazonRekognition* 置於主題名稱的前面。請記下主題的 Amazon Resource Name (ARN)。請確認此主題與您使用的 AWS 端點位於同一個區域。

1. 使用 [Amazon SQS 主控台](https://console.aws.amazon.com/sqs/)來[建立 Amazon SQS 佇列](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-create-queue.html)。記下佇列 ARN。

1. [將佇列訂閱至您在步驟 3 中建立的主題](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-subscribe-queue-sns-topic.html)。

1. [將許可提供給 Amazon SNS 主題，以將訊息傳送至 Amazon SQS 佇列](https://docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.html#SendMessageToSQS.sqs.permissions)。

1. 建立 IAM 服務角色來提供存取您 Amazon SNS 主題的 Amazon Rekognition Video 權限。記下服務角色的 Amazon Resource Name (ARN)。如需詳細資訊，請參閱 [提供對多個 Amazon SNS 主題的存取權限](#api-video-roles-all-topics)。

1. 為了確保您的帳戶安全，您需要將 Rekognition 的存取範圍限制在您正在使用的資源。這可以通過將信任政策附加到您的 IAM 服務角色來完成。如需如何執行此作業的資訊，請參閱 [預防跨服務混淆代理人](cross-service-confused-deputy-prevention.md)。

1. [將以下內嵌政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#embed-inline-policy-console)新增到您在步驟 1 所建立的使用者：

   將內嵌政策命名為您想要的名稱。

1. 如果您使用客戶受管 AWS Key Management Service 金鑰來加密 Amazon S3 儲存貯體中的影片，請將許可[新增至](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-how-to-console-policy-view)金鑰，以允許您在步驟 7 中建立的服務角色解密影片。服務角色至少需要 `kms:GenerateDataKey` 和 `kms:Decrypt` 動作的權限。例如：

   ```
   {
       "Sid": "Decrypt only",
       "Effect": "Allow",
       "Principal": {
           "AWS": "arn:aws:iam::{{111122223333}}:user/{{user from step 1}}"
       },
       "Action": [
           "kms:Decrypt",
           "kms:GenerateDataKey"
       ],
       "Resource": "*"
   }
   ```

   如需詳細資訊，請參閱 [Amazon S3 儲存貯體使用自訂 AWS KMS 金鑰的預設加密。如何允許使用者從儲存貯體下載並上傳至值區？](https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-access-default-encryption/)以及搭配[存放在 AWS Key Management Service (SSE-KMS) 中的 KMS 金鑰使用伺服器端加密來保護資料](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)。

1. 您現在可執行 [使用 Java 或 Python (SDK) 分析儲存於 Amazon S3 儲存貯體中的影片](video-analyzing-with-sqs.md) 和 [使用 分析影片 AWS Command Line Interface](video-cli-commands.md) 中的範例。

## 提供對多個 Amazon SNS 主題的存取權限
<a name="api-video-roles-all-topics"></a>

使用 IAM 服務角色來提供存取您所建立的 Amazon SNS 主題的 Amazon Rekognition Video 權限。IAM 提供用於建立 Amazon Rekognition Video 服務角色的 *Rekognition* 使用案例。

您可以提供 Amazon Rekognition Video 存取多個 Amazon SNS 主題的許可，方法包括使用 `AmazonRekognitionServiceRole` 許可政策並將*AmazonRekognition*置於主題名稱前方 (例如，`AmazonRekognitionMyTopicName`)。

**讓 Amazon Rekognition Video 存取多個 Amazon SNS 主題**

1. [建立 IAM 服務角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html?icmpid=docs_iam_console)。請使用下列資訊來建立 IAM 服務角色：

   1. 針對服務名稱選擇 **Rekognition**。

   1. 為服務角色使用案例選擇 **Rekognition**。您應該會看到列出的 **AmazonRekognitionServiceRole** 權限政策。**AmazonRekognitionServiceRole** 將提供 Amazon Rekognition Video 存取名稱前方加上 *AmazonRekognition* 的 Amazon SNS 主題的權限。

   1. 將服務角色命名為您想要的名稱。

1. 請記下服務角色的 ARN。您需要此資訊才可開始影片分析操作。

## 提供存取目前 Amazon SNS 主題的權限
<a name="api-video-roles-single-topics"></a>

您可以建立許可政策，以允許 Amazon Rekognition Video 存取現有的 Amazon SNS 主題。

**提供現有 Amazon SNS 主題的 Amazon Rekognition Video 存取權**

1. [使用 IAM JSON 政策編輯器建立新的許可政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)，並使用下列政策。以想要的 Amazon SNS 主題 Amazon Resource Name (ARN) 來取代 `topicarn`。

1. [建立 IAM 服務角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html?icmpid=docs_iam_console)，或更新現有的 IAM 服務角色。請使用下列資訊來建立 IAM 服務角色：

   1. 針對服務名稱選擇 **Rekognition**。

   1. 為服務角色使用案例選擇 **Rekognition**。

   1. 連接您在步驟 1 中建立的許可政策。

1. 請記下服務角色的 ARN。您需要此資訊才可開始影片分析操作。