

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Konfigurasikan klien untuk kontrol akses IAM
<a name="configure-clients-for-iam-access-control"></a>

Untuk memungkinkan klien berkomunikasi dengan kluster MSK yang menggunakan kontrol akses IAM, Anda dapat menggunakan salah satu dari mekanisme ini:
+ Konfigurasi klien non-Java menggunakan mekanisme SASL\$1OAUTHBEARER
+ Konfigurasi klien Java menggunakan SASL\$1OAUTHBEARER mekanisme atau AWS\$1MSK\$1IAM mekanisme

## Gunakan SASL\$1OAUTHBEARER mekanisme untuk mengkonfigurasi IAM
<a name="configure-clients-for-iam-access-control-sasl-oauthbearer"></a>

1. Edit file konfigurasi client.properties Anda menggunakan contoh klien Python Kafka berikut. Perubahan konfigurasi serupa dalam bahasa lain.

   ```
   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 Wilayah 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. Unduh pustaka pembantu untuk bahasa konfigurasi yang Anda pilih dan ikuti petunjuk di bagian *Memulai* di beranda perpustakaan bahasa tersebut.
   + JavaScript: [https://github.com/aws/aws-msk-iam-sasl-signer-js \$1getting -dimulai](https://github.com/aws/aws-msk-iam-sasl-signer-js#getting-started)
   + Python: [https://github.com/aws/aws-msk-iam-sasl-signer-python \$1get -dimulai](https://github.com/aws/aws-msk-iam-sasl-signer-python#get-started)
   + Go: [https://github.com/aws/aws-msk-iam-sasl-signer-go](https://github.com/aws/aws-msk-iam-sasl-signer-go#getting-started) \$1getting -started
   + .NET: [https://github.com/aws/aws-msk-iam-sasl-signer-net](https://github.com/aws/aws-msk-iam-sasl-signer-net#getting-started) \$1getting -dimulai
   + JAVA: SASL\$1OAUTHBEARER dukungan untuk Java tersedia melalui file [https://github.com/aws/aws-msk-iam-auth/releases](https://github.com/aws/aws-msk-iam-auth/releases)jar

## Gunakan AWS\$1MSK\$1IAM mekanisme kustom MSK untuk mengkonfigurasi IAM
<a name="configure-clients-for-iam-access-control-msk-iam"></a>

1. Tambahkan yang berikut ini ke `client.properties` file. Ganti *<PATH\$1TO\$1TRUST\$1STORE\$1FILE>* dengan jalur yang sepenuhnya memenuhi syarat ke file trust store pada klien.
**catatan**  
Jika Anda tidak ingin menggunakan sertifikat tertentu, Anda dapat menghapus `ssl.truststore.location=<PATH_TO_TRUST_STORE_FILE>` dari `client.properties` file Anda. Bila Anda tidak menentukan nilai untuk`ssl.truststore.location`, proses Java menggunakan sertifikat default.

   ```
   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
   ```

   Untuk menggunakan profil bernama yang Anda buat untuk AWS kredensyal, sertakan `awsProfileName="your profile name";` dalam file konfigurasi klien Anda. Untuk informasi tentang profil bernama, lihat [Profil bernama](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) dalam AWS CLI dokumentasi.

1. Unduh file [aws-msk-iam-auth](https://github.com/aws/aws-msk-iam-auth/releases)JAR stabil terbaru, dan letakkan di jalur kelas. Jika Anda menggunakan Maven, tambahkan dependensi berikut, sesuaikan nomor versi sesuai kebutuhan:

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

Plugin klien MSK Amazon bersumber terbuka di bawah lisensi Apache 2.0.