本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用用户生成的 KMS 主密钥的权限
在您可以通过用户生成的 KMS 主密钥进行服务器端加密之前,您必须配置 Amazon KMS 密钥策略,以允许加密流以及加密和解密流记录。有关的示例和更多信息Amazon KMS权限,请参阅AmazonKMS API 权限:操作和资源参考.
使用默认服务密钥进行加密不需要应用自定义 IAM 权限。
在您使用用户生成的 KMS 主密钥之前,请确保您的 Kinesis 流创建者和使用者 (IAM 委托人) 是 KMS 主密钥策略中的用户。否则,与流相关的读写操作会失败,这可能最终导致数据丢失、处理延迟或应用程序挂起。您可以使用 IAM 策略来管理 KMS 密钥的权限。有关更多信息,请参阅 。将 IAM 策略与Amazon自杀.
创建者权限示例
您的 Kinesis Streams 创建者必须拥有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 Streams 使用者必须拥有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 Kinesis Data Analytics 和Amazon Lambda使用角色来使用 Kinesis 流。确保将 kms:Decrypt
权限添加到这些使用者使用的角色。
流管理员权限
要调用 Kinesis Streams,必须有权调用。kms:List*
和kms:DescribeKey*
.