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-authJARファイルをダウンロードし、クラスパスに配置します。Maven を使用する場合は、次の依存関係を追加し、必要に応じてバージョン番号を調整します。

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

Amazon MSKクライアントプラグインは、Apache 2.0 ライセンスの下でオープンソース化されています。