

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# IAM アクセス制御用にクライアントを設定する
<a name="configure-clients-for-iam-access-control"></a>

クライアントが IAM アクセス制御を使用する MSK クラスターと通信できるようにするために、次のメカニズムのいずれかを使用できます。
+ SASL\$1OAUTHBEARER メカニズムを使用する Java 以外のクライアント設定
+ SASL\$1OAUTHBEARER メカニズムまたは AWS\$1MSK\$1IAM メカニズムを使用する Java のクライアント設定

## SASL\$1OAUTHBEARER メカニズムを使用して IAM を設定する
<a name="configure-clients-for-iam-access-control-sasl-oauthbearer"></a>

1. 以下の Python Kafka クライアントの例を使用して、 client.properties 設定ファイルを編集してください。設定の変更は他の言語でも同様です。

   ```
   from kafka import KafkaProducer
   from kafka.errors import KafkaError
   from kafka.sasl.oauth import AbstractTokenProvider
   import socket
   import time
   from aws_msk_iam_sasl_signer import MSKAuthTokenProvider
   
   class MSKTokenProvider():
       def token(self):
           token, _ = MSKAuthTokenProvider.generate_auth_token('<my AWS リージョン>')
           return token
   
   tp = MSKTokenProvider()
   
   producer = KafkaProducer(
       bootstrap_servers='<myBootstrapString>',
       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()
   ```

1. 選択した設定言語用のヘルパーライブラリをダウンロードし、その言語ライブラリのホームページにある*「はじめに」*セクションの手順に従ってください。
   + JavaScript: [https://github.com/aws/aws-msk-iam-sasl-signer-js\$1getting-started](https://github.com/aws/aws-msk-iam-sasl-signer-js#getting-started)
   + Python: [https://github.com/aws/aws-msk-iam-sasl-signer-python\$1get-started](https://github.com/aws/aws-msk-iam-sasl-signer-python#get-started)
   + Go: [https://github.com/aws/aws-msk-iam-sasl-signer-go\$1getting-started](https://github.com/aws/aws-msk-iam-sasl-signer-go#getting-started)
   + .NET: [https://github.com/aws/aws-msk-iam-sasl-signer-net\$1getting-started](https://github.com/aws/aws-msk-iam-sasl-signer-net#getting-started)
   + JAVA: SASL\$1OAUTHBEARER の Java サポートは [https://github.com/aws/aws-msk-iam-auth/releases](https://github.com/aws/aws-msk-iam-auth/releases) jar ファイルを介して提供されます

## MSK カスタム AWS\$1MSK\$1IAM メカニズムを使用して IAM を設定する
<a name="configure-clients-for-iam-access-control-msk-iam"></a>

1. 以下を `client.properties` ファイルに追加します。*<PATH\$1TO\$1TRUST\$1STORE\$1FILE>*を、クライアント上のトラストストアファイルへの完全修飾パスに置き換えます。
**注記**  
特定の証明書を使用しない場合は、`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 ドキュメントの[「名前付きプロファイル](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)」を参照してください。

1. 最新の安定した[aws-msk-iam-auth](https://github.com/aws/aws-msk-iam-auth/releases) 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 ライセンスの下でオープンソース化されています。