Amazon S3 버킷에 기록할 때 Kinesis Data Firehose에서 발생하는 "액세스 거부됨(Access Denied)" 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 10월 15일

Amazon Kinesis Data Firehose에서 Amazon Simple Storage Service(Amazon S3) 버킷에 AWS Key Management Service(AWS KMS)로 암호화된 데이터를 기록하려고 합니다. 하지만 "액세스 거부됨(Access Denied)" 오류 메시지가 표시됩니다. 문제를 해결하려면 어떻게 해야 합니까?

해결 방법

중요: Kinesis Data Firehose에 대한 AWS Identity and Access Management(IAM) 역할에 관련 Amazon S3 권한이 있는지 확인하십시오. S3 권한에 대한 자세한 내용은 Amazon S3 대상에 액세스할 수 있는 권한을 Kinesis Data Firehose에 부여를 참조하십시오.

Kinesis Data Firehose에서 "Access Denied" 오류 메시지를 해결하려면 다음 단계를 수행하십시오.

1.    AWS KMS 콘솔을 엽니다.

2.    현재 S3 버킷을 암호화하는 데 사용된 KMS 키를 선택합니다.

3.    [정책 보기로 전환(Switch to policy view)]을 선택합니다.

4.    KMS 키 정책에 필요한 권한이 있는지 확인합니다. 적절한 액세스 권한이 있으면 S3 버킷에 기록될 데이터를 암호화할 수 있습니다.

참고: KMS 키 정책에 대한 자세한 내용은 AWS Key Management Service에 저장된 CMK를 사용한 서버 측 암호화(SSE-KMS)로 데이터 보호를 참조하십시오.

5.    정책을 업데이트하여 Kinesis Data Firehose에 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 버킷을 암호화한 KMS 키의 Amazon 리소스 이름(ARN)을 지정해야 합니다.

6.    [저장(Save)]을 선택합니다.

정책을 수정하지 않고 "액세스 거부됨(Access Denied)" 오류 메시지를 해결할 수도 있습니다. 오류 메시지를 해결하려면 다음 단계를 수행하십시오.

1.    AWS KMS 콘솔을 엽니다.

2.    현재 S3 버킷을 암호화하는 데 사용 중인 KMS 키를 선택합니다.

3.    [키 사용자(Key users)] 섹션에서 [추가(Add)]를 선택합니다.

4.    Kinesis Data Firehose 역할을 선택합니다.

5.    [Add(추가)]를 선택합니다. 이제 Kinesis Data Firehose에서 암호화된 S3 버킷으로 데이터를 쓸 수 있는 적절한 권한이 부여되었습니다.


이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?