翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 サービスにインポートされたユーザー指定のキーである、 によって管理される Kinesis Video Streams の KMS AWS KMS キーの使用を AWS KMS ストリーミングします。
コスト、リージョン、およびパフォーマンスに関する考慮事項
サーバー側の暗号化を適用すると、 AWS KMS API の使用とキーコストが適用されます。カスタム AWS KMS キーとは異なり、デフォルトの KMS aws/kinesisvideo
キーは無料で提供されます。ただし、お客様に代わって Kinesis Video Streams で発生した API の使用コストを支払う必要があります。
API 使用コストは、カスタムキーを含むすべての KMS キーに適用されます。 AWS KMS コストは、データプロデューサーとコンシューマーで使用するユーザー認証情報の数に応じて変動します。各ユーザー認証情報には一意の API コールが必要であるためです AWS KMS。
以下は、リソース別の料金の説明です。
キー
-
( AWS エイリアス =
aws/kinesisvideo
) によって管理される Kinesis Video Streams の KMS キーには料金はかかりません。 -
ユーザー生成の KMS キーには AWS KMS key コストがかかります。詳細については、「AWS Key Management Service 料金
」を参照してください。
AWS KMS API の使用
新しいデータ暗号化キーを生成する 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 キーを指定します。
-
CreateStream API を使用して Kinesis ビデオストリームを作成する際に、
KmsKeyId
パラメータでキー ID を指定します。
カスタマーマネージドキーの作成と使用
このセクションでは、Amazon Kinesis Video Streams によって管理されるキーを使用する代わりに、独自の KMS キーを作成して使用する方法について説明します。
カスタマーマネージドキーの作成
独自のキーを作成する方法については、「 AWS Key Management Service デベロッパーガイド」の「キーの作成」を参照してください。アカウントのキーを作成すると、Kinesis Video Streams サービスはこれらのキーをカスタマーマネージドキーリストに返します。
カスタマーマネージドキーを使用する
コンシューマー、プロデューサー、管理者に正しいアクセス許可が適用されたら、独自の AWS アカウント または別の でカスタム KMS キーを使用できます AWS アカウント。アカウントのすべての KMS キーは、 コンソールのカスタマーマネージドキーリストに表示されます。
別のアカウントにあるカスタム KMS キーを使用するには、それらのキーを使用するアクセス許可が必要です。また、CreateStream
API を使用してストリームを作成する必要もあります。コンソールで作成されたストリームでは、異なるアカウントの KMS キーを使用することはできません。
注記
KMS キーは、 PutMedia
または GetMedia
オペレーションが実行されるまでアクセスされません。その結果、次のことが起こります。
-
指定したキーが存在しない場合、
CreateStream
オペレーションは成功しますが、ストリームに対するGetMedia
オペレーションPutMedia
は失敗します。 -
指定されたキー (
aws/kinesisvideo
) を使用する場合、最初の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"
}
]
}