Amazon Kinesis Data Firehose에서 Amazon Simple Storage Service(S3) 버킷으로 데이터를 쓰고 싶습니다. Amazon S3 버킷은 AWS Key Management Service(AWS KMS)에 의해 암호화되어 있으며 "Access Denied" 오류 메시지가 표시됩니다.
해결 방법
"Access Denied" 오류를 해결하려면 AWS KMS 키 정책을 수정하세요. 또는 Kinesis Data Firehose에 대한 AWS Identity and Access Management(IAM) 역할을 추가합니다.
AWS KMS 키 정책 수정
AWS KMS 키 정책을 수정하려면 다음 단계를 완료하세요.
1. AWS KMS 콘솔을 엽니다.
-
S3 버킷을 암호화하는 AWS KMS 키를 선택합니다.
-
정책 보기로 전환을 선택합니다.
-
AWS KMS 키 정책에서 필요한 권한이 있는지 확인합니다.
-
정책을 업데이트하여 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 콘솔을 엽니다.
-
S3 버킷을 암호화하는 AWS KMS 키를 선택합니다.
-
키 사용자 섹션에서 추가를 선택합니다.
-
Kinesis Data Firehose IAM 역할을 선택합니다.
-
추가를 선택합니다.
관련 정보
키 편집