Kinesis Data Analytics의 ID 및 액세스 관리 - Amazon Kinesis Data Analytics for SQL 애플리케이션 개발자 안내서

새 프로젝트의 경우 Kinesis Data Analytics for SQL 애플리케이션보다 새로운 Managed Service for Apache Flink Studio를 사용하는 것이 좋습니다. Managed Service for Apache Flink Studio는 사용 편의성과 고급 분석 기능을 결합하여 정교한 스트림 처리 애플리케이션을 몇 분 만에 구축할 수 있도록 합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Kinesis Data Analytics의 ID 및 액세스 관리

Amazon Kinesis Data Analytics에는 애플리케이션 입력 구성에서 지정한 스트리밍 소스에서 레코드를 읽을 수 있는 권한이 필요합니다. Amazon Kinesis Data Analytics에는 애플리케이션 출력 구성에서 지정한 스트림에 애플리케이션 출력을 기록할 권한도 필요합니다.

Amazon Kinesis Data Analytics가 취할 수 있는 IAM 역할을 생성함으로써 이러한 권한을 부여할 수 있습니다. 이 역할에 부여한 권한은 서비스가 권한을 받았을 때 Amazon Kinesis Data Analytics가 수행할 수 있는 작업을 결정합니다.

참고

IAM 역할을 생성하고자 하는 경우 이 섹션의 정보가 유용합니다. Amazon Kinesis Data Analytics 콘솔에서 애플리케이션을 생성하는 경우 콘솔이 여러분을 대신할 IAM 역할을 생성할 수 있습니다. 콘솔은 자신이 생성하는 IAM 역할에 대해 다음의 명명 규칙을 사용합니다:

kinesis-analytics-ApplicationName

역할이 생성되면 IAM 콘솔에서 역할을 검토하고 정책을 연결할 수 있습니다.

각 IAM 역할에는 두 가지 정책이 연계되어 있습니다. 신뢰 정책에서는 역할을 위임할 사용자를 지정합니다. 권한 정책에서(하나 이상 존재할 수 있음) 이 역할을 부여하고자 하는 권한을 지정합니다. 다음 섹션은 정책에 대한 설명으로 IAM 역할 생성 시 사용할 수 있습니다.

신뢰 정책

Amazon Kinesis Data Analytics이 스트리밍 또는 참조 소스에 액세스할 수 있도록 권한을 부여하기 위해 IAM 역할에 다음 신뢰 정책을 연계할 수 있습니다:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kinesisanalytics.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

권한 정책

IAM 역할을 생성하여 Amazon Kinesis Data Analytics이 애플리케이션의 스트리밍 소스를 읽도록 하게 하려면, 해당 읽기 작업에 대한 권한을 부여해야 합니다. 소스 (예: Kinesis 스트림, Firehose 전송 스트림 또는 Amazon S3 버킷의 참조 소스) 에 따라 다음 권한 정책을 연결할 수 있습니다.

Kinesis 스트림을 읽을 수 있는 권한 정책

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadInputKinesis", "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards" ], "Resource": [ "arn:aws:kinesis:aws-region:aws-account-id:stream/inputStreamName" ] } ] }

Firehose 전송 스트림 읽기 권한 정책

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadInputFirehose", "Effect": "Allow", "Action": [ "firehose:DescribeDeliveryStream", "firehose:Get*" ], "Resource": [ "arn:aws:firehose:aws-region:aws-account-id:deliverystream/inputFirehoseName" ] } ] }
참고

firehose:Get* 권한은 Kinesis Data Analytics가 스트림에 액세스하는 데 사용하는 내부 접근자를 나타냅니다. Firehose 전송 스트림에는 공개 접근자가 없습니다.

애플리케이션 출력 구성에서 Amazon Kinesis Data Analytics가 외부 목적지에 출력을 작성하도록 지정하는 경우, 다음의 권한을 IAM 역할에 부여해야 합니다.

Kinesis 스트림의 쓰기 권한 정책

{ "Version": "2012-10-17", "Statement": [ { "Sid": "WriteOutputKinesis", "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:PutRecord", "kinesis:PutRecords" ], "Resource": [ "arn:aws:kinesis:aws-region:aws-account-id:stream/output-stream-name" ] } ] }

Firehose 전송 시스템에 대한 쓰기 권한 정책

{ "Version": "2012-10-17", "Statement": [ { "Sid": "WriteOutputFirehose", "Effect": "Allow", "Action": [ "firehose:DescribeDeliveryStream", "firehose:PutRecord", "firehose:PutRecordBatch" ], "Resource": [ "arn:aws:firehose:aws-region:aws-account-id:deliverystream/output-firehose-name" ] } ] }

Amazon S3 버킷에서 준거 데이터 소스를 읽을 수 있는 권한 정책

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "*" } ] }