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

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

Kinesis Video Streams でのデータ保護

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

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

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

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

  • 指定されたキー (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" } ] }