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

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

Kinesis Data Analytics의 자격 증명 및 액세스 관리

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 스트림 또는 Kinesis Data 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" ] } ] }

Kinesis Data 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가 스트림에 액세스하는 데 사용하는 내부 접근자를 나타냅니다. Kinesis Data 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": "*" } ] }