IAM 액세스 제어를 위한 클라이언트 구성 - Amazon Managed Streaming for Apache Kafka

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

IAM 액세스 제어를 위한 클라이언트 구성

클라이언트가 IAM 액세스 제어를 사용하는 MSK 클러스터와 통신할 수 있도록 하려면 다음 메커니즘 중 하나를 사용할 수 있습니다.

  • 메커니즘을 사용한 SASL_OAUTHBEARER Java가 아닌 클라이언트 구성

  • 메커니즘 또는 AWS_MSK_IAM 메커니즘을 사용한 SASL_OAUTHBEARER Java 클라이언트 구성

메커니즘을 SASL_OAUTHBEARER 사용하여 구성 IAM

  1. 아래 Python Kafka 클라이언트 예제에서 강조 표시된 구문을 가이드로 사용하여 client.properties 구성 파일을 편집합니다. 구성 변경은 다른 언어에서도 비슷합니다.

    #!/usr/bin/python3from kafka import KafkaProducer from kafka.errors import KafkaError import socket import time from aws_msk_iam_sasl_signer import MSKAuthTokenProvider class MSKTokenProvider(): def token(self): token, _ = MSKAuthTokenProvider.generate_auth_token('<my aws region>') return token tp = MSKTokenProvider() producer = KafkaProducer( bootstrap_servers='<my bootstrap string>', security_protocol='SASL_SSL', sasl_mechanism='OAUTHBEARER', sasl_oauth_token_provider=tp, client_id=socket.gethostname(), ) topic = "<my-topic>" while True: try: inp=input(">") producer.send(topic, inp.encode()) producer.flush() print("Produced!") except Exception: print("Failed to send message:", e) producer.close()
  2. 선택한 구성 언어의 헬퍼 라이브러리를 다운로드하고 해당 언어 라이브러리 홈페이지의 시작하기 섹션에 있는 지침을 따르세요.

MSK 사용자 지정 AWS_MSK_IAM 메커니즘을 사용하여 구성 IAM

  1. client.properties 파일에 다음을 추가합니다. 를 클라이언트의 트러스트 스토어 파일에 대한 정규화된 경로<PATH_TO_TRUST_STORE_FILE>로 바꿉니다.

    참고

    특정 인증서를 사용하지 않으려면 client.properties 파일에서 ssl.truststore.location=<PATH_TO_TRUST_STORE_FILE>을 제거하면 됩니다. ssl.truststore.location의 값을 지정하지 않으면 Java 프로세스에서 기본 인증서를 사용합니다.

    ssl.truststore.location=<PATH_TO_TRUST_STORE_FILE> security.protocol=SASL_SSL sasl.mechanism=AWS_MSK_IAM sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required; sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler

    AWS 자격 증명에 생성한 명명된 프로필을 사용하려면 클라이언트 구성 파일에 awsProfileName="your profile name";를 포함시킵니다. 명명된 프로필에 대한 자세한 내용은 AWS CLI 설명서의 명명된 프로필을 참조하세요.

  2. 안정적인 최신 aws-msk-iam-auth JAR 파일을 다운로드하여 클래스 경로에 배치합니다. Maven을 사용하는 경우 필요에 따라 버전 번호를 조정하여 다음 종속성을 추가합니다.

    <dependency> <groupId>software.amazon.msk</groupId> <artifactId>aws-msk-iam-auth</artifactId> <version>1.0.0</version> </dependency>

Amazon MSK 클라이언트 플러그인은 Apache 2.0 라이선스에 따라 오픈 소스됩니다.