서비스 실행 역할 이해 - Amazon Managed Streaming for Apache Kafka

서비스 실행 역할 이해

참고

Amazon MSK Connect는 서비스 연결 역할을 서비스 실행 역할로 사용하는 것을 지원하지 않습니다. 별도의 서비스 실행 역할을 생성해야 합니다. 사용자 지정 IAM 역할을 생성하는 방법에 대한 지침은 IAM 사용 설명서에서 AWS 서비스에 권한을 위임할 역할 생성을 참조하세요.

MSK Connect로 커넥터를 생성하는 경우 커넥터와 함께 사용할 AWS Identity and Access Management(IAM) 역할을 지정해야 합니다. 서비스 실행 역할에 다음 신뢰 정책이 있어야 MSK Connect에서 해당 역할을 맡을 수 있습니다. 해당 정책의 조건 컨텍스트 키에 대한 자세한 내용은 교차 서비스 혼동된 대리자 문제 방지 섹션을 참조하세요.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "kafkaconnect.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "Account-ID" }, "ArnLike": { "aws:SourceArn": "MSK-Connector-ARN" } } } ] }

커넥터와 함께 사용하려는 Amazon MSK 클러스터가 IAM 인증을 사용하는 클러스터인 경우 커넥터의 서비스 실행 역할에 다음 사용 권한 정책을 추가해야 합니다. 클러스터의 UUID를 찾는 방법과 토픽 ARN을 구성하는 방법에 대한 자세한 내용은 권한 부여 정책 리소스 섹션을 참조하세요.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kafka-cluster:Connect", "kafka-cluster:DescribeCluster" ], "Resource": [ "cluster-arn" ] }, { "Effect": "Allow", "Action": [ "kafka-cluster:ReadData", "kafka-cluster:DescribeTopic" ], "Resource": [ "ARN of the topic that you want a sink connector to read from" ] }, { "Effect": "Allow", "Action": [ "kafka-cluster:WriteData", "kafka-cluster:DescribeTopic" ], "Resource": [ "ARN of the topic that you want a source connector to write to" ] }, { "Effect": "Allow", "Action": [ "kafka-cluster:CreateTopic", "kafka-cluster:WriteData", "kafka-cluster:ReadData", "kafka-cluster:DescribeTopic" ], "Resource": [ "arn:aws:kafka:region:account-id:topic/cluster-name/cluster-uuid/__amazon_msk_connect_*" ] }, { "Effect": "Allow", "Action": [ "kafka-cluster:AlterGroup", "kafka-cluster:DescribeGroup" ], "Resource": [ "arn:aws:kafka:region:account-id:group/cluster-name/cluster-uuid/__amazon_msk_connect_*", "arn:aws:kafka:region:account-id:group/cluster-name/cluster-uuid/connect-*" ] } ] }

커넥터의 종류에 따라 서비스 실행 역할에 AWS 리소스에 액세스할 수 있는 권한 정책을 연결해야 할 수도 있습니다. 예를 들어 커넥터에서 S3 버킷으로 데이터를 전송해야 하는 경우 서비스 실행 역할에 해당 버킷에 쓸 수 있는 권한을 부여하는 권한 정책이 있어야 합니다. 테스트 목적으로 전체 액세스 권한을 부여하는 사전 구축된 IAM 정책 중 하나를 사용할 수 있습니다(예: arn:aws:iam::aws:policy/AmazonS3FullAccess). 그러나 보안을 위해 커넥터가 AWS 소스에서 읽거나 AWS 싱크에 쓸 수 있도록 허용하는 가장 제한적인 정책을 사용하는 것을 권장합니다.