

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Rekognition Video と Amazon Kinesis のリソースを設定する
<a name="streaming-labels-setting-up"></a>

 次の手順では、ストリーミングビデオ内のラベルの検出に使用する Kinesis ビデオストリームとその他のリソースをプロビジョニングするためのステップを説明します。

## 前提条件
<a name="streaming-video-prerequisites"></a>

この手順を実行するには、 をインストール AWS SDK for Java する必要があります。詳細については、「[Amazon Rekognition の開始方法](getting-started.md)」を参照してください。使用する AWS アカウントには、Amazon Rekognition API へのアクセス権限が必要です。詳細については、*IAM ユーザーガイド*の「[Amazon Rekognition で定義されるアクション](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonrekognition.html#amazonrekognition-actions-as-permissions)」を参照してください。

**ビデオストリーム内のラベルを検出するには (AWS SDK)**

1. Amazon S3 バケットを作成する。バケット名と、使用するキープレフィックスをメモします。この情報は後で使用します。

1. Amazon SNS トピックを作成します。これを使用して、ビデオストリームで対象オブジェクトが初めて検出されたときに通知を受け取れます。トピックの Amazon リソースネーム (ARN) をメモします。詳細については、Amazon SNS デベロッパーガイドの「[Amazon SNS トピックを作成する](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html)」を参照してください。

1. エンドポイントを Amazon SNS トピックにサブスクライブします。詳細については、Amazon SNS デベロッパーガイドの「[Amazon SNS トピックへサブスクライブする](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html)」を参照してください。

1. [Kinesis ビデオストリームを作成](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/gs-createstream.html)して、そのストリームの Amazon リソースネーム (ARN) をメモします。

1. まだ作成していない場合は、Amazon Rekognition Video に Kinesis ビデオストリーム、S3 バケット、Amazon SNS トピックへのアクセス権を付与する IAM サービスロールを作成します。詳細については、「[ラベル検出ストリームプロセッサへのアクセス権を付与する](#streaming-labels-giving-access)」を参照してください。

その後、[ラベル検出ストリームプロセッサを作成し](streaming-labels-detection.md#streaming-video-create-labels-stream-processor)、選択したストリームプロセッサ名を使用して[ストリームプロセッサを起動](streaming-labels-detection.md#streaming-video-start-labels-stream-processor)できます。

**注記**  
ストリームプロセッサは、Kinesis ビデオストリームにメディアを取り込めることを確認した後に起動してください。

## カメラの向きとセットアップ
<a name="streaming-labels-camera-setup"></a>

Amazon Rekognition Video ストリーミングビデオイベントでは、Kinesis ビデオストリームでサポートされているすべてのカメラをサポートできます。最良の結果を得るには、カメラを地面と 0～45 度に配置することをお勧めします。カメラは標準的な直立状態にある必要があります。例えば、フレーム内に人物がいる場合、人物の向きは垂直で、頭は足よりも高い位置にある必要があります。

## ラベル検出ストリームプロセッサへのアクセス権を付与する
<a name="streaming-labels-giving-access"></a>

 AWS Identity and Access Management (IAM) サービスロールを使用して、Amazon Rekognition Video に Kinesis ビデオストリームへの読み取りアクセスを許可します。これを行うには、IAM ロールを使用して、Amazon Rekognition Video に Amazon S3 バケットと Amazon SNS トピックへのアクセス権を付与します。

Amazon Rekognition Video が既存の Amazon SNS トピック、Amazon S3 バケット、Kinesis ビデオストリームにアクセスできるようにするアクセス許可ポリシーを作成できます。を使用した手順については AWS CLI、step-by-step「」を参照してください[AWS CLI ラベル検出 IAM ロールをセットアップするための コマンド](#streaming-labels-giving-access-cli)。

**Amazon Rekognition Video がラベル検出のためにリソースにアクセスできるようにするには**

1. [[IAM JSON ポリシーエディターを使用して新しい許可ポリシーを作成し](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)]、次のポリシーを使用します。`kvs-stream-name` を Kinesis ビデオストリームの名前に置き換えます。`topicarn` は、使用する Amazon SNS トピックの Amazon リソースネーム (ARN) に置き換え、`bucket-name` は Amazon S3 バケットの名前に置き換えます。

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 をメモしておきます。ビデオ分析オペレーションを実行する前に、ストリームプロセッサを作成する必要があります。

1. (オプション) 独自の AWS KMS キーを使用して S3 バケットに送信されるデータを暗号化する場合は、IAM ロールに次のステートメントを追加する必要があります。(これはキーポリシー用に作成した IAM ロールであり、使用するカスタマーマネージドキーに対応します。)

   ```
       
               {
                          "Sid": "Allow use of the key by label detection Role",
                          "Effect": "Allow",
                          "Principal": {
                              "AWS": "arn:aws:iam:::role/REPLACE_WITH_LABEL_DETECTION_ROLE_CREATED"
                          },
                          "Action": [
                              "kms:Decrypt",
                              "kms:GenerateDataKey*"
                          ],
                          "Resource": "*"
               }
   ```

## AWS CLI ラベル検出 IAM ロールをセットアップするための コマンド
<a name="streaming-labels-giving-access-cli"></a>

まだ設定していない場合は、認証情報 AWS CLI を使用して をセットアップして設定します。

に次のコマンドを入力して AWS CLI 、ラベル検出に必要なアクセス許可を持つ IAM ロールを設定します。

1. `export IAM_ROLE_NAME=labels-test-role`

1. `export AWS_REGION=us-east-1`

1. 以下の内容を含む信頼関係ポリシーファイル (assume-role-rekognition.json など) を作成します。

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

****  

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

------

1. `aws iam create-role --role-name $IAM_ROLE_NAME --assume-role-policy-document file://path-to-assume-role-rekognition.json --region $AWS_REGION`

1. `aws iam attach-role-policy --role-name $IAM_ROLE_NAME --policy-arn "arn:aws:iam::aws:policy/service-role/AmazonRekognitionServiceRole" --region $AWS_REGION`

1. 通知を受け取りたい SNS トピックの名前が「AmazonRekognition」プレフィックスで始まっていない場合は、次のポリシーを追加してください。

   `aws iam attach-role-policy --role-name $IAM_ROLE_NAME --policy-arn "arn:aws:iam::aws:policy/AmazonSNSFullAccess" --region $AWS_REGION`

1. S3 バケットに送信されるデータを暗号化するために独自の AWS KMS キーを使用する場合は、使用するカスタマーマネージドキーのキーポリシーを更新します。

   1. kms\$1key\$1policy.json ファイルを作成します。

      ```
      {
      "Sid": "Allow use of the key by label detection Role",
      "Effect": "Allow",
      "Principal": {
      "AWS": "arn:aws:iam:::role/REPLACE_WITH_IAM_ROLE_NAME_CREATED"
      },
      "Action": [
      "kms:Encrypt",
      "kms:GenerateDataKey*"
      ],
      "Resource": "*"
      }
      ```

   1. その内容には、`export KMS_KEY_ID=labels-kms-key-id` を含めます。KMS\$1KEY\$1ID は、作成した KMS キー ID に置き換えてください。

   1. `aws kms put-key-policy --policy-name default --key-id $KMS_KEY_ID --policy file://path-to-kms-key-policy.json`