이 문서에서는 ClickPipes 고객이 역할 기반 접근을 활용해 Amazon Kinesis에 인증하고 데이터 스트림에 안전하게 접근하는 방법을 설명합니다.
사전 요구 사항
이 가이드를 따라 하려면 다음이 필요합니다:
- 활성화된 ClickHouse Cloud 서비스
- AWS 계정
소개
보안 Kinesis 액세스 설정에 들어가기 전에 먼저 그 동작 방식을 이해하는 것이 중요합니다. 다음은 ClickPipes가 고객의 AWS 계정 내 IAM 역할을 Assume하여 Amazon Kinesis 스트림에 액세스하는 방식의 개요입니다.

이 방식을 사용하면 각 스트림의 액세스 정책을 개별적으로 수정할 필요 없이, 고객은 한 곳(assume된 역할의 IAM 정책)에서 Kinesis 데이터 스트림에 대한 모든 액세스를 관리할 수 있습니다.
Setup
ClickHouse 서비스 IAM 역할 ARN 가져오기
-
- ClickHouse Cloud 계정에 로그인합니다.
-
- 통합을 생성할 ClickHouse 서비스를 선택합니다.
-
- 설정 탭을 선택합니다.
-
- 페이지 하단의 Network security information 섹션까지 스크롤합니다.
-
- 아래와 같이 해당 서비스의 Service role ID (IAM) 값을 복사합니다.

IAM AssumeRole 설정
IAM 역할을 수동으로 생성합니다.
-
- IAM 역할을 생성하고 관리할 권한이 있는 IAM 사용자로 웹 브라우저에서 AWS 계정에 로그인합니다.
-
- IAM Service Console로 이동합니다.
-
- Trusted Entity Type을
AWS account로 설정하여 새 IAM 역할을 생성합니다. 이 설정이 작동하려면 IAM 역할 이름이 반드시ClickHouseAccessRole-로 시작해야 합니다.
i. 신뢰 정책을 구성합니다
신뢰 정책은 ClickHouse IAM 역할이 이 역할을 수임할 수 있도록 허용합니다.
{ClickHouse_IAM_ARN}을 ClickHouse 서비스의 IAM 역할 ARN으로 바꾸십시오(이전 단계에서 확인할 수 있습니다).{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "{ClickHouse_IAM_ARN}" }, "Action": "sts:AssumeRole" } ] }ii. 권한 정책을 구성합니다
권한 정책은 Kinesis 스트림에 대한 액세스를 부여합니다. 다음 placeholder를 바꾸십시오:
{REGION}: AWS 리전(예:us-east-1){ACCOUNT_ID}: AWS 계정 ID{STREAM_NAME}: Kinesis 스트림 이름
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards", "kinesis:RegisterStreamConsumer", "kinesis:DeregisterStreamConsumer", "kinesis:ListStreamConsumers" ], "Resource": [ "arn:aws:kinesis:{REGION}:{ACCOUNT_ID}:stream/{STREAM_NAME}" ] }, { "Effect": "Allow", "Action": [ "kinesis:SubscribeToShard", "kinesis:DescribeStreamConsumer" ], "Resource": [ "arn:aws:kinesis:{REGION}:{ACCOUNT_ID}:stream/{STREAM_NAME}/*" ] }, { "Effect": "Allow", "Action": [ "kinesis:ListStreams" ], "Resource": "*" } ] } - Trusted Entity Type을
-
- 생성 후 새 IAM Role ARN을 복사합니다. 이 ARN은 Kinesis 스트림에 액세스하는 데 필요합니다.