Kinesis Video Streams でのデータ保護 - Amazon Kinesis Video Streams

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

Kinesis Video Streams でのデータ保護

Amazon Kinesis Video Streams で保管中のデータを暗号化することで、 AWS Key Management Service (SSE) キーを使用したサーバー側の暗号化 (AWS KMS) を使用して、厳格なデータ管理要件を満たすことができます。

Kinesis Video Streams のサーバー側の暗号化とは

サーバー側の暗号化は、Kinesis Video Streams の機能で、指定した キーを使用して AWS KMS 保管時にデータを保存する前に自動的に暗号化します。データは Kinesis Video Streams ストリームストレージレイヤーに書き込まれる前に暗号化され、ストレージから取得された後に復号されます。その結果、Kinesis Video Streams サービス内で保管中のデータは常に暗号化されます。

サーバー側の暗号化では、Kinesis ビデオストリームプロデューサーとコンシューマーがKMSキーや暗号化オペレーションを管理する必要はありません。データ保持が有効になっている場合、データは Kinesis Video Streams に出入りするときに自動的に暗号化されるため、保管中のデータは暗号化されます。 は、サーバー側の暗号化機能で使用されるすべてのキー AWS KMS を提供します。 は AWS、 AWS KMS サービスにインポートされたユーザー指定の AWS KMS キーである Kinesis Video Streams のKMSキーの使用を AWS KMS ストリーミングします。

コスト、リージョン、およびパフォーマンスに関する考慮事項

サーバー側の暗号化を適用すると、使用料とキーコストが AWS KMS APIかかります。カスタム AWS KMS キーとは異なり、(Default) aws/kinesis-videoKMSキーは無料で提供されます。ただし、Kinesis Video Streams がユーザーに代わって負担したAPI使用コストについては、引き続きお支払いいただきます。

API の使用料金は、カスタムキーを含むすべてのKMSキーに適用されます。各ユーザー認証情報には一意のAPI呼び出しが必要なため、 AWS KMS コストはデータプロデューサーとコンシューマーで使用するユーザー認証情報の数に応じて増加します AWS KMS。

以下は、リソース別の料金の説明です。

キー
  • ( AWS エイリアス = aws/kinesis-video) によって管理される Kinesis Video Streams のKMSキーには料金はかかりません。

  • ユーザー生成のKMSキーには AWS KMS key コストがかかります。詳細については、「AWS Key Management Service 料金」を参照してください。

AWS KMS API の使用

API は、新しいデータ暗号化キーの生成、またはトラフィックの増加に伴う既存の暗号化キーの取得をリクエストします。また、 AWS KMS 使用コストがかかります。詳細については、「 のAWS Key Management Service 料金: 使用状況」を参照してください。

Kinesis Video Streams が、保持期間が「0」(保持期間なし) に設定されている場合でもキーリクエストを生成します。

リージョン別のサーバー側暗号化の利用可能性

Kinesis Video Streams のサーバー側の暗号化は、Kinesis Video Streams AWS リージョン が利用可能なすべての で使用できます。

サーバー側の暗号化の使用開始方法

Kinesis Video Streams では、サーバー側の暗号化が常に有効になっています。ストリームの作成時にユーザー提供のキーが指定されていない場合は、 AWS マネージドキー (Kinesis Video Streams が提供する) が使用されます。

ユーザー提供のKMSキーは、作成時に Kinesis ビデオストリームに割り当てる必要があります。UpdateStream API 後で を使用してストリームに別のキーを割り当てることはできません。

ユーザー提供のKMSキーを Kinesis ビデオストリームに割り当てるには、次の 2 つの方法があります。

  • で Kinesis ビデオストリームを作成するときは AWS Management Console、新しいビデオストリームの作成ページの暗号化タブで KMSキーを指定します。

  • を使用して Kinesis ビデオストリームを作成する場合はAPI、 KmsKeyIdパラメータでキー ID CreateStream を指定します。

カスタマーマネージドキーの作成と使用

このセクションでは、Amazon Kinesis Video Streams によって管理されるKMSキーを使用する代わりに、独自のキーを作成して使用する方法について説明します。

カスタマーマネージドキーの作成

独自のキーを作成する方法については、「 AWS Key Management Service デベロッパーガイド」の「キーの作成」を参照してください。アカウントのキーを作成すると、Kinesis Video Streams サービスはこれらのキーをカスタマーマネージドキーリストに返します。

カスタマーマネージドキーを使用する

正しいアクセス許可がコンシューマー、プロデューサー、管理者に適用されたら、独自の AWS アカウント または別の でカスタムKMSキーを使用できます AWS アカウント。アカウントのすべてのKMSキーは、 コンソールのカスタマーマネージドキーリストに表示されます。

別のアカウントにあるカスタムKMSキーを使用するには、それらのキーを使用するためのアクセス許可が必要です。また、 を使用してストリームを作成する必要がありますCreateStreamAPI。コンソールで作成されたストリームでは、異なるアカウントのKMSキーを使用することはできません。

注記

KMS キーは、 PutMediaまたは GetMediaオペレーションが実行されるまでアクセスされません。その結果、次のことが起こります。

  • 指定したキーが存在しない場合、CreateStreamオペレーションは成功しますが、ストリームのGetMediaオペレーションPutMediaは失敗します。

  • 指定されたキー (aws/kinesis-video) を使用する場合、最初の PutMediaまたは GetMediaオペレーションが実行されるまで、キーはアカウントに存在しません。

カスタマーマネージドキーを使用するためのアクセス許可

カスタマーマネージドキーでサーバー側の暗号化を使用する前に、ストリームの暗号化とストリームレコードの暗号化と復号を許可するようにKMSキーポリシーを設定する必要があります。アクセス AWS KMS 許可の例と詳細については、「アクセスAWS KMS API許可: アクションとリソースのリファレンス」を参照してください。

注記

暗号化にデフォルトのサービスキーを使用する場合、カスタムIAMアクセス許可を適用する必要はありません。

カスタマーマネージドキーを使用する前に、Kinesis ビデオストリームプロデューサーとコンシューマー (IAM プリンシパル) が AWS KMS デフォルトのキーポリシーのユーザーであることを確認します。ユーザーになっていない場合は、ストリームに対する読み取りと書き込みが失敗し、最終的にはデータの損失、処理の遅延、またはアプリケーションのハングにつながる可能性があります。IAM ポリシーを使用して KMS キーのアクセス許可を管理できます。詳細については、「 での IAM ポリシー AWS KMSの使用」を参照してください。

プロデューサーのアクセス許可の例

Kinesis ビデオストリームプロデューサーには kms:GenerateDataKey アクセス許可が必要です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Effect": "Allow", "Action": [ "kinesis-video:PutMedia", ], "Resource": "arn:aws:kinesis-video:*:123456789012:MyStream" } ] }

コンシューマーのアクセス許可の例

Kinesis ビデオストリームコンシューマーには kms:Decrypt アクセス許可が必要です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Effect": "Allow", "Action": [ "kinesis-video:GetMedia", ], "Resource": "arn:aws:kinesis-video:*:123456789012:MyStream" } ] }