我想将数据从 Amazon Kinesis Data Firehose 写入 Amazon Simple Storage Service(Amazon S3)存储桶。Amazon S3 存储桶由 AWS Key Management Service(AWS KMS)加密,我收到了“访问被拒绝”错误消息。
解决方法
要解决“访问被拒绝”错误,请修改您的 AWS KMS 密钥政策。或者,为您的 Kinesis Data Firehose 添加 AWS Identity and Access Management(IAM)角色。
修改 AWS KMS 密钥政策
要修改 AWS KMS 密钥政策,请完成以下步骤:
1. 打开 AWS KMS 控制台。
2. 选择用于加密 S3 存储桶的 AWS KMS 密钥。
3. 选择切换到策略视图。
4. 在 AWS KMS 密钥政策中检查您是否具备所需的权限。
5. 更新您的政策以授予 Kinesis Data Firehose 访问 AWS KMS 密钥的权限:
{ "Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<account-ID>:role/<FirehoseRole>"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "<ARN of the KMS key>"
}
**注意:**在前面的政策中,指定用于加密 S3 存储桶的 AWS KMS 密钥的 ARN。
6. 选择保存。
添加 Kinesis Data Firehose IAM 角色
**重要事项:**确保 Kinesis Data Firehose 的 IAM 角色具有所需的 Amazon S3 权限。
要添加 Kinesis Data Firehose IAM 角色,请完成以下步骤:
1. 打开 AWS KMS 控制台。
2. 选择用于加密 S3 存储桶的 AWS KMS 密钥。
3. 在密钥用户部分中,选择添加。
4. 选择 Kinesis Data Firehose IAM 角色。
5. 选择添加。
相关信息
编辑密钥