Amazon Kinesis Data Streams 및 Amazon DynamoDB에 대한 IAM 정책 사용
Amazon DynamoDB용 Amazon Kinesis Data Streams를 처음 활성화하면, DynamoDB는 사용자를 위한 AWS Identity and Access Management(IAM) 서비스 연결 역할을 자동으로 생성합니다. 이 역할 AWSServiceRoleForDynamoDBKinesisDataStreamsReplication
을 사용하면 DynamoDB가 사용자 대신 Kinesis Data Streams으로의 항목 수준 변경 사항 복제를 관리할 수 있습니다. 이 서비스 연결 역할을 삭제하지 마세요.
서비스 연결 역할에 대한 자세한 내용은 IAM 사용 설명서의 서비스 연결 역할 사용을 참조하세요
참고
DynamoDB는 IAM 정책에 대한 태그 기반 조건을 지원하지 않습니다.
Amazon DynamoDB용 Amazon Kinesis Data Streams를 활성화하려면 테이블에 대한 다음 권한이 있어야 합니다.
-
dynamodb:EnableKinesisStreamingDestination
-
kinesis:ListStreams
-
kinesis:PutRecords
-
kinesis:DescribeStream
지정된 DynamoDB 테이블에 대한 Amazon DynamoDB용 Amazon Kinesis Data Streams를 설명하려면 테이블에 대한 다음 권한이 있어야 합니다.
-
dynamodb:DescribeKinesisStreamingDestination
-
kinesis:DescribeStreamSummary
-
kinesis:DescribeStream
Amazon DynamoDB용 Amazon Kinesis Data Streams를 비활성화하려면 테이블에 대한 다음 권한이 있어야 합니다.
-
dynamodb:DisableKinesisStreamingDestination
Amazon DynamoDB용 Amazon Kinesis Data Streams를 업데이트하려면 테이블에 대한 다음 권한이 있어야 합니다.
-
dynamodb:UpdateKinesisStreamingDestination
다음 예제에서는 IAM 정책을 사용하여 Amazon DynamoDB용 Amazon Kinesis Data Streams에 대한 권한을 부여하는 방법을 보여 줍니다.
예제: Amazon DynamoDB용 Amazon Kinesis Data Streams 활성화
다음 IAM 정책은 Music
테이블에 대해 Amazon DynamoDB용 Amazon Kinesis Data Streams를 활성화하는 권한을 부여합니다. Music
테이블에 대한 DynamoDB용 Kinesis Data Streams를 비활성화, 업데이트 또는 설명하는 권한은 부여하지 않습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/kinesisreplication.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBKinesisDataStreamsReplication", "Condition": {"StringLike": {"iam:AWSServiceName": "kinesisreplication.dynamodb.amazonaws.com"}} }, { "Effect": "Allow", "Action": [ "dynamodb:EnableKinesisStreamingDestination" ], "Resource": "arn:aws:dynamodb:us-west-2:12345678901:table/Music" } ] }
예: Amazon DynamoDB용 Amazon Kinesis Data Streams 업데이트
다음 IAM 정책은 Music
테이블에 대해 Amazon DynamoDB용 Amazon Kinesis Data Streams를 업데이트하는 권한을 부여합니다. Music
테이블에 대한 Amazon DynamoDB용 Amazon Kinesis Data Streams를 활성화, 비활성화 또는 설명하는 권한은 부여하지 않습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:UpdateKinesisStreamingDestination" ], "Resource": "arn:aws:dynamodb:us-west-2:12345678901:table/Music" } ] }
예제: Amazon DynamoDB용 Amazon Kinesis Data Streams 비활성화
다음 IAM 정책은 Music
테이블에 대해 Amazon DynamoDB용 Amazon Kinesis Data Streams를 비활성화하는 권한을 부여합니다. Music
테이블에 대한 Amazon DynamoDB용 Amazon Kinesis Data Streams를 활성화, 업데이트 또는 설명하는 권한은 부여하지 않습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:DisableKinesisStreamingDestination" ], "Resource": "arn:aws:dynamodb:us-west-2:12345678901:table/Music" } ] }
예: 리소스를 기반으로 Amazon DynamoDB용 Amazon Kinesis Data Streams에 대한 권한을 선택적으로 적용
다음 IAM 정책은 Music
테이블에 대해 Amazon DynamoDB용 Amazon Kinesis Data Streams를 활성화할 권한을 부여하고 Orders
테이블에 대해 Amazon DynamoDB용 Amazon Kinesis Data Streams를 비활성할 권한을 거부합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:EnableKinesisStreamingDestination", "dynamodb:DescribeKinesisStreamingDestination" ], "Resource": "arn:aws:dynamodb:us-west-2:12345678901:table/Music" }, { "Effect": "Deny", "Action": [ "dynamodb:DisableKinesisStreamingDestination" ], "Resource": "arn:aws:dynamodb:us-west-2:12345678901:table/Orders" } ] }
DynamoDB용 Kinesis Data Streams에 대한 서비스 연결 역할 사용
Amazon DynamoDB용 Amazon Kinesis Data Streams는 AWS Identity and Access Management(IAM) 서비스 연결 역할을 사용합니다. 서비스 연결 역할은 DynamoDB용 Kinesis Data Streams에 직접 연결된 고유한 유형의 IAM 역할입니다. 서비스 연결 역할은 DynamoDB용 Kinesis Data Streams에서 사전 정의하며 서비스에서 다른 AWS 서비스를 자동으로 호출하기 위해 필요한 모든 권한을 포함합니다.
필요한 권한을 수동으로 추가할 필요가 없으므로 서비스 연결 역할은 DynamoDB용 Kinesis Data Streams를 더 쉽게 설정할 수 있습니다. DynamoDB용 Kinesis Data Streams는 서비스 연결 역할의 권한을 정의하며 달리 정의하지 않는 한 DynamoDB용 Kinesis Data Streams만 해당 역할을 맡을 수 있습니다. 정의된 권한에는 신뢰 정책과 권한 정책이 포함되며 이 권한 정책은 다른 IAM 엔터티에 연결할 수 없습니다.
서비스 연결 역할을 지원하는 기타 서비스에 대한 자세한 내용은 IAM으로 작업하는 AWS 서비스를 참조해 서비스 연결 역할(Service-Linked Role) 열이 예(Yes)인 서비스를 찾으세요. 해당 서비스에 대한 서비스 연결 역할 설명서를 보려면 링크가 있는 예를 선택합니다.
DynamoDB용 Kinesis Data Streams에 대한 서비스 연결 역할 권한
DynamoDB용 Kinesis Data Streams는 AWSServiceRoleForDynamoDBKinesisDataStreamsReplication라는 서비스 연결 역할을 사용합니다. 서비스 연결 역할은 Amazon DynamoDB가 사용자 대신 Kinesis Data Streams에 대한 항목 수준 변경 사항의 복제를 관리할 수 있도록 하기 위한 것입니다.
AWSServiceRoleForDynamoDBKinesisDataStreamsReplication
서비스 연결 역할은 역할을 수임하기 위해 다음 서비스를 신뢰합니다.
-
kinesisreplication.dynamodb.amazonaws.com
역할 권한 정책은 DynamoDB용 Kinesis Data Streams가 지정된 리소스에서 다음 작업을 완료하도록 허용합니다.
-
작업:
Kinesis stream
에 대한Put records and describe
-
작업: 사용자 생성 AWS KMS 키를 사용하여 암호화된 Kinesis 스트림에 데이터를 저장하기 위해
AWS KMS
에서Generate data keys
정책 문서의 정확한 내용은 DynamoDBKinesisReplicationServiceRolePolicy
IAM 엔터티(사용자, 그룹, 역할 등)가 서비스 링크 역할을 생성하고 편집하거나 삭제할 수 있도록 권한을 구성할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 서비스 연결 역할 권한 섹션을 참조하세요.
DynamoDB용 Kinesis Data Streams에 대한 서비스 연결 역할 생성
서비스 링크 역할은 수동으로 생성할 필요가 없습니다. AWS Management Console, AWS CLI 또는AWSAPI에서 DynamoDB용 Kinesis Data Streams를 활성화하면 DynamoDB용 Kinesis Data Streams는 사용자를 위한 서비스 연결 역할을 생성합니다.
이 서비스 연결 역할을 삭제했다가 다시 생성해야 하는 경우 동일한 프로세스를 사용하여 계정에서 역할을 다시 생성할 수 있습니다. DynamoDB용 Kinesis Data Streams를 활성화하면 DynamoDB용 Kinesis Data Streams는 사용자를 위한 서비스 연결 역할을 다시 생성합니다.
DynamoDB용 Kinesis Data Streams에 대한 서비스 연결 역할 편집
DynamoDB용 Amazon Kinesis Data Streams에서는 AWSServiceRoleForDynamoDBKinesisDataStreamsReplication
서비스 연결 역할을 편집하도록 허용하지 않습니다. 서비스 링크 역할을 생성한 후에는 다양한 개체가 역할을 참조할 수 있기 때문에 역할 이름을 변경할 수 없습니다. 하지만 IAM을 사용하여 역할의 설명을 편집할 수 있습니다. 자세한 내용은 IAM 사용 설명서의 서비스 연결 역할 편집을 참조하세요.
DynamoDB용 Kinesis Data Streams에 대한 서비스 연결 역할 삭제
또한 IAM 콘솔, AWS CLI 또는 AWS API를 사용하여 서비스 연결 역할을 수동으로 삭제할 수 있습니다. 단, 서비스 연결 역할에 대한 리소스를 먼저 정리해야 수동으로 삭제할 수 있습니다.
참고
리소스를 삭제하려 할 때 DynamoDB용 Kinesis Data Streams 서비스가 역할을 사용 중이면 삭제에 실패할 수 있습니다. 이 문제가 발생하면 몇 분 기다렸다가 작업을 다시 시도하세요.
IAM을 사용하여 수동으로 서비스 연결 역할을 삭제하려면
IAM 콘솔, AWS CLI 또는 AWS API를 사용하여 AWSServiceRoleForDynamoDBKinesisDataStreamsReplication
서비스 연결 역할을 삭제합니다. 자세한 내용은 IAM 사용 설명서의 서비스 연결 역할 삭제를 참조하십시오.