ユーザー生成KMSキーを使用するアクセス許可 - Amazon Kinesis Data Streams

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

ユーザー生成KMSキーを使用するアクセス許可

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

注記

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

ユーザー生成のKMSマスターキーを使用する前に、Kinesis ストリームプロデューサーとコンシューマー (IAMプリンシパル) が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:PutRecord", "kinesis:PutRecords" ], "Resource": "arn:aws:kinesis:*: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:GetRecords", "kinesis:DescribeStream" ], "Resource": "arn:aws:kinesis:*:123456789012:MyStream" } ] }

Amazon Managed Service for Apache Flink および AWS Lambda は、ロールを使用して Kinesis ストリームを消費します。これらのコンシューマーが使用するロールには、kms:Decrypt 許可を追加するようにしてください。

ストリーム管理者の許可

Kinesis ストリーム管理者には、kms:List*kms:DescribeKey* を呼び出すための権限が必要です。