Kinesis Firehose 엔드포인트를 SNS 주제에 구독하려고 할 때 허용되지 않는 계정 간 전달 역할 문제를 해결하려면 어떻게 해야 하나요?

2분 분량
0

Amazon Kinesis Data Firehose를 Amazon Simple Notification Service(SNS) 주제에 구독할 때 ‘Cross-account pass role is not allowed’(계정 간 전달 역할이 허용되지 않습니다')라는 오류 메시지가 발생해요.

간단한 설명

사용자가 계정 A에서는 Amazon Simple Notification Service(SNS) 주제를 구성했고 계정 B에서는 Amazon Kinesis Data Firehose를 구성했습니다. SNS와 Kinesis Data Firehose 간에 계정 간 구독을 생성하려면, 다음을 확인하세요.

  • 구독은 Kinesis Data Firehose도 가지고 있는 계정 B에서 생성됩니다.
  • 구독에는 Kinesis 권한과 함께, AWS Identity and Access Management(IAM) 역할이 있습니다.
  • IAM 역할의 신뢰 정책이 업데이트되어 SNS 서비스가 역할을 맡을 수 있습니다.
  • 계정 A의 SNS 주제 액세스 정책에 따라 계정 B는 SNS:Subscribe 작업을 수행할 수 있습니다.

해결 방법

Kinesis Data Firehose도 가지고 있는 계정 B에서 구독이 생성되었는지 확인하세요

계정 B에서 다음과 같이 구독을 생성하세요.

  1. AWS Management Console에 로그인하고 Amazon SNS 콘솔로이동하세요.
  2. Subscriptions(구독)를선택하세요. 그런 다음, **Create Subscriptions(구독 생성)**를 선택하세요.
  3. Amazon Data Firehose 구독을 생성하세요. 자세한 내용은 Subscribing a Kinesis Data Firehose delivery stream to an Amazon SNS topic(Amazon SNS 주제에 Kinesis Data Firehose 전송 스트림 구독)을 참조하세요.

IAM 역할에 Kinesis 권한이 있고 관련 신뢰 정책이 SNS 서비스가 역할을 맡도록 허용하는지 확인하세요

구독에는 Amazon SNS 서비스 주체를 신뢰하고 전송 스트림에 쓸 권한이 있는 IAM 역할이 필요합니다. 정책은 최소한 특정 전송 스트림에서 PutRecord 작업을 실행할 수 있는 권한을 제공해야 합니다. 자세한 내용은 Prerequisites for subscribing Kinesis Data Firehose delivery streams to Amazon SNS topics(Amazon SNS 주제에 Kinesis Data Firehose 전송 스트림을 구독하기 위한 사전 요구 사항)를 참조하세요.

계정 A의 SNS 주제 액세스 정책에 따라 계정 B가 SNS:Subscribe 작업을 수행할 수 있는지 확인하세요

계정 B가 계정 A의 SNS 주제에 액세스하고 ** SNS:Subscribe** 작업을 수행하려면 적절한 권한이 필요합니다. 자세한 내용은 Grant AWS account access to a topic(주제에 대한 AWS 계정 액세스 권한 부여)을 참조하세요.
**참고:**사용자는 계정 A의 액세스 정책을 업데이트하여 보다 엄격한 권한과 액세스 조건을 구현할 수 있습니다.

AWS 공식
AWS 공식업데이트됨 일 년 전