

# IVS の望ましくないコンテンツと視聴者
<a name="undesired-content"></a>

悪意のあるユーザーが、プラットフォームで望ましくないコンテンツ (プロスポーツなど) を再ストリーミングしようとする可能性があります。この種のストリーミングは、ビジネスに価値を付加することなく、アプリケーションが提供するライブストリーミングビデオの量とそれに関連するコストを劇的に増加させる可能性があります。アクティブなストリームを停止するためのコントロールを提供することに加えて、Amazon IVS は、この種の動作を検出して防止するのに役立つリソースを提供します。

## 望ましくないコンテンツの検出
<a name="undesired-content-detect"></a>

### 異常検出
<a name="undesired-content-anomaly-detection"></a>

特定の望ましくないコンテンツがストリーミングされているときに発生する、視聴率の異常な急上昇を検出してアラートを発することができます。(急上昇が発生したことが検出されたら、以下で説明するように、「[ストリームを停止して、ストリームキーをリセットする](#undesired-content-stop-stream)」に記載されているステップを実行できます。)

Amazon CloudWatch では、特定の状況下 (視聴率が急上昇した場合など) でアラートを発信できるアラームを作成できます。Amazon IVS は、すべてのチャネルの同時ビュー (CCV) メトリクスを Amazon CloudWatch に自動的にレポートするため、アラームを設定するだけで済みます。CCV に基づいて異常検出アラームを設定するには、次の手順に従います。

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) で Amazon CloudWatch コンソールを開きます。

1. 左側のナビゲーションバーで、**[アラーム]** を選択してから、**[すべてのアラーム]** を選択します。

1. ページの右上にある **[アラームを作成]** を選択します。

1. **[メトリクスを選択]** を選択します。*[メトリクス]* で、**[IVS]**、**[すべて]** の順に選択し、**[ConcurrentViews]** の横にあるチェックボックスをオンにします。

1. 右下にある **[メトリクスを選択]** を選択します。4 つのステップのアラーム作成ウィザードが開きます。

1. ウィザード: **ステップ 1、[メトリクスと条件の指定]** で、次の設定を指定します。

   1. **[統計]** = **[最大]**

   1. **期間** = **1 分**

   1. **[しきい値タイプ]** = **[異常検出]**

   1. **[同時再生数が次の場合は常時]** = **[バンドより大きい]**

   1. **[異常検出のしきい値]** = **[3]**

      このしきい値は参考用の提案です。典型的なトラフィックパターンとニーズに応じて、別の値を選択することをお勧めします。メトリクスをより詳しくモニタリングするには、より低い値を使用します。アラームの数を減らすには、値を大きくします。

   1. **[次へ]** を選択してください。

1. ウィザード: **ステップ 2、[設定アクション]** で、既存の SNS トピックを選択するか、新しい SNS トピックを作成して、指定したアドレスに E メールを送信します。E メールを送信するトピックを作成するには、**[新しいトピックを作成]** を選択し、トピック名を指定して、メールアドレスを入力し、**[トピックを作成]** を選択します。**[Select]** (次へ) をクリックして次に進みます。

1. ウィザード: **ステップ 3、[名前と説明を追加]** で、アラームの名前とオプションの説明を追加し、**[次へ]** を選択します。

1. ウィザード: **ステップ 4、[プレビューと作成]** で、情報が正しいことを確認してから、**[アラームを作成]** を選択します。

1. アラームが作成されました。プロンプトが表示されたら、SNS サブスクリプションを確認するための指示に従います。

詳細については、以下を参照してください。

1. [Amazon IVS Low-Latency Streaming のモニタリング](stream-health.md)

1. [異常検出に基づく CloudWatch アラームの作成](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/Create_Anomaly_Detection_Alarm.html)

### カスタムコンテンツモデレーション
<a name="undesired-content-custom-moderation"></a>

画像認識を介して望ましくないコンテンツを検出する、カスタムコンテンツモデレーションソリューションを詳しくご覧いただけます。Amazon IVS は、この種のソリューションで使用するサムネイル画像の生成を含め、[Amazon IVS ライブストリームを Amazon S3 に自動録画](record-to-s3.md)する機能を提供します。

これらの検出手法と防止手法の導入を検討してください。
+ [Amazon Rekognition を使用した Amazon IVS モデレーション](https://github.com/aws-samples/amazon-ivs-moderation-with-record-to-s3-web-demo/)デモでは、S3 への IVS 自動録画と Amazon Rekognition を組み合わせてライブコンテンツをモデレートする方法を紹介しています。
+ [Hive コンテンツモデレーションを Amazon IVS ビデオストリームに追加する](https://aws.amazon.com/blogs/media/add-hive-content-moderation-to-your-amazon-ivs-video-streams/)
+ [AI/ML コンテンツモデレーションによるより安全なオンラインコミュニティの作成](https://dev.to/aws/creating-safer-online-communities-with-aiml-content-moderation-1bn)は、IVS アプリケーション内での Amazon Rekognition 使用に関するブログ投稿です。

## 望ましくないコンテンツと視聴者の防止
<a name="undesired-content-prevent"></a>

### ストリームを停止して、ストリームキーをリセットする
<a name="undesired-content-stop-stream"></a>

望ましくないコンテンツのストリーミングにチャネルが使用されていることを検出した場合は、Amazon IVS コンソールを使用してストリームをシャットダウンできます。

1. [Amazon IVS コンソール](https://console.aws.amazon.com/ivs)を開きます。([AWS マネジメントコンソール](https://console.aws.amazon.com/)から Amazon IVS コンソールにアクセスすることもできます。)

1. 必要に応じて、ナビゲーションバーから **[リージョンを選択]** ドロップダウンを使用して、チャネルがホストされているリージョンを選択します。

1. 停止するストリームが実行されているチャネルを選択します。

1. チャネルページで、**[ライブストリーム]** セクションまで下方向に移動し、**[ストリームを停止]** を選択します。

ストリームを停止した後でも、ブロードキャスターはそのチャネルでストリームを再開できます。これを防ぐには、ストリームキーをリセットします。これにより、ブロードキャスターが新しいストリームキーを取得せずにストリームを再開するのを防ぎます。ストリームキーをリセットするには:
+ チャネルページにいる間に、**[ストリーム設定]** セクションまで下方向に移動し、**[ストリームキーをリセット]** を選択します。

プログラムでストリームを停止し、ストリームキーをリセット (削除/作成) することもできます。「[Amazon IVS Low-Latency Streaming](https://docs.aws.amazon.com/ivs/latest/LowLatencyAPIReference/Welcome.html)」を参照してください。

アプリケーションがストリームキーを発行する方法によっては、新しいストリームキーが取得されないように、さらに対策を講じる必要がある場合があります。

### プライベートチャネルを使用する
<a name="undesired-content-private-channels"></a>

多くの場合、サードパーティーのウェブサイトに再生 URL を埋め込むだけで、望ましくないコンテンツがプラットフォーム外の多数の視聴者にストリーミングされます。この種の動作を防ぐ最善のソリューションは、Amazon IVS プライベートチャネルです。プライベートチャネルを使用すると、有効な再生トークンを持つ視聴者のみが再生できるように制限できます。再生トークンは、再生アプリケーション内で視聴者を検証するために使用され、意図しないプラットフォームでの視聴を防ぐことができます。さらに、オリジンの強制を有効にすることができます。これにより、ドメインでホストされていないウェブサイトで視聴者がストリームを視聴するのを防ぐことができます。この保護を拡張して、オリジンの厳格な強制も有効にすることで、一般的なストリーミングアプリケーションをカバーできます。

ユーザーに正式なアカウントの作成やログインを強制することなく、プライベートチャネルと認証の保護を活用できることに注意してください。再生アプリケーションは、舞台裏で匿名でトークンを簡単に取得できます。オリジンの強制を引き続き利用できます。

プライベートチャネルの詳細については、次を参照してください。
+ 「[IVS 低レイテンシーストリーミングユーザーガイド](https://docs.aws.amazon.com//ivs/latest/LowLatencyUserGuide/private-channels.html)」の「*プライベートチャネルの設定*」。このドキュメント内で、オリジンの強制について詳しく知るには、「[再生トークンの生成と署名](https://docs.aws.amazon.com//ivs/latest/LowLatencyUserGuide/private-channels-generate-tokens.html)」を参照してください。
+ [Amazon IVS を使用した承認されたライブストリーム再生用のプライベートチャネルの作成](https://dev.to/aws/creating-a-private-channel-for-authorized-live-stream-playback-with-amazon-ivs-2mdl) (ブログ記事)

### 再生制限ポリシーを使用する
<a name="undesired-content-restriction-policies"></a>

[プライベートチャネル](#undesired-content-private-channels)を使用しない場合でも、再生制限ポリシーを活用することで、同様の保護の一部を享受できます。これらのポリシーを使用すると、パブリックチャネルでのジオブロッキングやオリジンエンフォースメントなどの機能を有効にできます。IVS コンソールまたは API を使用して再生制限ポリシーを作成し、ポリシーの ARN をチャネルにアタッチします。

#### コンソールでの手順 (再生制限ポリシー）
<a name="console-playback-restrictions"></a>

1. 再生制限ポリシーを作成する

   1. [Amazon IVS コンソールを開きます](https://console.aws.amazon.com/ivs)。左側のナビゲーションペインで、**[再生セキュリティ] > [再生制限ポリシー]** を選択します。

   1. **[Create policy]** (ポリシーを作成) を選択します。

   1. 必要に応じて、ポリシーに名前を付けます。

   1. 必要に応じて、**[厳密なオリジンの強制]** を切り替えます (以下の注記を参照)。

   1. **[許可された国]** と **[許可されたオリジン]** を指定します。

   1. **[Create policy]** (ポリシーを作成) を選択します。

1. このポリシーを新規または既存のチャネルにアタッチする

   1. 新しいチャネルを作成するか、既存のチャネルを編集します。

   1. (**[チャネルの作成]** または **[チャネルの更新]** ウィンドウの) **[再生の制限] セクション**で、**[再生制限を有効にする]** を選択します。

   1. **再生制限ポリシー**のドロップダウンリストから、ステップ 1 で作成したポリシーを選択します。

   1. **[チャネルの作成]** (新しいチャネルを作成する場合) または **[保存]** (既存のチャネルを更新する場合) を選択します。

**厳密なオリジンの強制に関する注意:** これは、許可されたオリジンで指定されたオリジン制限を強化するために使用できるオプションの設定です。デフォルトでは、オリジン制限はマルチバリアントプレイリストにのみ適用されます。厳密なオリジンの実施が有効になっている場合、サーバーはリクエストしているオリジンがすべての再生リクエスト (マルチバリアントプレイリスト、バリアントプレイリスト、セグメントを含む) のポリシーと一致する要件を実施します。つまり、すべてのクライアント (ブラウザ以外のクライアントを含む) は、各リクエストで有効なオリジンリクエストヘッダーを提供する必要があります。`setOrigin` メソッドを使用して、IVS iOS および Android プレイヤー SDK でヘッダーを設定します。iOS Safari を除くウェブブラウザでは自動的に設定されます。iOS Safari の場合、オリジンリクエストヘッダーが確実に送信されるように、動画要素に `crossorigin="anonymous"` を追加する必要があります。例えば、`<video crossorigin="anonymous"></video>` などです。

**IP アドレスと国間のマッピングに関する注意:** IVS は、サードパーティーのデータベースを使用してユーザーの場所を特定します。IP アドレスと国とのマッピングの正確さは、リージョンによって異なります。最近のテストによれば、全体的な正確性は 99.8% です。IVS は、ユーザーの場所を特定できなかった場合に、ユーザーがリクエストしたコンテンツを提供します。

#### CLI の手順 (再生制限ポリシー）
<a name="cli-playback-restrictions"></a>

1. 再生制限ポリシーを作成します。以下はその例です。*`allowed-countries` および `allowed-origins` フィールドについては、以下のサンプル値を実際の値に置き換えるか、ユースケースに応じてどちらか一方または両方のフィールドを削除します。*

   ```
   aws ivs create-playback-restriction-policy --name test-playback-restriction-policy --enable-strict-origin-enforcement --allowed-countries "US","JP" --allowed-origins "https://example1.com","https://*.example2.com"
   ```

   これにより、新しい再生制限ポリシーが返されます。そのフィールドについては、「*IVS Low-Latency Streaming API リファレンス*」の「[PlaybackRestrictionPolicy](https://docs.aws.amazon.com//ivs/latest/LowLatencyAPIReference/API_PlaybackRestrictionPolicy.html)」を参照してください。

1. 新しいポリシーをチャネルにアタッチします。既存のチャネルの場合は、`update-channel` を実行して、前のステップで作成した再生制限ポリシーの ARN を渡します。

   ```
   aws ivs update-channel --arn "arn:aws:ivs:us-west-2:123456789012:channel/abcdABCDefgh" --playback-restriction-policy-arn "arn:aws:ivs:us-west-2:123456789012:playback-restriction-policy/abcdABCDefgh"
   ```

   新しいチャネルの場合は、[チャネル作成](create-channel-cli.md)時に `--playback-restriction-policy-arn` ステートメントを含めます。