

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

# Mengakses Amazon Keyspaces (untuk Apache Cassandra)
<a name="accessing"></a>

Anda dapat mengakses Amazon Keyspaces menggunakan konsol,, secara terprogram dengan menjalankan `cqlsh` klien AWS CloudShell, AWS SDK, atau dengan menggunakan driver Cassandra berlisensi Apache 2.0. Amazon Keyspaces mendukung driver dan klien yang kompatibel dengan Apache Cassandra 3.11.2. Sebelum mengakses Amazon Keyspaces, Anda harus menyelesaikan AWS Identity and Access Management pengaturan dan kemudian memberikan izin akses identitas IAM ke Amazon Keyspaces.

## Menyiapkan AWS Identity and Access Management
<a name="SettingUp.IAM"></a>

### Mendaftar untuk Akun AWS
<a name="sign-up-for-aws"></a>

Jika Anda tidak memiliki Akun AWS, selesaikan langkah-langkah berikut untuk membuatnya.

**Untuk mendaftar untuk Akun AWS**

1. Buka [https://portal.aws.amazon.com/billing/pendaftaran.](https://portal.aws.amazon.com/billing/signup)

1. Ikuti petunjuk online.

   Bagian dari prosedur pendaftaran melibatkan menerima panggilan telepon atau pesan teks dan memasukkan kode verifikasi pada keypad telepon.

   Saat Anda mendaftar untuk sebuah Akun AWS, sebuah *Pengguna root akun AWS*dibuat. Pengguna root memiliki akses ke semua Layanan AWS dan sumber daya di akun. Sebagai praktik keamanan terbaik, tetapkan akses administratif ke pengguna, dan gunakan hanya pengguna root untuk melakukan [tugas yang memerlukan akses pengguna root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS mengirimi Anda email konfirmasi setelah proses pendaftaran selesai. Kapan saja, Anda dapat melihat aktivitas akun Anda saat ini dan mengelola akun Anda dengan masuk [https://aws.amazon.com.rproxy.goskope.comke/](https://aws.amazon.com/) dan memilih **Akun Saya**.

### Buat pengguna dengan akses administratif
<a name="create-an-admin"></a>

Setelah Anda mendaftar Akun AWS, amankan Pengguna root akun AWS, aktifkan AWS IAM Identity Center, dan buat pengguna administratif sehingga Anda tidak menggunakan pengguna root untuk tugas sehari-hari.

**Amankan Anda Pengguna root akun AWS**

1.  Masuk ke [Konsol Manajemen AWS](https://console.aws.amazon.com/)sebagai pemilik akun dengan memilih **pengguna Root** dan memasukkan alamat Akun AWS email Anda. Di laman berikutnya, masukkan kata sandi.

   Untuk bantuan masuk dengan menggunakan pengguna root, lihat [Masuk sebagai pengguna root](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) di *AWS Sign-In Panduan Pengguna*.

1. Mengaktifkan autentikasi multi-faktor (MFA) untuk pengguna root Anda.

   Untuk petunjuk, lihat [Mengaktifkan perangkat MFA virtual untuk pengguna Akun AWS root (konsol) Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) di Panduan Pengguna *IAM*.

**Buat pengguna dengan akses administratif**

1. Aktifkan Pusat Identitas IAM.

   Untuk mendapatkan petunjuk, silakan lihat [Mengaktifkan AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) di *Panduan Pengguna AWS IAM Identity Center *.

1. Di Pusat Identitas IAM, berikan akses administratif ke pengguna.

   Untuk tutorial tentang menggunakan Direktori Pusat Identitas IAM sebagai sumber identitas Anda, lihat [Mengkonfigurasi akses pengguna dengan default Direktori Pusat Identitas IAM](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) di *Panduan AWS IAM Identity Center Pengguna*.

**Masuk sebagai pengguna dengan akses administratif**
+ Untuk masuk dengan pengguna Pusat Identitas IAM, gunakan URL masuk yang dikirim ke alamat email saat Anda membuat pengguna Pusat Identitas IAM.

  Untuk bantuan masuk menggunakan pengguna Pusat Identitas IAM, lihat [Masuk ke portal AWS akses](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) di *Panduan AWS Sign-In Pengguna*.

**Tetapkan akses ke pengguna tambahan**

1. Di Pusat Identitas IAM, buat set izin yang mengikuti praktik terbaik menerapkan izin hak istimewa paling sedikit.

   Untuk petunjuknya, lihat [Membuat set izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) di *Panduan AWS IAM Identity Center Pengguna*.

1. Tetapkan pengguna ke grup, lalu tetapkan akses masuk tunggal ke grup.

   Untuk petunjuk, lihat [Menambahkan grup](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) di *Panduan AWS IAM Identity Center Pengguna*.

## Menyiapkan Amazon Keyspaces
<a name="SettingUp.KEY"></a>

 [Akses ke sumber daya Amazon Keyspaces dikelola menggunakan IAM.](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) Dengan IAM, Anda dapat melampirkan kebijakan ke pengguna IAM, peran, dan identitas gabungan yang memberikan izin baca dan tulis ke sumber daya tertentu di Amazon Keyspaces. 

Untuk memulai pemberian izin ke identitas IAM, Anda dapat menggunakan salah satu kebijakan AWS terkelola untuk Amazon Keyspaces:
+ [AmazonKeyspacesFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonKeyspacesFullAccess.html)— kebijakan ini memberikan izin untuk mengakses semua sumber daya di Amazon Keyspaces dengan akses penuh ke semua fitur.
+ [AmazonKeyspacesReadOnlyAccess\$1v2](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonKeyspacesReadOnlyAccess_v2.html) — kebijakan ini memberikan izin hanya-baca ke Amazon Keyspaces.

Untuk penjelasan rinci tentang tindakan yang didefinisikan dalam kebijakan terkelola, lihat[AWS kebijakan terkelola untuk Amazon Keyspaces](security-iam-awsmanpol.md).

Untuk membatasi cakupan tindakan yang dapat dilakukan oleh identitas IAM atau membatasi sumber daya yang dapat diakses identitas, Anda dapat membuat kebijakan kustom yang menggunakan kebijakan `AmazonKeyspacesFullAccess` terkelola sebagai templat dan menghapus semua izin yang tidak Anda perlukan. Anda juga dapat membatasi akses ke ruang kunci atau tabel tertentu. Untuk informasi selengkapnya tentang cara membatasi tindakan atau membatasi akses ke sumber daya tertentu di Amazon Keyspaces, lihat. [Cara Amazon Keyspaces bekerja dengan IAM](security_iam_service-with-iam.md) 

Untuk mengakses Amazon Keyspaces setelah Anda membuat Akun AWS dan membuat kebijakan yang memberikan akses identitas IAM ke Amazon Keyspaces, lanjutkan ke salah satu bagian berikut:
+ [Menggunakan konsol](console_keyspaces.md)
+ [Menggunakan AWS CloudShell](using-aws-with-cloudshell.md)

# Mengakses Amazon Keyspaces menggunakan konsol
<a name="console_keyspaces"></a>

Anda dapat mengakses konsol untuk Amazon Keyspaces di. [https://console.aws.amazon.com/keyspaces/home](https://console.aws.amazon.com/keyspaces/home) Untuk informasi selengkapnya tentang Konsol Manajemen AWS akses, lihat [Mengontrol akses pengguna IAM ke Konsol Manajemen AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_controlling-access.html) dalam Panduan Pengguna IAM.

Anda dapat menggunakan konsol untuk melakukan hal berikut di Amazon Keyspaces:
+ Buat, hapus, dan kelola ruang kunci dan tabel.
+ Pantau metrik tabel penting pada tab **Monitor** tabel:
  + Ukuran tabel yang dapat ditagih (Bytes)
  + Metrik kapasitas
+ Jalankan kueri menggunakan editor CQL atau melalui [AWS CloudShell pengalaman terintegrasi](console_cloudshell_integration.md), misalnya menyisipkan, memperbarui, dan menghapus data.
+ Connect ke Amazon Keyspaces secara langsung melalui AWS CloudShell dukungan CQLSH terintegrasi.
+ Ubah konfigurasi partisi akun.
+ Lihat metrik kinerja dan kesalahan untuk akun di dasbor.

# Connect ke Amazon Keyspaces menggunakan AWS CloudShell dari konsol
<a name="console_cloudshell_integration"></a>

AWS CloudShell menyediakan cara yang efisien untuk terhubung ke Amazon Keyspaces langsung dari konsol. AWS CloudShell Integrasi secara otomatis menginisialisasi `cqlsh-expansion` untuk Anda dan membuat koneksi ke ruang kunci tertentu.

## Memulai dengan AWS CloudShell integrasi
<a name="cloudshell_getting_started"></a>

1. **Akses AWS CloudShell integrasi** — Dari konsol Amazon Keyspaces, navigasikan ke ruang kunci yang ingin Anda sambungkan dan pilih tombol Connect **to Keyspaces**. AWS CloudShell 

1. **Perintah pengaturan yang telah diisi sebelumnya** — Saat Anda memilih AWS CloudShell tombol, sistem menyediakan perintah yang telah diisi sebelumnya yang mencakup parameter inisialisasi dan koneksi yang diperlukan:

   ```
   cqlsh-expansion.init ; cqlsh-expansion cassandra.region.amazonaws.com 9142 --ssl -my_keyspace
   ```

1. **Klik **Jalankan****

1. **Tunggu Amazon Keyspaces membuat koneksi** — Berikan waktu untuk proses penyiapan selesai dan koneksi ke ruang kunci yang Anda pilih akan dibuat.

1. **Jalankan perintah** — Ketika terhubung, Anda dapat menulis dan menjalankan perintah CQL langsung terhadap keyspace yang dipilih.

## Perintah CQLSH yang tersedia
<a name="available_cqlsh_commands"></a>

 AWS CloudShell Integrasi ini menyediakan akses ke fungsionalitas CQLSH standar, termasuk dukungan untuk perintah di luar CQL dasar.
+ **Jelaskan** — Daftar dan lihat deskripsi rinci dari keyspaces dan tabel.
+ **Salin** - Ekspor output kueri ke file untuk diproses nanti.
+ **Sumber** - Jalankan pernyataan CQL dari file.
+ **Navigasi riwayat perintah** - Gulir melalui perintah sebelumnya menggunakan pintasan keyboard.
+ **Eksekusi kueri** - Jalankan kueri langsung dari antarmuka keyboard.
+ **Penyalinan keluaran** - Salin hasil sebagai teks sederhana untuk digunakan dalam aplikasi lain.

## Pertimbangan fitur
<a name="feature_considerations"></a>

Saat menggunakan AWS CloudShell integrasi, pertimbangkan trade-off berikut.

**Fitur-fitur berikut tidak didukung:**
+ Saran sintaks CQL dan fungsionalitas pelengkapan otomatis.
+ Alat editor seperti show autocomplete, show tooltip, find, find and replace, redo, toggle block comments, toggle code folding, toggle line comment, dan undo.

**Fungsionalitas yang dimodifikasi:**
+ **Unduhan CSV** - Untuk mengunduh hasil sebagai format CSV, tentukan `>` operator untuk menyalurkan output perintah:

  ```
  SELECT * FROM my_table > file_name.csv
  ```
+ Tampilan **JSON** - Anda dapat melihat item dalam format JSON tanpa memerlukan konversi data.
+ **Antarmuka bergaya terminal** - Pengalaman beroperasi sebagai antarmuka terminal daripada editor kode berfitur lengkap.

 AWS CloudShell Integrasi menyederhanakan proses koneksi sambil menyediakan fungsionalitas CQL penting untuk mengelola data Amazon Keyspaces Anda langsung dari file. Konsol Manajemen AWS

Untuk mempelajari cara membuat keyspace dan tabel Amazon Keyspaces dan mengaturnya dengan contoh data aplikasi, lihat. [Memulai dengan Amazon Keyspaces (untuk Apache Cassandra)](getting-started.md) 

# Menggunakan AWS CloudShell untuk mengakses Amazon Keyspaces
<a name="using-aws-with-cloudshell"></a>

AWS CloudShell adalah shell pra-otentikasi berbasis browser yang dapat Anda luncurkan langsung dari file. Konsol Manajemen AWS Anda dapat menjalankan AWS CLI perintah terhadap AWS layanan menggunakan shell pilihan Anda (Bash, PowerShell atau Z shell). AWS CloudShell dilengkapi pra-autentikasi dengan kredensyal konsol Anda dan menyertakan alat umum untuk bekerja dengan AWS layanan, termasuk, AWS CLI Python, dan Node.js.

Anda [meluncurkan AWS CloudShell dari Konsol Manajemen AWS](https://docs.aws.amazon.com/cloudshell/latest/userguide/working-with-cloudshell.html#launch-options), dan AWS kredensyal yang Anda gunakan untuk masuk ke konsol secara otomatis tersedia di sesi shell baru. Pra-otentikasi AWS CloudShell pengguna ini memungkinkan Anda untuk melewati konfigurasi kredensyal saat berinteraksi dengan layanan AWS seperti Amazon Keyspaces menggunakan `cqlsh` atau AWS CLI versi 2 (pra-instal pada lingkungan komputasi shell).

## AWS CloudShell opsi integrasi
<a name="cloudshell-integration-options"></a>

Amazon Keyspaces menawarkan dua cara untuk menggunakan: AWS CloudShell

1. ** AWS CloudShell Pengalaman terintegrasi** - Metode koneksi efisien yang tersedia langsung dari konsol Amazon Keyspaces yang secara otomatis menginisialisasi `cqlsh-expansion` dan menghubungkan ke ruang kunci tertentu. Untuk petunjuk lengkap tentang penggunaan pengalaman terintegrasi ini, lihat[Connect ke Amazon Keyspaces menggunakan AWS CloudShell dari konsol](console_cloudshell_integration.md).

1. ** AWS CloudShell Pengaturan manual** - Instal dan konfigurasikan `cqlsh` secara manual AWS CloudShell. Langkah-langkah dijelaskan di bagian berikut dan memberikan kontrol lebih besar atas proses penyiapan dan mengaktifkan konfigurasi khusus.

## Prasyarat
<a name="cloudshell-prerequisites"></a>

Sebelum menggunakan Amazon Keyspaces dengan AWS CloudShell, pastikan Anda memiliki:
+  AWS Akun dengan akses ke Amazon Keyspaces dan AWS CloudShell
+ Izin IAM yang sesuai untuk menggunakan kedua layanan
+ Keakraban dasar dengan Cassandra Query Language (CQL)

## Memulai dengan AWS CloudShell
<a name="getting-started-cloudshell"></a>

Untuk mengakses AWS CloudShell:

1. Masuk ke Konsol Manajemen AWS

1. Luncurkan AWS CloudShell dengan memilih AWS CloudShell ikon di bilah navigasi di bagian atas konsol, atau dengan menavigasi ke [https://console.aws.amazon.com/cloudshell/](https://console.aws.amazon.com/cloudshell/)

1. Tunggu AWS CloudShell lingkungan untuk diinisialisasi

## Memperoleh izin IAM untuk AWS CloudShell
<a name="cloudshell-permissions"></a>

Dengan menggunakan sumber daya manajemen akses yang disediakan oleh AWS Identity and Access Management, administrator dapat memberikan izin kepada pengguna IAM sehingga mereka dapat mengakses AWS CloudShell dan menggunakan fitur lingkungan.

Cara tercepat bagi administrator untuk memberikan akses ke pengguna adalah melalui kebijakan AWS terkelola. [Kebijakan AWS terkelola](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) adalah kebijakan mandiri yang dibuat dan dikelola oleh AWS. Kebijakan AWS terkelola berikut ini CloudShell dapat dilampirkan ke identitas IAM:
+ `AWSCloudShellFullAccess`: Memberikan izin untuk menggunakan AWS CloudShell dengan akses penuh ke semua fitur.

Jika ingin membatasi cakupan tindakan yang dapat dilakukan oleh pengguna IAM AWS CloudShell, Anda dapat membuat kebijakan kustom yang menggunakan kebijakan `AWSCloudShellFullAccess` terkelola sebagai templat. Untuk informasi selengkapnya tentang membatasi tindakan yang tersedia bagi pengguna CloudShell, lihat [Mengelola AWS CloudShell akses dan penggunaan dengan kebijakan IAM](https://docs.aws.amazon.com/cloudshell/latest/userguide/sec-auth-with-identities.html) di *Panduan AWS CloudShell Pengguna*.

**catatan**  
Identitas IAM Anda juga memerlukan kebijakan yang memberikan izin untuk melakukan panggilan ke Amazon Keyspaces.

Anda dapat menggunakan kebijakan AWS terkelola untuk memberikan akses identitas IAM ke Amazon Keyspaces, atau mulai dengan kebijakan terkelola sebagai templat dan menghapus izin yang tidak Anda perlukan. Anda juga dapat membatasi akses ke ruang kunci dan tabel tertentu untuk membuat kebijakan khusus. Kebijakan terkelola berikut untuk Amazon Keyspaces dapat dilampirkan ke identitas IAM:
+ [AmazonKeyspacesFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonKeyspacesFullAccess.html)— Kebijakan ini memberikan izin untuk menggunakan Amazon Keyspaces dengan akses penuh ke semua fitur.

Untuk penjelasan rinci tentang tindakan yang didefinisikan dalam kebijakan terkelola, lihat[AWS kebijakan terkelola untuk Amazon Keyspaces](security-iam-awsmanpol.md).

 Untuk informasi selengkapnya tentang cara membatasi tindakan atau membatasi akses ke sumber daya tertentu di Amazon Keyspaces, lihat. [Cara Amazon Keyspaces bekerja dengan IAM](security_iam_service-with-iam.md)

## Menginstal klien cqlsh
<a name="installing-cqlsh-client"></a>

AWS CloudShell tidak datang dengan `cqlsh` pra-instal. Anda perlu menginstalnya untuk berinteraksi dengan Amazon Keyspaces. Anda dapat menginstal versi khusus Amazon KeySpaces dari. `cqlsh` Untuk petunjuk `cqlsh-expansion` penginstalan, lihat[Menggunakan untuk terhubung `cqlsh-expansion` ke Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh).

## Mengkonfigurasi sertifikat TLS
<a name="configuring-ssl-certificates"></a>

Untuk terhubung ke Amazon Keyspaces menggunakan koneksi TLS, Anda perlu mengunduh sertifikat digital Amazon yang diperlukan. Untuk petunjuk terperinci tentang mengunduh dan mengonfigurasi sertifikat SSL, lihat. [Cara mengkonfigurasi `cqlsh` koneksi secara manual untuk TLS](programmatic.cqlsh.md#encrypt_using_tls)

## Menghubungkan ke Amazon Keyspaces
<a name="connecting-to-keyspaces"></a>

Anda dapat terhubung ke Amazon Keyspaces menggunakan kredensyal IAM (disarankan) atau kredensyal khusus layanan.

### Menghubungkan dengan kredensyal IAM (disarankan)
<a name="connecting-iam-credentials"></a>

AWS CloudShell sudah diautentikasi dengan kredensyal IAM Anda. Untuk terhubung menggunakan kredensyal ini, Anda dapat menggunakan plugin otentikasi SiGv4. Untuk petunjuk terperinci tentang penggunaan kredensyal IAM dengan`cqlsh`, lihat. [Menggunakan untuk terhubung `cqlsh-expansion` ke Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh)

### Menghubungkan dengan kredensyal khusus layanan
<a name="connecting-service-specific-credentials"></a>

Jika Anda telah membuat kredensyal khusus layanan untuk Amazon Keyspaces, Anda dapat menggunakannya untuk terhubung. Untuk informasi tentang membuat dan menggunakan kredensyal khusus layanan, lihat. [Buat kredensil khusus layanan untuk akses terprogram ke Amazon Keyspaces](programmatic.credentials.ssc.md)

## Menggunakan CQLSH dengan Amazon Keyspaces
<a name="using-cqlsh-keyspaces"></a>

Saat terhubung, Anda dapat menggunakan perintah CQL standar untuk berinteraksi dengan ruang kunci dan tabel Anda. Untuk informasi rinci tentang perintah dan operasi CQL yang didukung, lihat. [Menggunakan untuk terhubung `cqlsh-expansion` ke Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh)

## Data yang bertahan di AWS CloudShell
<a name="persisting-data-cloudshell"></a>

AWS CloudShell menyediakan 1 GB penyimpanan persisten di direktori home Anda. Ini berarti skrip, sertifikat, dan file konfigurasi yang Anda buat tetap tersedia di seluruh sesi. Anda dapat membuat file konfigurasi `cqlsh` untuk menyederhanakan koneksi.

Dengan file konfigurasi, Anda dapat menjalankan `cqlsh` tanpa menentukan parameter tambahan. Untuk informasi selengkapnya tentang membuat dan menggunakan file `cqlsh` konfigurasi, lihat[Menggunakan untuk terhubung `cqlsh-expansion` ke Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh).

## Praktik terbaik
<a name="best-practices-cloudshell"></a>

Saat menggunakan Amazon Keyspaces with AWS CloudShell, kami merekomendasikan praktik terbaik berikut:
+ Buat skrip untuk tugas berulang dan simpan di direktori home persisten Anda.
+ Gunakan variabel lingkungan untuk informasi sensitif daripada hardcoding mereka.
+ Ingatlah bahwa AWS CloudShell sesi mungkin habis setelah tidak aktif.
+ Berhati-hatilah dengan kuota dan batasan AWS CloudShell layanan.
+ Pertimbangkan untuk menggunakan AWS CLI untuk operasi otomatis dengan Amazon Keyspaces.

## Pemecahan masalah
<a name="troubleshooting-cloudshell"></a>

Jika Anda mengalami masalah saat menyambungkan ke Amazon Keyspaces dari: AWS CloudShell
+ Verifikasi izin IAM Anda mencakup tindakan Amazon Keyspaces yang diperlukan.
+ Pastikan Anda menggunakan titik akhir yang benar untuk Wilayah Anda.
+ Periksa apakah sertifikat SSL diunduh dan direferensikan dengan benar.
+ Verifikasi bahwa kredensyal khusus layanan Anda benar dan tidak kedaluwarsa.
+ Jika menggunakan file cqlshrc, periksa format dan izinnya.

## Contoh: Cara berinteraksi dengan Amazon Keyspaces menggunakan AWS CloudShell
<a name="cshell-examples"></a>

Setelah Anda meluncurkan AWS CloudShell dari Konsol Manajemen AWS, Anda dapat segera mulai berinteraksi dengan Amazon Keyspaces menggunakan `cqlsh` atau antarmuka baris perintah. Jika Anda belum menginstal`cqlsh-expansion`, lihat [Menggunakan untuk terhubung `cqlsh-expansion` ke Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh) langkah-langkah rinci.

**catatan**  
Saat menggunakan `cqlsh-expansion` in AWS CloudShell, Anda tidak perlu mengonfigurasi kredensyal sebelum melakukan panggilan, karena Anda sudah diautentikasi di dalam shell.

**Connect ke Amazon Keyspaces dan buat keyspace baru. Kemudian baca dari tabel sistem untuk mengonfirmasi bahwa ruang kunci dibuat menggunakan AWS CloudShell**

1. Dari Konsol Manajemen AWS, Anda dapat meluncurkan CloudShell dengan memilih opsi berikut yang tersedia di bilah navigasi:
   +  Pilih CloudShell ikonnya. 
   + Mulai mengetik `cloudshell` di kotak pencarian dan kemudian pilih CloudShell opsi.

1. Anda dapat membuat koneksi ke Amazon Keyspaces menggunakan perintah berikut. Pastikan untuk mengganti `cassandra.us-east-1.amazonaws.com` dengan titik akhir yang benar untuk Wilayah Anda.

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

   Jika koneksi berhasil, Anda akan melihat output yang mirip dengan contoh berikut.

   ```
   Connected to Amazon Keyspaces at cassandra.us-east-1.amazonaws.com:9142
   [cqlsh 6.1.0 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4]
   Use HELP for help.
   cqlsh current consistency level is ONE.
   cqlsh>
   ```

1. Buat keyspace baru dengan nama`mykeyspace`. Anda dapat menggunakan perintah berikut untuk melakukan itu.

   ```
   CREATE KEYSPACE mykeyspace WITH REPLICATION = {'class': 'SingleRegionStrategy'};
   ```

1. Untuk mengonfirmasi bahwa ruang kunci telah dibuat, Anda dapat membaca dari tabel sistem menggunakan perintah berikut.

   ```
   SELECT * FROM system_schema_mcs.keyspaces WHERE keyspace_name = 'mykeyspace';
   ```

   Jika panggilan berhasil, baris perintah menampilkan respons dari layanan yang mirip dengan output berikut:

   ```
    keyspace_name  | durable_writes | replication
   ----------------+----------------+-------------------------------------------------------------------------------------
    mykeyspace     |           True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
   
   (1 rows)
   ```

# Buat kredensi untuk akses terprogram ke Amazon Keyspaces
<a name="programmatic.credentials"></a>

Untuk memberikan kredensi kepada pengguna dan aplikasi untuk akses terprogram ke sumber daya Amazon Keyspaces, Anda dapat melakukan salah satu hal berikut:
+ Buat kredensi khusus layanan yang mirip dengan nama pengguna dan kata sandi tradisional yang digunakan Cassandra untuk otentikasi dan manajemen akses. AWS Kredensi khusus layanan dikaitkan dengan pengguna tertentu AWS Identity and Access Management (IAM) dan hanya dapat digunakan untuk layanan yang mereka buat. Untuk informasi selengkapnya, lihat [Menggunakan IAM dengan Amazon Keyspaces (untuk Apache Cassandra](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_keyspaces.html)) di Panduan Pengguna IAM.
**Awas**  
Pengguna IAM memiliki kredensi jangka panjang, yang menghadirkan risiko keamanan. Untuk membantu mengurangi risiko ini, kami menyarankan agar Anda memberikan pengguna ini hanya izin yang mereka perlukan untuk melakukan tugas dan menghapus pengguna ini ketika mereka tidak lagi diperlukan.
+ Untuk keamanan yang ditingkatkan, kami sarankan untuk membuat identitas IAM yang digunakan di semua AWS layanan dan menggunakan kredensil sementara. Plugin otentikasi Amazon Keyspaces SigV4 untuk driver klien Cassandra memungkinkan Anda untuk mengautentikasi panggilan ke Amazon Keyspaces menggunakan kunci akses IAM alih-alih nama pengguna dan kata sandi. [Untuk mempelajari lebih lanjut tentang cara plugin Amazon Keyspaces SigV4 memungkinkan [pengguna IAM, peran, dan identitas gabungan untuk mengautentikasi dalam permintaan API Amazon Keyspaces,](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) lihat Proses Sigv4 Versi Tanda Tangan 4 (SigV4).AWS](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) 

  Anda dapat mengunduh plugin SiGv4 dari lokasi berikut.
  + Jawa:[https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin).
  + Node.js:[https://github.com/aws/aws-sigv4-auth-cassandra-nodejs-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-nodejs-driver-plugin).
  + Python: [https://github.com/aws/aws-sigv4-auth-cassandra-python-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-python-driver-plugin).
  + Pergi:[https://github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin).

  Untuk contoh kode yang menunjukkan cara membuat koneksi menggunakan plugin otentikasi SiGv4, lihat. [Menggunakan driver klien Cassandra untuk mengakses Amazon Keyspaces secara terprogram](programmatic.drivers.md)

**Topics**
+ [Buat kredensil khusus layanan](programmatic.credentials.ssc.md)
+ [Buat kredensi IAM untuk otentikasi AWS](access.credentials.md)

# Buat kredensil khusus layanan untuk akses terprogram ke Amazon Keyspaces
<a name="programmatic.credentials.ssc"></a>

Kredensi khusus layanan mirip dengan nama pengguna dan kata sandi tradisional yang digunakan Cassandra untuk otentikasi dan manajemen akses. Kredensi khusus layanan memungkinkan pengguna IAM untuk mengakses layanan tertentu. AWS Kredensi jangka panjang ini tidak dapat digunakan untuk mengakses layanan lain AWS . Mereka terkait dengan pengguna IAM tertentu dan tidak dapat digunakan oleh pengguna IAM lainnya.

**penting**  
Kredensi khusus layanan adalah kredensil jangka panjang yang terkait dengan pengguna IAM tertentu dan hanya dapat digunakan untuk layanan yang mereka buat. Untuk memberikan peran IAM atau izin identitas gabungan untuk mengakses semua AWS sumber daya Anda menggunakan kredensi sementara, Anda harus menggunakan [AWS otentikasi dengan plugin otentikasi SiGv4 untuk Amazon Keyspaces](access.credentials.md).

Gunakan salah satu prosedur berikut untuk menghasilkan kredensil khusus layanan.

------
#### [ Console ]

**Buat kredensil khusus layanan menggunakan konsol**

1. Masuk ke Konsol Manajemen AWS dan buka AWS Identity and Access Management konsol di[https://console.aws.amazon.com/iam/home](https://console.aws.amazon.com/iam/home).

1. Di panel navigasi, pilih **Pengguna, lalu pilih pengguna** yang Anda buat sebelumnya yang memiliki izin Amazon Keyspaces (kebijakan terlampir). 

1. Pilih **Kredensial Keamanan**. Di bawah **Kredensial untuk Amazon Keyspaces**, pilih **Hasilkan kredensil untuk menghasilkan kredensil khusus layanan.**

   Kredensial layanan khusus Anda sekarang tersedia. Ini adalah satu-satunya saat Anda dapat mengunduh atau melihat kata sandi. Anda tidak dapat memulihkannya nanti. Namun, Anda dapat mengatur ulang kata sandi Anda kapan saja. Simpan pengguna dan kata sandi di lokasi aman, karena Anda akan membutuhkannya nanti.

------
#### [ CLI ]

**Buat kredensi khusus layanan menggunakan AWS CLI**

 Sebelum membuat kredensil khusus layanan, Anda perlu mengunduh, menginstal, dan mengonfigurasi (): AWS Command Line Interface AWS CLI

1. Unduh AWS CLI di [http://aws.amazon.com/cli](https://aws.amazon.com/cli). 
**catatan**  
 AWS CLI Berjalan di Windows, macOS, atau Linux. 

1. *Ikuti petunjuk untuk [Menginstal AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) dan [Mengkonfigurasi AWS CLI di](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) Panduan Pengguna.AWS Command Line Interface *

1. Dengan menggunakan AWS CLI, jalankan perintah berikut untuk menghasilkan kredensil khusus layanan bagi pengguna`alice`, sehingga dia dapat mengakses Amazon Keyspaces.

   ```
   aws iam create-service-specific-credential \
       --user-name alice \
       --service-name cassandra.amazonaws.com
   ```

Output-nya akan terlihat seperti berikut.

```
{
    "ServiceSpecificCredential": {
        "CreateDate": "2019-10-09T16:12:04Z",
        "ServiceName": "cassandra.amazonaws.com",
        "ServiceUserName": "alice-at-111122223333",
        "ServicePassword": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
        "ServiceSpecificCredentialId": "ACCAYFI33SINPGJEBYESF",
        "UserName": "alice",
        "Status": "Active"
    }
}
```

Dalam output, perhatikan nilai untuk `ServiceUserName` dan`ServicePassword`. Simpan nilai-nilai ini di lokasi yang aman, karena Anda akan membutuhkannya nanti.

**penting**  
Ini adalah satu-satunya waktu yang `ServicePassword` akan tersedia untuk Anda.

------

# Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces
<a name="access.credentials"></a>

Untuk mengakses Amazon Keyspaces secara terprogram dengan, AWS SDK AWS CLI, atau dengan driver klien Cassandra dan plugin SiGv4, Anda memerlukan pengguna IAM dengan kunci akses. Saat Anda menggunakan Amazon Keyspaces secara terprogram, Anda memberikan kunci AWS akses sehingga AWS dapat memverifikasi identitas Anda dalam panggilan terprogram. Kunci akses Anda terdiri dari ID kunci akses (misalnya, AKIAIOSFODNN7 CONTOH) dan kunci akses rahasia (misalnya,wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). Topik ini memandu Anda melalui langkah-langkah yang diperlukan dalam proses ini. 

Praktik terbaik keamanan menyarankan Anda membuat pengguna IAM dengan izin terbatas dan sebagai gantinya mengaitkan peran IAM dengan izin yang diperlukan untuk melakukan tugas tertentu. Pengguna IAM kemudian dapat sementara mengambil peran IAM untuk melakukan tugas yang diperlukan. Misalnya, pengguna IAM di akun Anda yang menggunakan konsol Amazon Keyspaces dapat beralih ke peran untuk sementara menggunakan izin peran di konsol. Pengguna menyerahkan izin mereka dan mengambil izin yang ditetapkan untuk peran tersebut. Saat pengguna keluar dari peran, izin asli mereka dipulihkan. Kredensi yang digunakan pengguna untuk mengambil peran bersifat sementara. Sebaliknya, pengguna IAM memiliki kredensi jangka panjang, yang menghadirkan risiko keamanan jika alih-alih mengasumsikan peran, mereka memiliki izin yang langsung diberikan kepada mereka. Untuk membantu mengurangi risiko ini, kami menyarankan agar Anda memberikan pengguna ini hanya izin yang mereka perlukan untuk melakukan tugas dan menghapus pengguna ini ketika mereka tidak lagi diperlukan. Untuk informasi selengkapnya tentang peran, lihat [Skenario umum untuk peran: Pengguna, aplikasi, dan layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios.html) di *Panduan Pengguna IAM*.

**Topics**
+ [Kredensional yang diperlukan oleh, AWS SDK AWS CLI, atau plugin Amazon Keyspaces SigV4 untuk driver klien Cassandra](SigV4_credentials.md)
+ [Buat kredensi sementara untuk terhubung ke Amazon Keyspaces menggunakan peran IAM dan plugin SiGv4](temporary.credentials.IAM.md)
+ [Buat pengguna IAM untuk akses terprogram ke Amazon Keyspaces di akun Anda AWS](access.credentials.IAM.md)
+ [Buat kunci akses baru untuk pengguna IAM](create.keypair.md)
+ [Simpan kunci akses untuk akses terprogram](aws.credentials.manage.md)

# Kredensional yang diperlukan oleh, AWS SDK AWS CLI, atau plugin Amazon Keyspaces SigV4 untuk driver klien Cassandra
<a name="SigV4_credentials"></a>

Kredensi berikut diperlukan untuk mengautentikasi pengguna atau peran IAM:

`AWS_ACCESS_KEY_ID`  
Menentukan kunci AWS akses yang terkait dengan pengguna IAM atau peran.  
Kunci akses `aws_access_key_id` diperlukan untuk terhubung ke Amazon Keyspaces secara terprogram.

`AWS_SECRET_ACCESS_KEY`  
Menentukan kunci rahasia yang terkait dengan kunci akses. Ini pada dasarnya adalah “kata sandi” untuk kunci akses.  
`aws_secret_access_key`Diperlukan untuk terhubung ke Amazon Keyspaces secara terprogram. 

`AWS_SESSION_TOKEN`- Opsional  
Menentukan nilai token sesi yang diperlukan jika Anda menggunakan kredensil keamanan sementara yang Anda ambil langsung dari operasi. AWS Security Token Service Untuk informasi selengkapnya, lihat [Buat kredensi sementara untuk terhubung ke Amazon Keyspaces menggunakan peran IAM dan plugin SiGv4](temporary.credentials.IAM.md).  
Jika Anda terhubung dengan pengguna IAM, tidak `aws_session_token` diperlukan.

# Buat kredensi sementara untuk terhubung ke Amazon Keyspaces menggunakan peran IAM dan plugin SiGv4
<a name="temporary.credentials.IAM"></a>

Cara yang disarankan untuk mengakses Amazon Keyspaces secara terprogram adalah dengan menggunakan [kredensi sementara untuk mengautentikasi](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) dengan plugin SiGv4. Dalam banyak skenario, Anda tidak memerlukan access key jangka panjang yang tidak pernah kedaluwarsa (seperti yang Anda lakukan dengan pengguna IAM). Sebagai gantinya, Anda dapat membuat peran IAM dan menghasilkan kredenal keamanan sementara. Kredensial keamanan sementara terdiri dari access key ID dan secret access key, tetapi mereka juga menyertakan token keamanan yang menunjukkan kapan kredensial kedaluwarsa. Untuk mempelajari lebih lanjut tentang cara menggunakan peran IAM alih-alih kunci akses jangka panjang, lihat [Beralih ke peran IAM (AWS API)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-api.html).

Untuk memulai dengan kredensi sementara, Anda harus terlebih dahulu membuat peran IAM.

**Buat peran IAM yang memberikan akses hanya-baca ke Amazon Keyspaces**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**, lalu **Buat peran**.

1. Pada halaman **Buat peran**, di bawah **Pilih jenis entitas tepercaya**, pilih **AWS layanan**. **Di bawah **Pilih kasus penggunaan**, pilih **Amazon EC2**, lalu pilih Berikutnya.**

1. **Pada halaman **Tambahkan izin**, di bawah **Kebijakan izin, pilih** Amazon **Keyspaces Baca Hanya Akses** dari daftar kebijakan, lalu pilih Berikutnya.**

1. Pada halaman **Nama, tinjau, dan buat**, masukkan nama untuk peran tersebut, dan tinjau bagian **Pilih entitas tepercaya** dan **Tambahkan izin**. Anda juga dapat menambahkan tag opsional untuk peran di halaman ini. Setelah selesai, pilih **Buat peran**. Ingat nama ini karena Anda akan membutuhkannya saat meluncurkan instans Amazon EC2 Anda.

Untuk menggunakan kredensi keamanan sementara dalam kode, Anda secara terprogram memanggil AWS Security Token Service API seperti `AssumeRole` dan mengekstrak kredenal dan token sesi yang dihasilkan dari peran IAM yang Anda buat pada langkah sebelumnya. Anda kemudian menggunakan nilai-nilai tersebut sebagai kredensional untuk panggilan berikutnya ke. AWS Contoh berikut menunjukkan pseudocode untuk cara menggunakan kredenal keamanan sementara:

```
assumeRoleResult = AssumeRole(role-arn);
tempCredentials = new SessionAWSCredentials(
   assumeRoleResult.AccessKeyId, 
   assumeRoleResult.SecretAccessKey, 
   assumeRoleResult.SessionToken);
cassandraRequest = CreateAmazoncassandraClient(tempCredentials);
```

Untuk contoh yang mengimplementasikan kredensi sementara menggunakan driver Python untuk mengakses Amazon Keyspaces, lihat. [Connect ke Amazon Keyspaces menggunakan driver DataStax Python untuk Apache Cassandra dan plugin otentikasi SiGv4](using_python_driver.md#python_SigV4)

Untuk detail tentang cara memanggil `AssumeRole``GetFederationToken`, dan operasi API lainnya, lihat [Referensi AWS Security Token Service API](https://docs.aws.amazon.com/STS/latest/APIReference/). Untuk informasi tentang mendapatkan kredensial keamanan sementara dan token sesi dari hasilnya, lihat dokumentasi untuk SDK yang sedang Anda kerjakan. Anda dapat menemukan dokumentasi untuk semua AWS SDKs pada [halaman AWS dokumentasi](https://aws.amazon.com/documentation) utama, di bagian **SDKs dan Toolkit**.

# Buat pengguna IAM untuk akses terprogram ke Amazon Keyspaces di akun Anda AWS
<a name="access.credentials.IAM"></a>

Untuk mendapatkan kredensil akses terprogram ke Amazon Keyspaces dengan plugin, AWS SDK AWS CLI, atau SiGv4, Anda harus terlebih dahulu membuat pengguna atau peran IAM. Proses membuat pengguna IAM dan mengonfigurasi pengguna IAM agar memiliki akses terprogram ke Amazon Keyspaces ditampilkan dalam langkah-langkah berikut:

1. Buat pengguna di Konsol Manajemen AWS AWS CLI, Alat untuk Windows PowerShell, atau menggunakan operasi AWS API. Jika Anda membuat pengguna di Konsol Manajemen AWS, maka kredensialnya dibuat secara otomatis. 

1. Jika Anda membuat pengguna secara terprogram, maka Anda harus membuat kunci akses (ID kunci akses dan kunci akses rahasia) untuk pengguna tersebut dalam langkah tambahan.

1. Berikan izin pengguna untuk mengakses Amazon Keyspaces. 

Untuk informasi tentang izin yang Anda perlukan untuk membuat pengguna IAM, lihat [Izin yang diperlukan untuk mengakses sumber](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_permissions-required.html) daya IAM. 

------
#### [ Console ]

**Buat pengguna IAM dengan akses terprogram (konsol)**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Pengguna**, lalu pilih **Tambahkan pengguna**.

1. Masukkan nama pengguna untuk pengguna baru. Ini adalah nama masuk untuk AWS. 
**catatan**  
Nama pengguna dapat berupa kombinasi hingga 64 huruf, digit, dan karakter ini: plus (\$1), sama dengan (=), koma (,), titik (.), pada a keong (@), garis bawah (\$1), dan tanda hubung (-). Nama harus unik dalam akun. Grup tidak dibedakan berdasarkan huruf besar-kecil. Misalnya, Anda tidak dapat membuat dua pengguna yang diberi nama *TESTUSER* dan *testuser*.

1. Pilih **Kunci akses - Akses terprogram** untuk membuat kunci akses untuk pengguna baru. Anda dapat melihat atau mengunduh tombol akses ketika Anda sampai ke halaman **Final**.

   Pilih **Berikutnya: Izin**.

1. Pada halaman **Setel izin**, pilih **Lampirkan kebijakan yang ada secara langsung** untuk menetapkan izin ke pengguna baru.

   Opsi ini menampilkan daftar kebijakan AWS terkelola dan terkelola pelanggan yang tersedia di akun Anda. Anda dapat masuk `keyspaces` ke kolom pencarian untuk hanya menampilkan kebijakan yang terkait dengan Amazon Keyspaces.

   Untuk Amazon Keyspaces, kebijakan terkelola yang tersedia adalah `AmazonKeyspacesFullAccess` dan. `AmazonKeyspacesReadOnlyAccess` Untuk informasi selengkapnya tentang setiap kebijakan, lihat[AWS kebijakan terkelola untuk Amazon Keyspaces](security-iam-awsmanpol.md). 

   Untuk tujuan pengujian dan untuk mengikuti tutorial koneksi, pilih `AmazonKeyspacesReadOnlyAccess` kebijakan untuk pengguna IAM baru. **Catatan:** Sebagai praktik terbaik, kami menyarankan Anda mengikuti prinsip hak istimewa paling sedikit dan membuat kebijakan khusus yang membatasi akses ke sumber daya tertentu dan hanya mengizinkan tindakan yang diperlukan. Untuk informasi selengkapnya tentang kebijakan IAM dan untuk melihat contoh kebijakan untuk Amazon Keyspaces, lihat. [Kebijakan berbasis identitas Amazon Keyspaces](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies) Setelah Anda membuat kebijakan izin khusus, lampirkan kebijakan Anda ke peran, lalu biarkan pengguna mengambil peran yang sesuai untuk sementara.

   Pilih **Berikutnya: Tanda**.

1. Pada halaman **Tambahkan tag (opsional)** Anda dapat menambahkan tag untuk pengguna, atau memilih **Berikutnya: Tinjau**. 

1. Pada halaman **Review** Anda dapat melihat semua pilihan yang Anda buat sampai saat ini. Saat Anda siap untuk melanjutkan, pilih **Buat pengguna**.

1. Untuk melihat kunci akses pengguna (kunci akses IDs dan kunci akses rahasia), pilih **Tampilkan** di sebelah kata sandi dan kunci akses. Untuk menyimpan kunci akses tersebut, pilih **Download .csv** (Unduh .csv) lalu simpan file ke lokasi yang aman. 
**penting**  
Ini adalah satu-satunya kesempatan Anda untuk melihat atau mengunduh kunci akses rahasia, dan Anda memerlukan informasi ini sebelum mereka dapat menggunakan plugin SiGv4. Simpan access key ID baru pengguna dan secret access key di tempat yang aman dan terlindungi. Anda tidak akan memiliki akses ke kunci rahasia kembali setelah langkah ini.

------
#### [ CLI ]

**Buat pengguna IAM dengan akses terprogram ()AWS CLI**

1. Buat pengguna dengan AWS CLI kode berikut.
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html)

1. Berikan akses terprogram kepada pengguna. Ini membutuhkan kunci akses, yang dapat dihasilkan dengan cara berikut. 
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html)
   + Tools for Windows PowerShell: [https://docs.aws.amazon.com/powershell/latest/reference/items/New-IAMAccessKey.html](https://docs.aws.amazon.com/powershell/latest/reference/items/New-IAMAccessKey.html)
   + API IAM: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html)
**penting**  
Ini adalah satu-satunya kesempatan Anda untuk melihat atau mengunduh kunci akses rahasia, dan Anda memerlukan informasi ini sebelum mereka dapat menggunakan plugin SiGv4. Simpan access key ID baru pengguna dan secret access key di tempat yang aman dan terlindungi. Anda tidak akan memiliki akses ke kunci rahasia kembali setelah langkah ini.

1. Lampirkan `AmazonKeyspacesReadOnlyAccess` kebijakan ke pengguna yang menentukan izin pengguna. **Catatan:** Sebagai praktik terbaik, sebaiknya Anda mengelola izin pengguna dengan menambahkan pengguna ke grup dan melampirkan kebijakan ke grup, bukan melampirkan langsung ke pengguna.
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/attach-user-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-user-policy.html)

------

# Buat kunci akses baru untuk pengguna IAM
<a name="create.keypair"></a>

Jika Anda sudah memiliki pengguna IAM, Anda dapat membuat kunci akses baru kapan saja. Untuk informasi selengkapnya tentang manajemen kunci, misalnya cara memperbarui kunci akses, lihat [Mengelola kunci akses untuk pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html). 

**Untuk membuat kunci akses untuk pengguna IAM (konsol)**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Users** (Pengguna).

1. Pilih nama pengguna yang kunci aksesnya ingin Anda buat.

1. Pada halaman **Ringkasan** pengguna, pilih tab **Security credentials.**

1. Di bagian **Kunci akses** **di bawah Praktik & alternatif terbaik kunci akses**, pilih kasus penggunaan **Lainnya**. Klik **Berikutnya**, masukkan informasi opsional sesuai kebutuhan, dan pilih **Buat kunci akses**.

   Untuk melihat pasangan access key baru, pilih **Show** (Tampilkan). Kredensial Anda akan terlihat seperti ini:
   + ID kunci akses: AKIAIOSFODNN7 CONTOH
   + Secret access key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
**catatan**  
Anda tidak akan memiliki akses ke secret access key lagi setelah menutup kotak dialog ini.

   Pertimbangkan praktik terbaik berikut untuk key pair yang telah Anda buat.
   + Jangan pernah menyimpan kunci akses Anda dalam teks biasa, dalam repositori kode, atau dalam kode.
   + Nonaktifkan atau hapus kunci akses saat tidak lagi diperlukan.
   + Aktifkan izin hak istimewa paling sedikit.
   + Putar tombol akses secara teratur.

1. Untuk mengunduh pasangan kunci tersebut, pilih **Unduh file .csv**. Simpan kunci di lokasi yang aman.

1. Setelah mengunduh file .csv, pilih **Tutup**.

Saat Anda membuat access key, key pair akan aktif secara default, dan Anda dapat langsung menggunakan pasangan tersebut.

# Simpan kunci akses untuk akses terprogram
<a name="aws.credentials.manage"></a>

Sebagai praktik terbaik, kami menyarankan Anda untuk tidak menyematkan kunci akses langsung ke kode. Alat AWS SDKs dan Baris AWS Perintah memungkinkan Anda untuk menempatkan kunci akses di lokasi yang diketahui sehingga Anda tidak harus menyimpannya dalam kode. Letakkan access key di salah satu lokasi berikut:
+ **Variabel lingkungan** — Pada sistem multitenant, pilih variabel lingkungan pengguna, bukan variabel lingkungan sistem.
+ File **kredensial CLI — `config` File** `credentials` dan diperbarui saat Anda menjalankan perintah. `aws configure` `credentials`File ini terletak `~/.aws/credentials` di Linux, macOS, atau Unix, atau di `C:\Users\USERNAME\.aws\credentials` Windows. File ini dapat berisi detail kredensi untuk `default` profil dan profil bernama apa pun.
+ **File konfigurasi CLI — `config` File** `credentials` dan diperbarui saat Anda menjalankan perintah. `aws configure` `config`File ini terletak `~/.aws/config` di Linux, macOS, atau Unix, atau di `C:\Users\USERNAME\.aws\config` Windows. File ini berisi pengaturan konfigurasi untuk profil default dan profil bernama apa pun.

Menyimpan kunci akses sebagai variabel lingkungan merupakan prasyarat untuk file. [Step-by-step tutorial untuk terhubung ke Amazon Keyspaces menggunakan driver DataStax Java 4.x untuk Apache Cassandra dan plugin otentikasi SiGv4](using_java_driver.md#java_tutorial.SigV4) Perhatikan bahwa ini termasuk default Wilayah AWS. Klien mencari kredensi menggunakan rantai penyedia kredensial default, dan kunci akses yang disimpan sebagai variabel lingkungan lebih diutamakan daripada semua lokasi lain, misalnya file konfigurasi. Untuk informasi selengkapnya, lihat [Pengaturan konfigurasi dan prioritas](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-precedence).

Contoh berikut menunjukkan bagaimana Anda dapat mengkonfigurasi variabel lingkungan untuk pengguna default.

------
#### [ Linux, macOS, or Unix ]

```
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$ export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of security token>
$ export AWS_DEFAULT_REGION=us-east-1
```

Menyetel variabel lingkungan mengubah nilai yang digunakan hingga akhir sesi shell Anda, atau sampai Anda menyetel variabel ke nilai yang berbeda. Anda dapat membuat variabel persisten di seluruh sesi masa depan dengan menyetelnya di skrip startup shell Anda.

------
#### [ Windows Command Prompt ]

```
C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE
C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
C:\> setx AWS_SESSION_TOKEN AQoDYXdzEJr...<remainder of security token>
C:\> setx AWS_DEFAULT_REGION us-east-1
```

Menggunakan `[set](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` untuk mengatur variabel lingkungan mengubah nilai yang digunakan sampai akhir sesi prompt perintah saat ini, atau sampai Anda mengatur variabel ke nilai yang berbeda. Menggunakan [https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx)untuk mengatur variabel lingkungan mengubah nilai yang digunakan dalam sesi prompt perintah saat ini dan semua sesi prompt perintah yang Anda buat setelah menjalankan perintah. Itu ***tidak*** mempengaruhi shell perintah lain yang sudah berjalan pada saat Anda menjalankan perintah.

------
#### [ PowerShell ]

```
PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"
PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
PS C:\> $Env:AWS_SESSION_TOKEN="AQoDYXdzEJr...<remainder of security token>"
PS C:\> $Env:AWS_DEFAULT_REGION="us-east-1"
```

Jika Anda menetapkan variabel lingkungan pada PowerShell prompt seperti yang ditunjukkan pada contoh sebelumnya, itu menyimpan nilai hanya untuk durasi sesi saat ini. Untuk membuat pengaturan variabel lingkungan persisten di semua sesi PowerShell Command Prompt, simpan dengan menggunakan aplikasi **Sistem** di **Control Panel**. Atau, Anda dapat mengatur variabel untuk semua PowerShell sesi future dengan menambahkannya ke PowerShell profil Anda. Lihat [PowerShell dokumentasi](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_environment_variables) untuk informasi selengkapnya tentang menyimpan variabel lingkungan atau mempertahankannya di seluruh sesi.

------

# Titik akhir layanan untuk Amazon Keyspaces
<a name="programmatic.endpoints"></a>

**Topics**
+ [Port dan protokol](#ports)
+ [Titik akhir global](#global_endpoints)
+ [AWS GovCloud (US) Region Titik akhir FIPS](#fips_endpoints)
+ [Titik akhir Wilayah Tiongkok](#china_endpoints)
+ [Titik akhir aliran](#streams_endpoints)
+ [Menghubungkan ke titik akhir dual-stack](dualstack_endpoints.md)

## Port dan protokol
<a name="ports"></a>

Anda dapat mengakses Amazon Keyspaces secara terprogram dengan menjalankan `cqlsh` klien, dengan driver Cassandra berlisensi Apache 2.0, atau dengan menggunakan dan SDK. AWS CLI AWS 

Tabel berikut menunjukkan port dan protokol untuk mekanisme akses yang berbeda.


| Akses Terprogram | Port | Protokol | 
| --- | --- | --- | 
| CQLSH | 9142 | TLS | 
| Pengemudi Cassandra | 9142 | TLS | 
| AWS CLI | 443 | HTTPS | 
| AWS SDK | 443 | HTTPS | 

 Untuk koneksi TLS, Amazon Keyspaces menggunakan sertifikat yang dikeluarkan di bawah Amazon Trust Services (Amazon CAs Root 1-4) untuk mengautentikasi terhadap server. Untuk informasi lebih lanjut, lihat [Cara mengkonfigurasi `cqlsh` koneksi secara manual untuk TLS](programmatic.cqlsh.md#encrypt_using_tls) atau bagian [Sebelum Anda mulai](using_java_driver.md#using_java_driver.BeforeYouBegin) dari pengemudi Anda di bagian [Menggunakan driver klien Cassandra untuk mengakses Amazon Keyspaces secara terprogram](programmatic.drivers.md) ini.

## Titik akhir global
<a name="global_endpoints"></a>

 Amazon Keyspaces mendukung keduanya IPv4 dan titik akhir IPv6 publik. Anda dapat memilih antara IPv4 titik akhir dan titik akhir dual-stack. Titik akhir menggunakan konvensi penamaan berikut, di mana Anda dapat mengganti *us-east-1* dengan yang lain yang tersedia Wilayah AWS dari tabel.
+ **IPv4 titik akhir** — `cassandra.us-east-1.amazonaws.com`
+ Titik akhir **tumpukan ganda** — `cassandra.us-east-1.api.aws`

Untuk informasi selengkapnya tentang titik akhir dual-stack dan cara mengonfigurasi koneksi, lihat. [Menghubungkan ke titik akhir dual-stack](dualstack_endpoints.md)

Amazon Keyspaces tersedia di Wilayah berikut. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/keyspaces/latest/devguide/programmatic.endpoints.html)

## AWS GovCloud (US) Region Titik akhir FIPS
<a name="fips_endpoints"></a>

Titik akhir FIPS yang tersedia di. AWS GovCloud (US) Region Amazon Keyspaces mendukung keduanya IPv4 dan titik akhir IPv6 FIPS. Anda dapat memilih antara IPv4 titik akhir dan titik akhir dual-stack. Untuk informasi selengkapnya, lihat [Amazon Keyspaces di *AWS GovCloud (US) Panduan Pengguna*](https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-keyspaces.html).

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/keyspaces/latest/devguide/programmatic.endpoints.html)

## Titik akhir Wilayah Tiongkok
<a name="china_endpoints"></a>

Amazon Keyspaces mendukung IPv4 titik akhir di Wilayah Tiongkok AWS . 

Untuk mengakses titik akhir ini, Anda harus mendaftar untuk kumpulan kredensyal akun terpisah yang unik untuk Wilayah Tiongkok. Untuk informasi selengkapnya, lihat [Pendaftaran, Akun, dan Kredensyal Tiongkok](https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html). 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/keyspaces/latest/devguide/programmatic.endpoints.html)

## Titik akhir aliran
<a name="streams_endpoints"></a>

Amazon Keyspaces CDC streams tersedia di berikut ini Wilayah AWS. Tabel ini menunjukkan endpoint layanan dual-stack yang tersedia untuk setiap Wilayah. Untuk informasi lebih lanjut tentang Amazon Keyspaces CDC streams, lihat[Cara mengakses titik akhir aliran CDC di Amazon Keyspaces](CDC_access-endpoints.md).

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/keyspaces/latest/devguide/programmatic.endpoints.html)

# Menghubungkan ke titik akhir dual-stack
<a name="dualstack_endpoints"></a>

Titik akhir global Amazon Keyspaces adalah titik akhir tumpukan ganda yang menerima dan meminta. IPv4 IPv6 

Saat menyambungkan ke Amazon Keyspaces menggunakan IPv6, layanan secara otomatis menyesuaikan respons tabel sistem agar sesuai dengan protokol koneksi Anda. Ini memastikan bahwa aplikasi Anda menerima informasi alamat jaringan yang konsisten sesuai dengan jenis koneksi mereka. Ini memberikan informasi topologi jaringan yang akurat kepada klien sambil mempertahankan kompatibilitas mundur untuk aplikasi CQL yang ada.

Amazon Keyspaces mendeteksi protokol jaringan (IPv4 atau IPv6) yang digunakan oleh koneksi klien Anda secara otomatis dan menyesuaikan respons tabel sistem yang sesuai. Deteksi ini terjadi secara transparan selama jabat tangan koneksi awal, tidak memerlukan konfigurasi tambahan dari aplikasi klien.

Amazon Keyspaces mengembalikan alamat IP berdasarkan protokol koneksi Anda. Misalnya, permintaan dari IPv4 jaringan mengembalikan respons berikut.

```
SELECT * FROM system.peers;
-- Returns IPv4 addresses in peer column
-- Example: 172.31.1.1, 172.31.1.2, etc.
```

Koneksi dari IPv6 jaringan ke titik akhir dual-stack, misalnya`cassandra.us-east-1.api.aws`, mengembalikan respons berikut.

```
SELECT * FROM system.peers;
-- Returns IPv6 addresses in peer column
-- Example: 2001:db8::1, 2001:db8::2, etc.
```

Untuk informasi selengkapnya tentang IPv6 dukungan di Amazon Keyspaces, lihat. [IPv6 dukungan di Amazon Keyspaces](ipv6-support.md)

# IPv6 dukungan di Amazon Keyspaces
<a name="ipv6-support"></a>

IPv6 dukungan di Amazon Keyspaces memungkinkan aplikasi untuk membuat koneksi menggunakan Internet Protocol versi 6, protokol internet generasi berikutnya yang menyediakan ruang alamat yang jauh lebih luas dibandingkan dengan. IPv4 Implementasinya menggunakan titik akhir dual-stack yang mendukung keduanya IPv4 dan IPv6 secara bersamaan, memastikan kompatibilitas mundur sambil mengaktifkan konektivitas yang siap di masa depan. Untuk daftar titik akhir, lihat[Titik akhir global](programmatic.endpoints.md#global_endpoints).

Amazon Keyspaces mengimplementasikan IPv6 dukungan melalui arsitektur dual-stack yang mempertahankan kompatibilitas mundur lengkap sekaligus mengaktifkan konektivitas. IPv6 

## Resolusi DNS di Amazon Keyspaces
<a name="dns-resolution"></a>

Ketika aplikasi terhubung ke titik akhir dual-stack, proses resolusi DNS mengembalikan kedua jenis alamat:

Sebuah Catatan (IPv4)  
 IPv4 Alamat tradisional untuk kompatibilitas mundur

Catatan AAAA () IPv6  
 IPv6 Alamat baru untuk konektivitas modern

Sistem operasi klien dan tumpukan jaringan secara otomatis memilih protokol yang paling tepat berdasarkan konfigurasi lokal, ketersediaan jaringan, dan preferensi sistem.

Protokol Cassandra Query Language (CQL) secara mulus mendukung IPv6 konektivitas tanpa memerlukan perubahan kode aplikasi.

Pemilihan protokol otomatis  
+ Aplikasi menentukan titik akhir dual-stack
+ Tumpukan jaringan memilih IPv4 atau IPv6 berdasarkan ketersediaan
+ Tidak ada modifikasi kode yang diperlukan untuk aplikasi CQL yang ada

Kompatibilitas driver  
+ Semua driver CQL utama mendukung secara transparan IPv6 
+ DataStax driver menangani IPv6 alamat secara asli
+ Driver sumber terbuka bekerja tanpa modifikasi

Konsistensi koneksi  
+ Tabel sistem mencerminkan protokol koneksi yang digunakan
+ IPv6 koneksi menunjukkan IPv6 alamat di `system.peers`
+ IPv4 koneksi terus menampilkan IPv4 alamat

# Menggunakan `cqlsh` untuk terhubung ke Amazon Keyspaces
<a name="programmatic.cqlsh"></a>

Untuk terhubung ke Amazon Keyspaces menggunakan`cqlsh`, Anda dapat menggunakan file. `cqlsh-expansion` Ini adalah toolkit yang berisi alat Apache Cassandra umum seperti `cqlsh` dan pembantu yang telah dikonfigurasi sebelumnya untuk Amazon Keyspaces sambil mempertahankan kompatibilitas penuh dengan Apache Cassandra. `cqlsh-expansion`Ini mengintegrasikan plugin otentikasi SiGv4 dan memungkinkan Anda untuk terhubung menggunakan kunci akses IAM alih-alih nama pengguna dan kata sandi. Anda hanya perlu menginstal `cqlsh` skrip untuk membuat koneksi dan bukan distribusi Apache Cassandra penuh, karena Amazon Keyspaces tanpa server. Paket instalasi ringan ini mencakup `cqlsh-expansion` dan `cqlsh` skrip klasik yang dapat Anda instal di platform apa pun yang mendukung Python.

**catatan**  
`Murmur3Partitioner`adalah partisi yang direkomendasikan untuk Amazon Keyspaces dan. `cqlsh-expansion` `cqlsh-expansion`Itu tidak mendukung Amazon Keyspaces`DefaultPartitioner`. Untuk informasi selengkapnya, lihat [Bekerja dengan partisi di Amazon Keyspaces](working-with-partitioners.md).

Untuk informasi umum tentang`cqlsh`, lihat [`cqlsh`: shell CQL](https://cassandra.apache.org/doc/latest/cassandra/managing/tools/cqlsh.html).

**Topics**
+ [Menggunakan untuk terhubung `cqlsh-expansion` ke Amazon Keyspaces](#using_cqlsh)
+ [Cara mengkonfigurasi `cqlsh` koneksi secara manual untuk TLS](#encrypt_using_tls)

## Menggunakan untuk terhubung `cqlsh-expansion` ke Amazon Keyspaces
<a name="using_cqlsh"></a>

**Menginstal dan mengkonfigurasi `cqlsh-expansion`**

1. Untuk menginstal paket `cqlsh-expansion` Python, Anda dapat menjalankan perintah. `pip` Ini menginstal `cqlsh-expansion` skrip pada mesin Anda menggunakan *pip install* bersama dengan file yang berisi daftar dependensi. `--user flag`Memberitahu `pip` untuk menggunakan direktori instalasi pengguna Python untuk platform Anda. Pada sistem berbasis Unix, itu harus menjadi `~/.local/` direktori.

   Anda memerlukan Python 3 untuk menginstal`cqlsh-expansion`, untuk mengetahui versi Python Anda, gunakan. `Python --version` Untuk menginstal, Anda dapat menjalankan perintah berikut.

   ```
   python3 -m pip install --user cqlsh-expansion
   ```

   Outputnya akan terlihat mirip dengan ini.

   ```
   Collecting cqlsh-expansion
     Downloading cqlsh_expansion-0.9.6-py3-none-any.whl (153 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 153.7/153.7 KB 3.3 MB/s eta 0:00:00
   Collecting cassandra-driver
     Downloading cassandra_driver-3.28.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.1 MB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.1/19.1 MB 44.5 MB/s eta 0:00:00
   Requirement already satisfied: six>=1.12.0 in /usr/lib/python3/dist-packages (from cqlsh-expansion) (1.16.0)
   Collecting boto3
     Downloading boto3-1.29.2-py3-none-any.whl (135 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 135.8/135.8 KB 17.2 MB/s eta 0:00:00
   Collecting cassandra-sigv4>=4.0.2
     Downloading cassandra_sigv4-4.0.2-py2.py3-none-any.whl (9.8 kB)
   Collecting botocore<1.33.0,>=1.32.2
     Downloading botocore-1.32.2-py3-none-any.whl (11.4 MB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.4/11.4 MB 60.9 MB/s eta 0:00:00
   Collecting s3transfer<0.8.0,>=0.7.0
     Downloading s3transfer-0.7.0-py3-none-any.whl (79 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.8/79.8 KB 13.1 MB/s eta 0:00:00
   Collecting jmespath<2.0.0,>=0.7.1
     Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)
   Collecting geomet<0.3,>=0.1
     Downloading geomet-0.2.1.post1-py3-none-any.whl (18 kB)
   Collecting python-dateutil<3.0.0,>=2.1
     Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 KB 33.1 MB/s eta 0:00:00
   Requirement already satisfied: urllib3<2.1,>=1.25.4 in /usr/lib/python3/dist-packages (from botocore<1.33.0,>=1.32.2->boto3->cqlsh-expansion) (1.26.5)
   Requirement already satisfied: click in /usr/lib/python3/dist-packages (from geomet<0.3,>=0.1->cassandra-driver->cqlsh-expansion) (8.0.3)
   Installing collected packages: python-dateutil, jmespath, geomet, cassandra-driver, botocore, s3transfer, boto3, cassandra-sigv4, cqlsh-expansion
     WARNING: The script geomet is installed in '/home/ubuntu/.local/bin' which is not on PATH.
     Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
     WARNING: The scripts cqlsh, cqlsh-expansion and cqlsh-expansion.init are installed in '/home/ubuntu/.local/bin' which is not on PATH.
     Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
   Successfully installed boto3-1.29.2 botocore-1.32.2 cassandra-driver-3.28.0 cassandra-sigv4-4.0.2 cqlsh-expansion-0.9.6 geomet-0.2.1.post1 jmespath-1.0.1 python-dateutil-2.8.2 s3transfer-0.7.0
   ```

   Jika direktori install tidak ada di`PATH`, Anda perlu menambahkannya mengikuti instruksi sistem operasi Anda. Di bawah ini adalah salah satu contoh untuk Ubuntu Linux.

   ```
   export PATH="$PATH:/home/ubuntu/.local/bin"
   ```

   Untuk mengonfirmasi bahwa paket diinstal, Anda dapat menjalankan perintah berikut.

   ```
   cqlsh-expansion --version
   ```

   Outputnya akan terlihat seperti ini.

   ```
   cqlsh 6.1.0
   ```

1. Untuk mengkonfigurasi`cqlsh-expansion`, Anda dapat menjalankan skrip pasca-instal untuk secara otomatis menyelesaikan langkah-langkah berikut:

   1. Buat `.cassandra` direktori di direktori home pengguna jika belum ada.

   1. Salin file konfigurasi yang telah `cqlshrc` dikonfigurasi sebelumnya ke `.cassandra` direktori.

   1. Salin file sertifikat gabungan ke dalam `.cassandra` direktori. Amazon Keyspaces menggunakan sertifikat ini untuk mengonfigurasi koneksi aman dengan Transport Layer Security (TLS). Enkripsi dalam perjalanan menyediakan lapisan perlindungan data tambahan dengan mengenkripsi data Anda saat melakukan perjalanan ke dan dari Amazon Keyspaces. Untuk informasi selengkapnya tentang sertifikat, lihat[Cara mengkonfigurasi `cqlsh` koneksi secara manual untuk TLS](#encrypt_using_tls).

   Untuk meninjau skrip terlebih dahulu, Anda dapat mengaksesnya di repo Github di. [https://github.com/aws-samples/amazon-keyspaces-toolkit/blob/master/cqlsh-expansion/cqlsh_expansion/post_install.py](https://github.com/aws-samples/amazon-keyspaces-toolkit/blob/master/cqlsh-expansion/cqlsh_expansion/post_install.py)

   Untuk menggunakan skrip, Anda dapat menjalankan perintah berikut. 

   ```
   cqlsh-expansion.init
   ```
**catatan**  
Direktori dan file yang dibuat oleh skrip pasca-instal tidak dihapus ketika Anda menghapus instalasi `cqlsh-expansion``pip uninstall`, dan harus dihapus secara manual.

**Menghubungkan ke Amazon Keyspaces menggunakan `cqlsh-expansion`**

1. Konfigurasikan Anda Wilayah AWS dan tambahkan sebagai variabel lingkungan pengguna.

   Untuk menambahkan Region default Anda sebagai variabel lingkungan pada sistem berbasis Unix, Anda dapat menjalankan perintah berikut. Untuk contoh ini, kami menggunakan`us-east-1`.

   ```
   export AWS_DEFAULT_REGION=us-east-1
   ```

   Untuk informasi selengkapnya tentang cara mengatur variabel lingkungan, termasuk untuk platform lain, lihat [Cara mengatur variabel lingkungan](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-set).

1. Temukan titik akhir layanan Anda.

   Pilih titik akhir layanan yang sesuai untuk Wilayah Anda. Untuk meninjau titik akhir yang tersedia untuk Amazon Keyspaces, lihat. [Titik akhir layanan untuk Amazon Keyspaces](programmatic.endpoints.md) Untuk contoh ini, kita menggunakan endpoint`cassandra.us-east-1.amazonaws.com`.

1. Konfigurasikan metode otentikasi.

   Menghubungkan dengan kunci akses IAM (pengguna IAM, peran, dan identitas federasi) adalah metode yang direkomendasikan untuk meningkatkan keamanan. 

   Sebelum Anda dapat terhubung dengan kunci akses IAM, Anda harus menyelesaikan langkah-langkah berikut:

   1. Buat pengguna IAM, atau ikuti praktik terbaik dan buat peran IAM yang dapat diasumsikan oleh pengguna IAM. Untuk informasi selengkapnya tentang cara membuat kunci akses IAM, lihat[Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces](access.credentials.md).

   1. Buat kebijakan IAM yang memberikan peran (atau pengguna IAM) setidaknya akses hanya-baca ke Amazon Keyspaces. Untuk informasi selengkapnya tentang izin yang diperlukan bagi pengguna IAM atau peran untuk terhubung ke Amazon Keyspaces, lihat. [Mengakses tabel Amazon Keyspaces](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-access-one-table)

   1. Tambahkan kunci akses pengguna IAM ke variabel lingkungan pengguna seperti yang ditunjukkan pada contoh berikut.

      ```
      export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
      export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
      ```

      Untuk informasi selengkapnya tentang cara mengatur variabel lingkungan, termasuk untuk platform lain, lihat [Cara mengatur variabel lingkungan](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-set).
**catatan**  
Jika Anda terhubung dari instans Amazon EC2, Anda juga perlu mengonfigurasi aturan keluar di grup keamanan yang mengizinkan lalu lintas dari instans ke Amazon Keyspaces. Untuk informasi selengkapnya tentang cara melihat dan mengedit aturan keluar EC2, lihat [Menambahkan aturan ke grup keamanan di Panduan Pengguna Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#adding-security-group-rule).

1. Connect ke Amazon Keyspaces menggunakan autentikasi `cqlsh-expansion` dan SiGv4.

   Untuk terhubung ke Amazon Keyspaces dengan`cqlsh-expansion`, Anda dapat menggunakan perintah berikut. Pastikan untuk mengganti titik akhir layanan dengan titik akhir yang benar untuk Wilayah Anda.

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

   Jika koneksi berhasil, Anda akan melihat output yang mirip dengan contoh berikut.

   ```
   Connected to Amazon Keyspaces at cassandra.us-east-1.amazonaws.com:9142
   [cqlsh 6.1.0 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4]
   Use HELP for help.
   cqlsh current consistency level is ONE.
   cqlsh>
   ```

   Jika Anda mengalami kesalahan koneksi, lihat [Saya tidak dapat terhubung ke Amazon Keyspaces dengan cqlsh](troubleshooting.connecting.md#troubleshooting.connection.cqlsh) untuk informasi pemecahan masalah.
   + Connect ke Amazon Keyspaces dengan kredensyal khusus layanan.

     Untuk terhubung dengan kombinasi nama pengguna dan kata sandi tradisional yang digunakan Cassandra untuk otentikasi, Anda harus terlebih dahulu membuat kredensil khusus layanan untuk Amazon Keyspaces seperti yang dijelaskan dalam. [Buat kredensil khusus layanan untuk akses terprogram ke Amazon Keyspaces](programmatic.credentials.ssc.md) Anda juga harus memberikan izin kepada pengguna tersebut untuk mengakses Amazon Keyspaces, untuk informasi selengkapnya lihat. [Mengakses tabel Amazon Keyspaces](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-access-one-table) 

     Setelah Anda membuat kredensi dan izin khusus layanan untuk pengguna, Anda harus memperbarui `cqlshrc` file, biasanya ditemukan di jalur direktori pengguna. `~/.cassandra/` Dalam `cqlshrc` file, pergi ke `[authentication]` bagian Cassandra dan komentari modul SiGv4 dan kelas di bawah `[auth_provider]` menggunakan karakter “;” seperti yang ditunjukkan pada contoh berikut. 

     ```
     [auth_provider]
     
     ; module = cassandra_sigv4.auth
     
     ; classname = SigV4AuthProvider
     ```

     Setelah memperbarui `cqlshrc` file, Anda dapat terhubung ke Amazon Keyspaces dengan kredenal khusus layanan menggunakan perintah berikut.

     ```
     cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 -u myUserName -p myPassword --ssl
     ```

**Pembersihan**
+ Untuk menghapus `cqlsh-expansion` paket Anda dapat menggunakan `pip uninstall` perintah.

  ```
  pip3 uninstall cqlsh-expansion
  ```

  `pip3 uninstall`Perintah tidak menghapus direktori dan file terkait yang dibuat oleh skrip pasca-instal. Untuk menghapus folder dan file yang dibuat oleh skrip pasca-instal, Anda dapat menghapus `.cassandra` direktori.

## Cara mengkonfigurasi `cqlsh` koneksi secara manual untuk TLS
<a name="encrypt_using_tls"></a>

Amazon Keyspaces hanya menerima koneksi aman menggunakan Transport Layer Security (TLS). Anda dapat menggunakan `cqlsh-expansion` utilitas yang secara otomatis mengunduh sertifikat untuk Anda dan menginstal file konfigurasi yang telah `cqlshrc` dikonfigurasi sebelumnya. Untuk informasi lebih lanjut, lihat [Menggunakan untuk terhubung `cqlsh-expansion` ke Amazon Keyspaces](#using_cqlsh) di halaman ini. 

Jika Anda ingin mengunduh sertifikat dan mengonfigurasi koneksi secara manual, Anda dapat melakukannya menggunakan langkah-langkah berikut. 

1.  Unduh sertifikat digital berikut dan simpan file secara lokal atau di direktori home Anda.

   1. AmazonRootCA1

   1. AmazonRootCA2

   1. AmazonRootCA3

   1. AmazonRootCA4

   1. Starfield Class 2 Root (opsional - untuk kompatibilitas mundur)

   Untuk mengunduh sertifikat, Anda dapat menggunakan perintah berikut.

   ```
   curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
   curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
   curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
   curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
   curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
   ```
**catatan**  
Amazon Keyspaces sebelumnya menggunakan sertifikat TLS yang ditambatkan ke Starfield Class 2 CA. AWS memigrasikan semua Wilayah AWS ke sertifikat yang dikeluarkan di bawah Amazon Trust Services (Amazon Root CAs 1-4). Selama transisi ini, konfigurasikan klien untuk mempercayai Amazon Root CAs 1-4 dan root Starfield untuk memastikan kompatibilitas di semua Wilayah.

1. Gabungkan semua sertifikat yang diunduh menjadi satu `pem` file dengan nama *keyspaces-bundle.pem* dalam contoh kami. Anda dapat melakukan ini dengan menjalankan perintah berikut. Catat jalur ke file, Anda perlu ini nanti.

   ```
   cat AmazonRootCA1.pem \
    AmazonRootCA2.pem \
    AmazonRootCA3.pem \
    AmazonRootCA4.pem \
    sf-class2-root.crt \
    > keyspaces-bundle.pem
   ```

1. Buka file `cqlshrc` konfigurasi di direktori home Cassandra, misalnya `${HOME}/.cassandra/cqlshrc` dan tambahkan baris berikut.

   ```
   [connection]
   port = 9142
   factory = cqlshlib.ssl.ssl_transport_factory
   
   [ssl]
   validate = true
   certfile =  path_to_file/keyspaces-bundle.pem
   ```

# Menggunakan untuk terhubung AWS CLI ke Amazon Keyspaces
<a name="access.cli"></a>

 Anda dapat menggunakan AWS Command Line Interface (AWS CLI) untuk mengontrol beberapa AWS layanan dari baris perintah dan mengotomatiskannya melalui skrip. Dengan Amazon Keyspaces Anda dapat menggunakan operasi AWS CLI for data definition language (DDL), seperti membuat tabel. Selain itu, Anda dapat menggunakan layanan infrastruktur sebagai kode (IAc) dan alat seperti AWS CloudFormation dan Terraform.

Sebelum Anda dapat menggunakan AWS CLI dengan Amazon Keyspaces, Anda harus mendapatkan ID kunci akses dan kunci akses rahasia. Untuk informasi selengkapnya, lihat [Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces](access.credentials.md).

Untuk daftar lengkap semua perintah yang tersedia untuk Amazon Keyspaces di AWS CLI, lihat Referensi [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/keyspaces/index.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/keyspaces/index.html). 

**Topics**
+ [Mengunduh dan Mengkonfigurasi AWS CLI](#access.cli.installcli)
+ [Menggunakan AWS CLI Keyspaces dengan Amazon](#access.cli.usingcli)

## Mengunduh dan Mengkonfigurasi AWS CLI
<a name="access.cli.installcli"></a>

 AWS CLI Tersedia di[https://aws.amazon.com/cli](https://aws.amazon.com/cli). Alat ini berjalan di Windows, macOS, atau Linux. Setelah mengunduh AWS CLI, ikuti langkah-langkah ini untuk menginstal dan mengkonfigurasinya:

1. Pergi ke [Panduan AWS Command Line Interface Pengguna](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)

1. Ikuti petunjuk untuk [Menginstal AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) dan [Mengkonfigurasi AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)

## Menggunakan AWS CLI Keyspaces dengan Amazon
<a name="access.cli.usingcli"></a>

Format baris perintah terdiri dari nama operasi Amazon Keyspaces diikuti oleh parameter untuk operasi itu. AWS CLI Mendukung sintaks singkatan untuk nilai parameter, serta JSON. Contoh Amazon Keyspaces berikut menggunakan sintaks AWS CLI singkatan. Untuk informasi selengkapnya, lihat [Menggunakan sintaks singkatan dengan CLI. AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-shorthand.html)

Perintah berikut membuat keyspace dengan *katalog* nama.

```
aws keyspaces create-keyspace --keyspace-name 'catalog'
```

Perintah mengembalikan sumber daya Amazon Resource Name (ARN) dalam output.

```
{
    "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/"
}
```

Untuk mengonfirmasi bahwa *katalog* keyspace ada, Anda dapat menggunakan perintah berikut.

```
aws keyspaces get-keyspace --keyspace-name 'catalog'
```

Output dari perintah mengembalikan nilai-nilai berikut.

```
{
    "keyspaceName": "catalog",
    "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/"
}
```

Perintah berikut membuat tabel dengan nama *book\$1awards*. Kunci partisi tabel terdiri dari kolom `year` dan `award` dan kunci pengelompokan terdiri dari kolom `category` dan`rank`, kedua kolom pengelompokan menggunakan urutan urutan menaik. (Agar mudah dibaca, perintah panjang di bagian ini dipecah menjadi baris terpisah.)

```
aws keyspaces create-table --keyspace-name 'catalog' --table-name 'book_awards' 
            --schema-definition 'allColumns=[{name=year,type=int},{name=award,type=text},{name=rank,type=int},
            {name=category,type=text}, {name=author,type=text},{name=book_title,type=text},{name=publisher,type=text}],
            partitionKeys=[{name=year},{name=award}],clusteringKeys=[{name=category,orderBy=ASC},{name=rank,orderBy=ASC}]'
```

Perintah ini menghasilkan output berikut.

```
{
    "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/table/book_awards"
}
```

Untuk mengonfirmasi metadata dan properti tabel, Anda dapat menggunakan perintah berikut.

```
aws keyspaces get-table --keyspace-name 'catalog' --table-name 'book_awards'
```

Perintah ini mengembalikan output berikut.

```
{
    "keyspaceName": "catalog",
    "tableName": "book_awards",
    "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/table/book_awards",
    "creationTimestamp": 1645564368.628,
    "status": "ACTIVE",
    "schemaDefinition": {
        "allColumns": [
            {
                "name": "year",
                "type": "int"
            },
            {
                "name": "award",
                "type": "text"
            },
            {
                "name": "category",
                "type": "text"
            },
            {
                "name": "rank",
                "type": "int"
            },
            {
                "name": "author",
                "type": "text"
            },
            {
                "name": "book_title",
                "type": "text"
            },
            {
                "name": "publisher",
                "type": "text"
            }
        ],
        "partitionKeys": [
            {
                "name": "year"
            },
            {
                "name": "award"
            }
        ],
        "clusteringKeys": [
            {
                "name": "category",
                "orderBy": "ASC"
            },
            {
                "name": "rank",
                "orderBy": "ASC"
            }
        ],
        "staticColumns": []
    },
    "capacitySpecification": {
        "throughputMode": "PAY_PER_REQUEST",
        "lastUpdateToPayPerRequestTimestamp": 1645564368.628
    },
    "encryptionSpecification": {
        "type": "AWS_OWNED_KMS_KEY"
    },
    "pointInTimeRecovery": {
        "status": "DISABLED"
    },
    "ttl": {
        "status": "ENABLED"
    },
    "defaultTimeToLive": 0,
    "comment": {
        "message": ""
    }
}
```

Saat membuat tabel dengan skema kompleks, akan sangat membantu untuk memuat definisi skema tabel dari file JSON. Berikut ini adalah contohnya. Unduh contoh definisi skema file JSON dari [schema\$1definition.zip](samples/schema_definition.zip) dan ekstrak`schema_definition.json`, perhatikan jalur ke file. Dalam contoh ini, file JSON definisi skema terletak di direktori saat ini. Untuk opsi jalur file yang berbeda, lihat [Cara memuat parameter dari file](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html#cli-usage-parameters-file-how).

```
aws keyspaces create-table --keyspace-name 'catalog' 
            --table-name 'book_awards' --schema-definition 'file://schema_definition.json'
```

Contoh berikut menunjukkan cara membuat tabel sederhana dengan nama *MyTable* dengan opsi tambahan. Perhatikan bahwa perintah dipecah menjadi baris terpisah untuk meningkatkan keterbacaan. Perintah ini menunjukkan cara membuat tabel dan:
+ mengatur mode kapasitas tabel
+ aktifkan Point-in-time pemulihan untuk tabel
+ mengatur nilai Time to Live (TTL) default untuk tabel menjadi satu tahun
+ tambahkan dua tag untuk tabel

```
aws keyspaces create-table --keyspace-name 'catalog' --table-name 'myTable' 
            --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' 
            --capacity-specification 'throughputMode=PROVISIONED,readCapacityUnits=5,writeCapacityUnits=5' 
            --point-in-time-recovery 'status=ENABLED' 
            --default-time-to-live '31536000' 
            --tags 'key=env,value=test' 'key=dpt,value=sec'
```

Contoh ini menunjukkan cara membuat tabel baru yang menggunakan kunci terkelola pelanggan untuk enkripsi dan mengaktifkan TTL untuk memungkinkan Anda mengatur tanggal kedaluwarsa kolom dan baris. Untuk menjalankan sampel ini, Anda harus mengganti ARN sumber daya untuk kunci yang dikelola pelanggan dengan AWS KMS kunci Anda sendiri dan memastikan Amazon Keyspaces memiliki akses ke sana.

```
aws keyspaces create-table --keyspace-name 'catalog' --table-name 'myTable' 
            --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' 
            --encryption-specification 'type=CUSTOMER_MANAGED_KMS_KEY,kmsKeyIdentifier=arn:aws:kms:us-east-1:111122223333:key/11111111-2222-3333-4444-555555555555'  
            --ttl 'status=ENABLED'
```

# Menggunakan API untuk terhubung ke Amazon Keyspaces
<a name="access.api"></a>

 Anda dapat menggunakan AWS SDK dan AWS Command Line Interface (AWS CLI) untuk bekerja secara interaktif dengan Amazon Keyspaces. Anda dapat menggunakan API untuk operasi definisi bahasa data (DDL), seperti membuat keyspace atau tabel. Selain itu, Anda dapat menggunakan layanan infrastruktur sebagai kode (IAc) dan alat seperti AWS CloudFormation dan Terraform. 

Sebelum Anda dapat menggunakan AWS CLI dengan Amazon Keyspaces, Anda harus mendapatkan ID kunci akses dan kunci akses rahasia. Untuk informasi selengkapnya, lihat [Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces](access.credentials.md).

Untuk daftar lengkap semua operasi yang tersedia untuk Amazon Keyspaces di API, lihat Referensi API Amazon [https://docs.aws.amazon.com/keyspaces/latest/APIReference/Welcome.html](https://docs.aws.amazon.com/keyspaces/latest/APIReference/Welcome.html).

# Menggunakan driver klien Cassandra untuk mengakses Amazon Keyspaces secara terprogram
<a name="programmatic.drivers"></a>

Anda dapat menggunakan banyak driver Cassandra sumber terbuka pihak ketiga untuk terhubung ke Amazon Keyspaces. Amazon Keyspaces kompatibel dengan driver Cassandra yang mendukung Apache Cassandra versi 3.11.2. Ini adalah driver dan versi terbaru yang telah kami uji dan rekomendasikan untuk digunakan dengan Amazon Keyspaces: 
+ `Java v3.3`
+ `Java v4.17`
+ `Python Cassandra-driver 3.29.1`
+ `Node.js cassandra driver -v 4.7.2`
+ `GO using GOCQL v1.6`
+ `.NET CassandraCSharpDriver -v 3.20.1`

Untuk informasi lebih lanjut tentang driver Cassandra, lihat driver [Apache Cassandra](http://cassandra.apache.org/doc/latest/getting_started/drivers.html) Client. 

**catatan**  
Untuk membantu Anda memulai, Anda dapat melihat dan mengunduh contoh end-to-end kode yang membuat koneksi ke Amazon Keyspaces dengan driver populer. Lihat [contoh Amazon Keyspaces di](https://github.com/aws-samples/amazon-keyspaces-examples). GitHub

Tutorial dalam Bab ini mencakup kueri CQL sederhana untuk mengonfirmasi bahwa koneksi ke Amazon Keyspaces telah berhasil dibuat. Untuk mempelajari cara bekerja dengan ruang kunci dan tabel setelah Anda terhubung ke titik akhir Amazon Keyspaces, lihat. [Referensi bahasa CQL untuk Amazon Keyspaces (untuk Apache Cassandra)](cql.md) Untuk step-by-step tutorial yang menunjukkan cara menyambung ke Amazon Keyspaces dari titik akhir Amazon VPC, lihat. [Tutorial: Connect ke Amazon Keyspaces menggunakan antarmuka VPC endpoint](vpc-endpoints-tutorial.md) 

**Topics**
+ [Menggunakan driver klien Cassandra Java untuk mengakses Amazon Keyspaces secara terprogram](using_java_driver.md)
+ [Menggunakan driver klien Cassandra Python untuk mengakses Amazon Keyspaces secara terprogram](using_python_driver.md)
+ [Menggunakan driver klien Cassandra Node.js untuk mengakses Amazon Keyspaces secara terprogram](using_nodejs_driver.md)
+ [Menggunakan driver klien Cassandra .NET Core untuk mengakses Amazon Keyspaces secara terprogram](using_dotnetcore_driver.md)
+ [Menggunakan driver klien Cassandra Go untuk mengakses Amazon Keyspaces secara terprogram](using_go_driver.md)
+ [Menggunakan driver klien Cassandra Perl untuk mengakses Amazon Keyspaces secara terprogram](using_perl_driver.md)

# Menggunakan driver klien Cassandra Java untuk mengakses Amazon Keyspaces secara terprogram
<a name="using_java_driver"></a>

Bagian ini menunjukkan kepada Anda cara terhubung ke Amazon Keyspaces dengan menggunakan driver klien Java.

**catatan**  
Java 17 dan DataStax Java Driver 4.17 saat ini hanya dalam dukungan Beta. Untuk informasi selengkapnya, lihat [https://docs.datastax.com/en/developer/java-driver/4.17/upgrade_guide/](https://docs.datastax.com/en/developer/java-driver/4.17/upgrade_guide/).

Untuk memberikan kredensyal kepada pengguna dan aplikasi untuk akses terprogram ke sumber daya Amazon Keyspaces, Anda dapat melakukan salah satu hal berikut:
+ Buat kredensyal khusus layanan yang terkait dengan pengguna AWS Identity and Access Management (IAM) tertentu.
+ Untuk keamanan yang ditingkatkan, kami sarankan untuk membuat kunci akses IAM untuk identitas IAM yang digunakan di semua layanan. AWS Plugin otentikasi Amazon Keyspaces SigV4 untuk driver klien Cassandra memungkinkan Anda untuk mengautentikasi panggilan ke Amazon Keyspaces menggunakan kunci akses IAM alih-alih nama pengguna dan kata sandi. Untuk informasi selengkapnya, lihat [Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces](access.credentials.md).

**catatan**  
Untuk contoh cara menggunakan Amazon Keyspaces dengan Spring Boot, lihat. [https://github.com/aws-samples/amazon-keyspaces-examples/tree/main/java/datastax-v4/spring](https://github.com/aws-samples/amazon-keyspaces-examples/tree/main/java/datastax-v4/spring)

**Topics**
+ [Sebelum Anda mulai](#using_java_driver.BeforeYouBegin)
+ [Step-by-step tutorial untuk terhubung ke Amazon Keyspaces menggunakan driver DataStax Java untuk Apache Cassandra menggunakan kredensyal khusus layanan](#java_tutorial)
+ [Step-by-step tutorial untuk terhubung ke Amazon Keyspaces menggunakan driver DataStax Java 4.x untuk Apache Cassandra dan plugin otentikasi SiGv4](#java_tutorial.SigV4)
+ [Connect ke Amazon Keyspaces menggunakan driver DataStax Java 3.x untuk Apache Cassandra dan plugin otentikasi SiGv4](#java3x_tutorial.SigV4)

## Sebelum Anda mulai
<a name="using_java_driver.BeforeYouBegin"></a>

Untuk terhubung ke Amazon Keyspaces, Anda harus menyelesaikan tugas-tugas berikut sebelum dapat memulai.

1. Amazon Keyspaces memerlukan penggunaan Transport Layer Security (TLS) untuk membantu mengamankan koneksi dengan klien. 

   1.  Unduh sertifikat digital berikut dan simpan file secara lokal atau di direktori home Anda.

      1. AmazonRootCA1

      1. AmazonRootCA2

      1. AmazonRootCA3

      1. AmazonRootCA4

      1. Starfield Class 2 Root (opsional - untuk kompatibilitas mundur)

      Untuk mengunduh sertifikat, Anda dapat menggunakan perintah berikut.

      ```
      curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
      curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
      curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
      curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
      curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
      ```
**catatan**  
Amazon Keyspaces sebelumnya menggunakan sertifikat TLS yang ditambatkan ke Starfield Class 2 CA. AWS memigrasikan semua Wilayah AWS ke sertifikat yang dikeluarkan di bawah Amazon Trust Services (Amazon Root CAs 1-4). Selama transisi ini, konfigurasikan klien untuk mempercayai Amazon Root CAs 1-4 dan root Starfield untuk memastikan kompatibilitas di semua Wilayah.

   1. Ubah sertifikat digital menjadi file TrustStore dan tambahkan ke keystore.

      ```
      openssl x509 -outform der -in AmazonRootCA1.pem -out temp_file.der
      keytool -import -alias amazon-root-ca-1 -keystore cassandra_truststore.jks -file temp_file.der
      
      openssl x509 -outform der -in AmazonRootCA2.pem -out temp_file.der
      keytool -import -alias amazon-root-ca-2 -keystore cassandra_truststore.jks -file temp_file.der
      
      openssl x509 -outform der -in AmazonRootCA3.pem -out temp_file.der
      keytool -import -alias amazon-root-ca-3 -keystore cassandra_truststore.jks -file temp_file.der
      
      openssl x509 -outform der -in AmazonRootCA4.pem -out temp_file.der
      keytool -import -alias amazon-root-ca-4 -keystore cassandra_truststore.jks -file temp_file.der
                   
      openssl x509 -outform der -in sf-class2-root.crt -out temp_file.der
      keytool -import -alias cassandra -keystore cassandra_truststore.jks -file temp_file.der
      ```

      Pada langkah terakhir, Anda perlu membuat kata sandi untuk keystore dan mempercayai setiap sertifikat. Perintah interaktif terlihat seperti ini.

      ```
      Enter keystore password:  
      Re-enter new password: 
      Owner: CN=Amazon Root CA 1, O=Amazon, C=US
      Issuer: CN=Amazon Root CA 1, O=Amazon, C=US
      Serial number: 66c9fcf99bf8c0a39e2f0788a43e696365bca
      Valid from: Tue May 26 00:00:00 UTC 2015 until: Sun Jan 17 00:00:00 UTC 2038
      Certificate fingerprints:
           SHA1: 8D:A7:F9:65:EC:5E:FC:37:91:0F:1C:6E:59:FD:C1:CC:6A:6E:DE:16
           SHA256: 8E:CD:E6:88:4F:3D:87:B1:12:5B:A3:1A:C3:FC:B1:3D:70:16:DE:7F:57:CC:90:4F:E1:CB:97:C6:AE:98:19:6E
      Signature algorithm name: SHA256withRSA
      Subject Public Key Algorithm: 2048-bit RSA key
      Version: 3
      
      Extensions: 
      
      #1: ObjectId: 2.5.29.19 Criticality=true
      BasicConstraints:[
        CA:true
        PathLen:2147483647
      ]
      
      #2: ObjectId: 2.5.29.15 Criticality=true
      KeyUsage [
        DigitalSignature
        Key_CertSign
        Crl_Sign
      ]
      
      #3: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: 84 18 CC 85 34 EC BC 0C   94 94 2E 08 59 9C C7 B2  ....4.......Y...
      0010: 10 4E 0A 08                                        .N..
      ]
      ]
      
      Trust this certificate? [no]:  yes
      Certificate was added to keystore
      Enter keystore password:  
      Owner: CN=Amazon Root CA 2, O=Amazon, C=US
      Issuer: CN=Amazon Root CA 2, O=Amazon, C=US
      Serial number: 66c9fd29635869f0a0fe58678f85b26bb8a37
      Valid from: Tue May 26 00:00:00 UTC 2015 until: Sat May 26 00:00:00 UTC 2040
      Certificate fingerprints:
           SHA1: 5A:8C:EF:45:D7:A6:98:59:76:7A:8C:8B:44:96:B5:78:CF:47:4B:1A
           SHA256: 1B:A5:B2:AA:8C:65:40:1A:82:96:01:18:F8:0B:EC:4F:62:30:4D:83:CE:C4:71:3A:19:C3:9C:01:1E:A4:6D:B4
      Signature algorithm name: SHA384withRSA
      Subject Public Key Algorithm: 4096-bit RSA key
      Version: 3
      
      Extensions: 
      
      #1: ObjectId: 2.5.29.19 Criticality=true
      BasicConstraints:[
        CA:true
        PathLen:2147483647
      ]
      
      #2: ObjectId: 2.5.29.15 Criticality=true
      KeyUsage [
        DigitalSignature
        Key_CertSign
        Crl_Sign
      ]
      
      #3: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: B0 0C F0 4C 30 F4 05 58   02 48 FD 33 E5 52 AF 4B  ...L0..X.H.3.R.K
      0010: 84 E3 66 52                                        ..fR
      ]
      ]
      
      Trust this certificate? [no]:  yes
      Certificate was added to keystore
      Enter keystore password:  
      Owner: CN=Amazon Root CA 3, O=Amazon, C=US
      Issuer: CN=Amazon Root CA 3, O=Amazon, C=US
      Serial number: 66c9fd5749736663f3b0b9ad9e89e7603f24a
      Valid from: Tue May 26 00:00:00 UTC 2015 until: Sat May 26 00:00:00 UTC 2040
      Certificate fingerprints:
           SHA1: 0D:44:DD:8C:3C:8C:1A:1A:58:75:64:81:E9:0F:2E:2A:FF:B3:D2:6E
           SHA256: 18:CE:6C:FE:7B:F1:4E:60:B2:E3:47:B8:DF:E8:68:CB:31:D0:2E:BB:3A:DA:27:15:69:F5:03:43:B4:6D:B3:A4
      Signature algorithm name: SHA256withECDSA
      Subject Public Key Algorithm: 256-bit EC (secp256r1) key
      Version: 3
      
      Extensions: 
      
      #1: ObjectId: 2.5.29.19 Criticality=true
      BasicConstraints:[
        CA:true
        PathLen:2147483647
      ]
      
      #2: ObjectId: 2.5.29.15 Criticality=true
      KeyUsage [
        DigitalSignature
        Key_CertSign
        Crl_Sign
      ]
      
      #3: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: AB B6 DB D7 06 9E 37 AC   30 86 07 91 70 C7 9C C4  ......7.0...p...
      0010: 19 B1 78 C0                                        ..x.
      ]
      ]
      
      Trust this certificate? [no]:  yes
      Certificate was added to keystore
      Enter keystore password:  
      Owner: CN=Amazon Root CA 4, O=Amazon, C=US
      Issuer: CN=Amazon Root CA 4, O=Amazon, C=US
      Serial number: 66c9fd7c1bb104c2943e5717b7b2cc81ac10e
      Valid from: Tue May 26 00:00:00 UTC 2015 until: Sat May 26 00:00:00 UTC 2040
      Certificate fingerprints:
           SHA1: F6:10:84:07:D6:F8:BB:67:98:0C:C2:E2:44:C2:EB:AE:1C:EF:63:BE
           SHA256: E3:5D:28:41:9E:D0:20:25:CF:A6:90:38:CD:62:39:62:45:8D:A5:C6:95:FB:DE:A3:C2:2B:0B:FB:25:89:70:92
      Signature algorithm name: SHA384withECDSA
      Subject Public Key Algorithm: 384-bit EC (secp384r1) key
      Version: 3
      
      Extensions: 
      
      #1: ObjectId: 2.5.29.19 Criticality=true
      BasicConstraints:[
        CA:true
        PathLen:2147483647
      ]
      
      #2: ObjectId: 2.5.29.15 Criticality=true
      KeyUsage [
        DigitalSignature
        Key_CertSign
        Crl_Sign
      ]
      
      #3: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: D3 EC C7 3A 65 6E CC E1   DA 76 9A 56 FB 9C F3 86  ...:en...v.V....
      0010: 6D 57 E5 81                                        mW..
      ]
      ]
      
      Trust this certificate? [no]:  yes
      Certificate was added to keystore
      Enter keystore password:  
      Owner: OU=Starfield Class 2 Certification Authority, O="Starfield Technologies, Inc.", C=US
      Issuer: OU=Starfield Class 2 Certification Authority, O="Starfield Technologies, Inc.", C=US
      Serial number: 0
      Valid from: Tue Jun 29 17:39:16 UTC 2004 until: Thu Jun 29 17:39:16 UTC 2034
      Certificate fingerprints:
           SHA1: AD:7E:1C:28:B0:64:EF:8F:60:03:40:20:14:C3:D0:E3:37:0E:B5:8A
           SHA256: 14:65:FA:20:53:97:B8:76:FA:A6:F0:A9:95:8E:55:90:E4:0F:CC:7F:AA:4F:B7:C2:C8:67:75:21:FB:5F:B6:58
      Signature algorithm name: SHA1withRSA (weak)
      Subject Public Key Algorithm: 2048-bit RSA key
      Version: 3
      
      Extensions: 
      
      #1: ObjectId: 2.5.29.35 Criticality=false
      AuthorityKeyIdentifier [
      KeyIdentifier [
      0000: BF 5F B7 D1 CE DD 1F 86   F4 5B 55 AC DC D7 10 C2  ._.......[U.....
      0010: 0E A9 88 E7                                        ....
      ]
      [OU=Starfield Class 2 Certification Authority, O="Starfield Technologies, Inc.", C=US]
      SerialNumber: [    00]
      ]
      
      #2: ObjectId: 2.5.29.19 Criticality=false
      BasicConstraints:[
        CA:true
        PathLen:2147483647
      ]
      
      #3: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: BF 5F B7 D1 CE DD 1F 86   F4 5B 55 AC DC D7 10 C2  ._.......[U.....
      0010: 0E A9 88 E7                                        ....
      ]
      ]
      
      
      Warning:
      The input uses the SHA1withRSA signature algorithm which is considered a security risk. This algorithm will be disabled in a future update.
      
      Trust this certificate? [no]:  yes
      Certificate was added to keystore
      ```

1.  Lampirkan file TrustStore dalam argumen JVM: 

   ```
   -Djavax.net.ssl.trustStore=path_to_file/cassandra_truststore.jks 
   -Djavax.net.ssl.trustStorePassword=my_password
   ```

## Step-by-step tutorial untuk terhubung ke Amazon Keyspaces menggunakan driver DataStax Java untuk Apache Cassandra menggunakan kredensyal khusus layanan
<a name="java_tutorial"></a>

 step-by-stepTutorial berikut memandu Anda melalui koneksi ke Amazon Keyspaces menggunakan driver Java untuk Cassandra menggunakan kredensyal khusus layanan. Secara khusus, Anda akan menggunakan versi 4.0 dari driver DataStax Java untuk Apache Cassandra. 

**Topics**
+ [Langkah 1: Prasyarat](#java_tutorial.prereq)
+ [Langkah 2: Konfigurasikan driver](#java_tutorial.driverconfiguration)
+ [Langkah 3: Jalankan aplikasi sampel](#java_tutorial.application)

### Langkah 1: Prasyarat
<a name="java_tutorial.prereq"></a>

Untuk mengikuti tutorial ini, Anda perlu menghasilkan kredensyal khusus layanan dan menambahkan driver DataStax Java untuk Apache Cassandra ke proyek Java Anda.
+ Hasilkan kredensyal khusus layanan untuk pengguna IAM Amazon Keyspaces Anda dengan menyelesaikan langkah-langkahnya. [Buat kredensil khusus layanan untuk akses terprogram ke Amazon Keyspaces](programmatic.credentials.ssc.md) Jika Anda lebih suka menggunakan kunci akses IAM untuk otentikasi, lihat. [Step-by-step tutorial untuk terhubung ke Amazon Keyspaces menggunakan driver DataStax Java 4.x untuk Apache Cassandra dan plugin otentikasi SiGv4](#java_tutorial.SigV4)
+ Tambahkan driver DataStax Java untuk Apache Cassandra ke proyek Java Anda. Pastikan Anda menggunakan versi driver yang mendukung Apache Cassandra 3.11.2. Untuk informasi lebih lanjut, lihat [driver DataStax Java untuk dokumentasi Apache Cassandra](https://github.com/datastax/java-driver).

### Langkah 2: Konfigurasikan driver
<a name="java_tutorial.driverconfiguration"></a>

Anda dapat menentukan pengaturan untuk driver DataStax Java Cassandra dengan membuat file konfigurasi untuk aplikasi Anda. File konfigurasi ini mengganti pengaturan default dan memberi tahu driver untuk terhubung ke titik akhir layanan Amazon Keyspaces menggunakan port 9142. Untuk daftar titik akhir layanan yang tersedia, lihat[Titik akhir layanan untuk Amazon Keyspaces](programmatic.endpoints.md).

Buat file konfigurasi dan simpan file di folder sumber daya aplikasi—misalnya,. `src/main/resources/application.conf` Buka `application.conf` dan tambahkan pengaturan konfigurasi berikut.

1. **Penyedia otentikasi** — Buat penyedia otentikasi dengan kelas. `PlainTextAuthProvider` *ServiceUserName*dan *ServicePassword* harus cocok dengan nama pengguna dan kata sandi yang Anda peroleh saat Anda membuat kredensyal khusus layanan dengan mengikuti langkah-langkah di. [Buat kredensil khusus layanan untuk akses terprogram ke Amazon Keyspaces](programmatic.credentials.ssc.md)
**catatan**  
Anda dapat menggunakan kredensyal jangka pendek dengan menggunakan plugin otentikasi untuk driver DataStax Java untuk Apache Cassandra alih-alih kredensyal hardcoding di file konfigurasi driver Anda. Untuk mempelajari lebih lanjut, ikuti instruksi untuk[Step-by-step tutorial untuk terhubung ke Amazon Keyspaces menggunakan driver DataStax Java 4.x untuk Apache Cassandra dan plugin otentikasi SiGv4](#java_tutorial.SigV4).

1. **Pusat data lokal** — Tetapkan nilai `local-datacenter` untuk Wilayah yang Anda sambungkan. Misalnya, jika aplikasi terhubung ke`cassandra.us-east-2.amazonaws.com`, maka atur pusat data lokal ke`us-east-2`. Untuk semua yang tersedia Wilayah AWS, lihat[Titik akhir layanan untuk Amazon Keyspaces](programmatic.endpoints.md). Atur `slow-replica-avoidance = false` untuk memuat keseimbangan terhadap lebih sedikit node.

1. **SSL/TLS** — Inisialisasi SSLEngine Pabrik dengan menambahkan bagian dalam file konfigurasi dengan satu baris yang menentukan kelas dengan. `class = DefaultSslEngineFactory` Berikan jalur ke file TrustStore dan kata sandi yang Anda buat sebelumnya. Amazon Keyspaces tidak mendukung `hostname-validation` peer, jadi setel opsi ini ke false.

```
datastax-java-driver {

    basic.contact-points = [ "cassandra.us-east-2.amazonaws.com:9142"]
    advanced.auth-provider{
        class = PlainTextAuthProvider
        username = "ServiceUserName"
        password = "ServicePassword"
    }
    basic.load-balancing-policy {
        local-datacenter = "us-east-2"
        slow-replica-avoidance = false           
    }

    advanced.ssl-engine-factory {
        class = DefaultSslEngineFactory
        truststore-path = "./src/main/resources/cassandra_truststore.jks"
        truststore-password = "my_password"
        hostname-validation = false
      }
}
```

**catatan**  
Alih-alih menambahkan jalur ke TrustStore di file konfigurasi, Anda juga dapat menambahkan jalur TrustStore langsung di kode aplikasi atau Anda dapat menambahkan jalur ke TrustStore ke argumen JVM Anda.

### Langkah 3: Jalankan aplikasi sampel
<a name="java_tutorial.application"></a>

Contoh kode ini menunjukkan aplikasi baris perintah sederhana yang membuat kumpulan koneksi ke Amazon Keyspaces dengan menggunakan file konfigurasi yang kita buat sebelumnya. Ini menegaskan bahwa koneksi dibuat dengan menjalankan kueri sederhana.

```
package <your package>;
// add the following imports to your project
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.config.DriverConfigLoader;
import com.datastax.oss.driver.api.core.cql.ResultSet;
import com.datastax.oss.driver.api.core.cql.Row;

public class App 
{
    
    public static void main( String[] args )
    {
        //Use DriverConfigLoader to load your configuration file
        DriverConfigLoader loader = DriverConfigLoader.fromClasspath("application.conf");
        try (CqlSession session = CqlSession.builder()
                .withConfigLoader(loader)
                .build()) {

            ResultSet rs = session.execute("select * from system_schema.keyspaces");
            Row row = rs.one();
            System.out.println(row.getString("keyspace_name"));
        }
    }
}
```

**catatan**  
Gunakan `try` blok untuk membuat koneksi untuk memastikan bahwa itu selalu tertutup. Jika Anda tidak menggunakan `try` blok, ingatlah untuk menutup koneksi Anda untuk menghindari kebocoran sumber daya.

## Step-by-step tutorial untuk terhubung ke Amazon Keyspaces menggunakan driver DataStax Java 4.x untuk Apache Cassandra dan plugin otentikasi SiGv4
<a name="java_tutorial.SigV4"></a>

Bagian berikut menjelaskan cara menggunakan plugin otentikasi SiGv4 untuk driver DataStax Java 4.x open-source untuk Apache Cassandra untuk mengakses Amazon Keyspaces (untuk Apache Cassandra). Plugin tersedia dari [GitHubrepositori](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin).

Plugin otentikasi SiGv4 memungkinkan Anda menggunakan kredensyal IAM untuk pengguna atau peran saat menghubungkan ke Amazon Keyspaces. Alih-alih memerlukan nama pengguna dan kata sandi, plugin ini menandatangani permintaan API menggunakan kunci akses. Untuk informasi selengkapnya, lihat [Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces](access.credentials.md). 

### Langkah 1: Prasyarat
<a name="java_tutorial.SigV4.1"></a>

Untuk mengikuti tutorial ini, Anda harus menyelesaikan tugas-tugas berikut.
+ Jika Anda belum melakukannya, buat kredensyal untuk pengguna IAM Anda atau peran mengikuti langkah-langkah di. [Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces](access.credentials.md) Tutorial ini mengasumsikan bahwa kunci akses disimpan sebagai variabel lingkungan. Untuk informasi selengkapnya, lihat [Simpan kunci akses untuk akses terprogram](aws.credentials.manage.md).
+ Tambahkan driver DataStax Java untuk Apache Cassandra ke proyek Java Anda. Pastikan Anda menggunakan versi driver yang mendukung Apache Cassandra 3.11.2. Untuk informasi lebih lanjut, lihat [Driver DataStax Java untuk dokumentasi Apache Cassandra](https://github.com/datastax/java-driver).
+ Tambahkan plugin otentikasi ke aplikasi Anda. Plugin otentikasi mendukung versi 4.x dari driver DataStax Java untuk Apache Cassandra. Jika Anda menggunakan Apache Maven, atau sistem build yang dapat menggunakan dependensi Maven, tambahkan dependensi berikut ke file Anda. `pom.xml`
**penting**  
Ganti versi plugin dengan versi terbaru seperti yang ditunjukkan di [GitHub repositori](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin#add-the-authentication-plugin-to-the-application).

  ```
  <dependency>
          <groupId>software.aws.mcs</groupId>
          <artifactId>aws-sigv4-auth-cassandra-java-driver-plugin</artifactId>
          <version>4.0.9</version>
  </dependency>
  ```

### Langkah 2: Konfigurasikan driver
<a name="java_tutorial.SigV4.2"></a>

Anda dapat menentukan pengaturan untuk driver DataStax Java Cassandra dengan membuat file konfigurasi untuk aplikasi Anda. File konfigurasi ini mengganti pengaturan default dan memberi tahu driver untuk terhubung ke titik akhir layanan Amazon Keyspaces menggunakan port 9142. Untuk daftar titik akhir layanan yang tersedia, lihat[Titik akhir layanan untuk Amazon Keyspaces](programmatic.endpoints.md).

Buat file konfigurasi dan simpan file di folder sumber daya aplikasi—misalnya,. `src/main/resources/application.conf` Buka `application.conf` dan tambahkan pengaturan konfigurasi berikut.

1. **Penyedia otentikasi** - Atur `advanced.auth-provider.class` ke instance baru. `software.aws.mcs.auth.SigV4AuthProvider` SiGv4 AuthProvider adalah penangan otentikasi yang disediakan oleh plugin untuk melakukan otentikasi SiGv4. 

1. **Pusat data lokal** — Tetapkan nilai `local-datacenter` untuk Wilayah yang Anda sambungkan. Misalnya, jika aplikasi terhubung ke`cassandra.us-east-2.amazonaws.com`, maka atur pusat data lokal ke`us-east-2`. Untuk semua yang tersedia Wilayah AWS, lihat[Titik akhir layanan untuk Amazon Keyspaces](programmatic.endpoints.md). Atur `slow-replica-avoidance = false` untuk memuat keseimbangan terhadap semua node yang tersedia.

1. **Idempotence** - Mengatur default `idempotence` untuk aplikasi untuk mengkonfigurasi driver `true` untuk selalu mencoba kembali permintaan gagal. read/write/prepare/execute Ini adalah praktik terbaik untuk aplikasi terdistribusi yang membantu menangani kegagalan sementara dengan mencoba kembali permintaan yang gagal.

1. **SSL/TLS** — Inisialisasi SSLEngine Pabrik dengan menambahkan bagian dalam file konfigurasi dengan satu baris yang menentukan kelas dengan. `class = DefaultSslEngineFactory` Berikan jalur ke file TrustStore dan kata sandi yang Anda buat sebelumnya. Amazon Keyspaces tidak mendukung `hostname-validation` peer, jadi setel opsi ini ke false.

1. **Koneksi** — Buat setidaknya 3 koneksi lokal per titik akhir dengan pengaturan`local.size = 3`. Ini adalah praktik terbaik yang membantu aplikasi Anda menangani ledakan overhead dan lalu lintas. Untuk informasi selengkapnya tentang cara menghitung berapa banyak koneksi lokal per titik akhir yang dibutuhkan aplikasi Anda berdasarkan pola lalu lintas yang diharapkan, lihat[Cara mengonfigurasi koneksi di Amazon Keyspaces](connections.md#connections.howtoconfigure).

1. **Kebijakan coba lagi** — Terapkan `AmazonKeyspacesExponentialRetryPolicy` kebijakan coba ulang Amazon Keyspaces alih-alih yang disertakan dengan driver `DefaultRetryPolicy` Cassandra. Ini memungkinkan Anda untuk mengonfigurasi jumlah upaya coba lagi untuk `AmazonKeyspacesExponentialRetryPolicy` yang memenuhi kebutuhan Anda. Secara default, jumlah percobaan ulang untuk `AmazonKeyspacesExponentialRetryPolicy` diatur ke 3. Untuk informasi selengkapnya, lihat [Cara mengonfigurasi kebijakan coba lagi untuk koneksi di Amazon Keyspaces](connections.md#connections.retry-policies).

1. **Pernyataan yang disiapkan** - Setel `prepare-on-all-nodes` ke false untuk mengoptimalkan penggunaan jaringan.

```
datastax-java-driver {
    basic {
        contact-points = [ "cassandra.us-east-2.amazonaws.com:9142"]  
        request {
            timeout = 2 seconds
            consistency = LOCAL_QUORUM
            page-size = 1024
            default-idempotence = true
        }
        load-balancing-policy {
            local-datacenter = "us-east-2"
            class = DefaultLoadBalancingPolicy
            slow-replica-avoidance = false           
        }
    }
    advanced {
        auth-provider {
            class = software.aws.mcs.auth.SigV4AuthProvider
            aws-region = us-east-2
        }
        ssl-engine-factory {
            class = DefaultSslEngineFactory
            truststore-path = "./src/main/resources/cassandra_truststore.jks"
            truststore-password = "my_password"
            hostname-validation = false
        }
        connection {
	     connect-timeout = 5 seconds
	     max-requests-per-connection = 512
	     pool {
                local.size = 3
	     }
        }
       retry-policy {
           class =  com.aws.ssa.keyspaces.retry.AmazonKeyspacesExponentialRetryPolicy
	    max-attempts = 3
	    min-wait = 10 mills
	    max-wait = 100 mills
       }
       prepared-statements {
	    prepare-on-all-nodes = false
       }
    }
}
```

**catatan**  
Alih-alih menambahkan jalur ke TrustStore di file konfigurasi, Anda juga dapat menambahkan jalur TrustStore langsung di kode aplikasi atau Anda dapat menambahkan jalur ke TrustStore ke argumen JVM Anda.

### Langkah 3: Jalankan aplikasi
<a name="java_tutorial.SigV4.3"></a>

Contoh kode ini menunjukkan aplikasi baris perintah sederhana yang membuat kumpulan koneksi ke Amazon Keyspaces dengan menggunakan file konfigurasi yang kita buat sebelumnya. Ini menegaskan bahwa koneksi dibuat dengan menjalankan kueri sederhana.

```
package <your package>;
// add the following imports to your project
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.config.DriverConfigLoader;
import com.datastax.oss.driver.api.core.cql.ResultSet;
import com.datastax.oss.driver.api.core.cql.Row;

public class App 
{
    
    public static void main( String[] args )
    {
        //Use DriverConfigLoader to load your configuration file
        DriverConfigLoader loader = DriverConfigLoader.fromClasspath("application.conf");
        try (CqlSession session = CqlSession.builder()
                .withConfigLoader(loader)
                .build()) {

            ResultSet rs = session.execute("select * from system_schema.keyspaces");
            Row row = rs.one();
            System.out.println(row.getString("keyspace_name"));
        }
    }
}
```

**catatan**  
Gunakan `try` blok untuk membuat koneksi untuk memastikan bahwa itu selalu tertutup. Jika Anda tidak menggunakan `try` blok, ingatlah untuk menutup koneksi Anda untuk menghindari kebocoran sumber daya.

## Connect ke Amazon Keyspaces menggunakan driver DataStax Java 3.x untuk Apache Cassandra dan plugin otentikasi SiGv4
<a name="java3x_tutorial.SigV4"></a>

Bagian berikut menjelaskan cara menggunakan plugin otentikasi SiGv4 untuk driver DataStax Java sumber terbuka 3.x untuk Apache Cassandra untuk mengakses Amazon Keyspaces. Plugin tersedia dari [GitHub repositori](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin/tree/3.x-Driver-Compatible).

Plugin otentikasi SiGv4 memungkinkan Anda menggunakan kredensyal IAM untuk pengguna dan peran saat menghubungkan ke Amazon Keyspaces. Alih-alih memerlukan nama pengguna dan kata sandi, plugin ini menandatangani permintaan API menggunakan kunci akses. Untuk informasi selengkapnya, lihat [Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces](access.credentials.md). 

### Langkah 1: Prasyarat
<a name="java3x_tutorial.SigV4.1"></a>

Untuk menjalankan contoh kode ini, pertama-tama Anda harus menyelesaikan tugas-tugas berikut.
+ Buat kredensi untuk pengguna atau peran IAM Anda mengikuti langkah-langkah di. [Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces](access.credentials.md) Tutorial ini mengasumsikan bahwa kunci akses disimpan sebagai variabel lingkungan. Untuk informasi selengkapnya, lihat [Simpan kunci akses untuk akses terprogram](aws.credentials.manage.md).
+ Ikuti langkah-langkah di [Sebelum Anda mulai](#using_java_driver.BeforeYouBegin) untuk mengunduh sertifikat digital, mengonversinya menjadi file TrustStore, dan melampirkan keystore dalam argumen JVM ke aplikasi Anda.
+ Tambahkan driver DataStax Java untuk Apache Cassandra ke proyek Java Anda. Pastikan Anda menggunakan versi driver yang mendukung Apache Cassandra 3.11.2. Untuk informasi lebih lanjut, lihat [Driver DataStax Java untuk dokumentasi Apache Cassandra](https://github.com/datastax/java-driver).
+ Tambahkan plugin otentikasi ke aplikasi Anda. Plugin otentikasi mendukung versi 3.x dari driver DataStax Java untuk Apache Cassandra. Jika Anda menggunakan Apache Maven, atau sistem build yang dapat menggunakan dependensi Maven, tambahkan dependensi berikut ke file Anda. `pom.xml` Ganti versi plugin dengan versi terbaru seperti yang ditunjukkan di [GitHub repositori](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin/tree/3.x-Driver-Compatible).

  ```
  <dependency>
          <groupId>software.aws.mcs</groupId>
          <artifactId>aws-sigv4-auth-cassandra-java-driver-plugin_3</artifactId>
          <version>3.0.3</version>
  </dependency>
  ```

### Langkah 2: Jalankan aplikasi
<a name="java3x_tutorial.SigV4.3"></a>

Contoh kode ini menunjukkan aplikasi baris perintah sederhana yang membuat kumpulan koneksi ke Amazon Keyspaces. Ini menegaskan bahwa koneksi dibuat dengan menjalankan kueri sederhana.

```
package <your package>;
// add the following imports to your project

import software.aws.mcs.auth.SigV4AuthProvider;  
import com.datastax.driver.core.Cluster;  
import com.datastax.driver.core.ResultSet;  
import com.datastax.driver.core.Row;  
import com.datastax.driver.core.Session;

public class App 
{
    
    public static void main( String[] args )
    {
        String endPoint = "cassandra.us-east-2.amazonaws.com";  
        int portNumber = 9142;
        Session session = Cluster.builder()  
	                                 .addContactPoint(endPoint)  
	                                 .withPort(portNumber)  
	                                 .withAuthProvider(new SigV4AuthProvider("us-east-2"))  
	                                 .withSSL()  
	                                 .build()  
	                                 .connect();

        ResultSet rs = session.execute("select * from system_schema.keyspaces");  
        Row row = rs.one();  
        System.out.println(row.getString("keyspace_name"));
    }
}
```

Catatan penggunaan:

Untuk daftar titik akhir yang tersedia, lihat[Titik akhir layanan untuk Amazon Keyspaces](programmatic.endpoints.md).

Lihat repositori berikut untuk kebijakan driver Java yang bermanfaat, contoh, dan praktik terbaik saat menggunakan Driver Java dengan Amazon Keyspaces:. [https://github.com/aws-samples/amazon-keyspaces-java-driver-helpers](https://github.com/aws-samples/amazon-keyspaces-java-driver-helpers) 

# Menggunakan driver klien Cassandra Python untuk mengakses Amazon Keyspaces secara terprogram
<a name="using_python_driver"></a>

 Di bagian ini, kami menunjukkan cara terhubung ke Amazon Keyspaces menggunakan driver klien Python. Untuk memberikan kredensyal kepada pengguna dan aplikasi untuk akses terprogram ke sumber daya Amazon Keyspaces, Anda dapat melakukan salah satu hal berikut:
+ Buat kredensyal khusus layanan yang terkait dengan pengguna AWS Identity and Access Management (IAM) tertentu.
+ Untuk keamanan yang ditingkatkan, kami sarankan untuk membuat kunci akses IAM untuk pengguna IAM atau peran yang digunakan di semua AWS layanan. Plugin otentikasi Amazon Keyspaces SigV4 untuk driver klien Cassandra memungkinkan Anda untuk mengautentikasi panggilan ke Amazon Keyspaces menggunakan kunci akses IAM alih-alih nama pengguna dan kata sandi. Untuk informasi selengkapnya, lihat [Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces](access.credentials.md).

**Topics**
+ [Sebelum kamu memulai](#using_python_driver.BeforeYouBegin)
+ [Connect ke Amazon Keyspaces menggunakan driver Python untuk Apache Cassandra dan kredensyal khusus layanan](#python_ssc)
+ [Connect ke Amazon Keyspaces menggunakan driver DataStax Python untuk Apache Cassandra dan plugin otentikasi SiGv4](#python_SigV4)

## Sebelum kamu memulai
<a name="using_python_driver.BeforeYouBegin"></a>

Anda harus menyelesaikan tugas berikut sebelum Anda dapat memulai.

Amazon Keyspaces memerlukan penggunaan Transport Layer Security (TLS) untuk membantu mengamankan koneksi dengan klien. Untuk terhubung ke Amazon Keyspaces menggunakan TLS, Anda perlu mengunduh sertifikat digital Amazon dan mengonfigurasi driver Python untuk menggunakan TLS. 

 Unduh sertifikat digital berikut dan simpan file secara lokal atau di direktori home Anda.

1. AmazonRootCA1

1. AmazonRootCA2

1. AmazonRootCA3

1. AmazonRootCA4

1. Starfield Class 2 Root (opsional - untuk kompatibilitas mundur)

Untuk mengunduh sertifikat, Anda dapat menggunakan perintah berikut.

```
curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
```

**catatan**  
Amazon Keyspaces sebelumnya menggunakan sertifikat TLS yang ditambatkan ke Starfield Class 2 CA. AWS memigrasikan semua Wilayah AWS ke sertifikat yang dikeluarkan di bawah Amazon Trust Services (Amazon Root CAs 1-4). Selama transisi ini, konfigurasikan klien untuk mempercayai Amazon Root CAs 1-4 dan root Starfield untuk memastikan kompatibilitas di semua Wilayah.

Gabungkan semua sertifikat yang diunduh menjadi satu `pem` file dengan nama *keyspaces-bundle.pem* dalam contoh kami. Anda dapat melakukan ini dengan menjalankan perintah berikut. Catat jalur ke file, Anda perlu ini nanti.

```
cat AmazonRootCA1.pem \
 AmazonRootCA2.pem \
 AmazonRootCA3.pem \
 AmazonRootCA4.pem \
 sf-class2-root.crt \
 > keyspaces-bundle.pem
```

## Connect ke Amazon Keyspaces menggunakan driver Python untuk Apache Cassandra dan kredensyal khusus layanan
<a name="python_ssc"></a>

Contoh kode berikut menunjukkan cara menyambung ke Amazon Keyspaces dengan driver klien Python dan kredensyal khusus layanan.

```
from cassandra.cluster import Cluster
from ssl import SSLContext, PROTOCOL_TLSv1_2 , CERT_REQUIRED
from cassandra.auth import PlainTextAuthProvider

ssl_context = SSLContext(PROTOCOL_TLSv1_2 )

ssl_context.load_verify_locations('path_to_file/keyspaces-bundle.pem')

ssl_context.verify_mode = CERT_REQUIRED
auth_provider = PlainTextAuthProvider(username='ServiceUserName', password='ServicePassword')
cluster = Cluster(['cassandra.us-east-2.amazonaws.com'], ssl_context=ssl_context, auth_provider=auth_provider, port=9142)
session = cluster.connect()
r = session.execute('select * from system_schema.keyspaces')
print(r.current_rows)
```

Catatan penggunaan:

1. Ganti `"path_to_file/keyspaces-bundle.pem"` dengan jalur ke file sertifikat gabungan yang disimpan di langkah pertama.

1. Pastikan bahwa *ServiceUserName* dan *ServicePassword* mencocokkan nama pengguna dan kata sandi yang Anda peroleh saat Anda membuat kredensyal khusus layanan dengan mengikuti langkah-langkahnya. [Buat kredensil khusus layanan untuk akses terprogram ke Amazon Keyspaces](programmatic.credentials.ssc.md) 

1. Untuk daftar titik akhir yang tersedia, lihat[Titik akhir layanan untuk Amazon Keyspaces](programmatic.endpoints.md).

## Connect ke Amazon Keyspaces menggunakan driver DataStax Python untuk Apache Cassandra dan plugin otentikasi SiGv4
<a name="python_SigV4"></a>

Bagian berikut menunjukkan cara menggunakan plugin otentikasi SiGv4 untuk driver DataStax Python open-source untuk Apache Cassandra untuk mengakses Amazon Keyspaces (untuk Apache Cassandra). 

Jika Anda belum melakukannya, mulailah dengan membuat kredensyal untuk peran IAM Anda mengikuti langkah-langkah di. [Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces](access.credentials.md) Tutorial ini menggunakan kredensil sementara, yang membutuhkan peran IAM. Untuk informasi selengkapnya tentang kredenal sementara, lihat. [Buat kredensi sementara untuk terhubung ke Amazon Keyspaces menggunakan peran IAM dan plugin SiGv4](temporary.credentials.IAM.md)

[Kemudian, tambahkan plugin otentikasi Python SigV4 ke lingkungan Anda dari repositori. GitHub ](https://github.com/aws/aws-sigv4-auth-cassandra-python-driver-plugin)

```
pip install cassandra-sigv4
```

Contoh kode berikut menunjukkan cara terhubung ke Amazon Keyspaces dengan menggunakan driver DataStax Python open-source untuk Cassandra dan plugin otentikasi SiGv4. Plugin tergantung pada AWS SDK untuk Python (Boto3). Ini digunakan `boto3.session` untuk mendapatkan kredensil sementara. 

```
from cassandra.cluster import Cluster
from ssl import SSLContext, PROTOCOL_TLSv1_2 , CERT_REQUIRED
from cassandra.auth import PlainTextAuthProvider
import boto3
from cassandra_sigv4.auth import SigV4AuthProvider

ssl_context = SSLContext(PROTOCOL_TLSv1_2)
ssl_context.load_verify_locations('path_to_file/keyspaces-bundle.pem')
ssl_context.verify_mode = CERT_REQUIRED

# use this if you want to use Boto to set the session parameters.
boto_session = boto3.Session(aws_access_key_id="AKIAIOSFODNN7EXAMPLE",
                             aws_secret_access_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
                             aws_session_token="AQoDYXdzEJr...<remainder of token>",
                             region_name="us-east-2")
auth_provider = SigV4AuthProvider(boto_session)

# Use this instead of the above line if you want to use the Default Credentials and not bother with a session.
# auth_provider = SigV4AuthProvider()

cluster = Cluster(['cassandra.us-east-2.amazonaws.com'], ssl_context=ssl_context, auth_provider=auth_provider,
                  port=9142)
session = cluster.connect()
r = session.execute('select * from system_schema.keyspaces')
print(r.current_rows)
```

Catatan penggunaan:

1. Ganti `"path_to_file/keyspaces-bundle.pem"` dengan jalur ke sertifikat yang disimpan di langkah pertama.

1. Pastikan bahwa*aws\$1access\$1key\$1id*,*aws\$1secret\$1access\$1key*, dan *aws\$1session\$1token* cocok`Access Key`,`Secret Access Key`, dan `Session Token` Anda dapatkan menggunakan`boto3.session`. Untuk informasi selengkapnya, lihat [Kredensyal](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html) di. *AWS SDK untuk Python (Boto3)* 

1. Untuk daftar titik akhir yang tersedia, lihat[Titik akhir layanan untuk Amazon Keyspaces](programmatic.endpoints.md).

# Menggunakan driver klien Cassandra Node.js untuk mengakses Amazon Keyspaces secara terprogram
<a name="using_nodejs_driver"></a>

 Bagian ini menunjukkan kepada Anda cara terhubung ke Amazon Keyspaces dengan menggunakan driver klien Node.js. Untuk memberikan kredensyal kepada pengguna dan aplikasi untuk akses terprogram ke sumber daya Amazon Keyspaces, Anda dapat melakukan salah satu hal berikut:
+ Buat kredensyal khusus layanan yang terkait dengan pengguna AWS Identity and Access Management (IAM) tertentu.
+ Untuk keamanan yang ditingkatkan, kami sarankan untuk membuat kunci akses IAM untuk pengguna IAM atau peran yang digunakan di semua AWS layanan. Plugin otentikasi Amazon Keyspaces SigV4 untuk driver klien Cassandra memungkinkan Anda untuk mengautentikasi panggilan ke Amazon Keyspaces menggunakan kunci akses IAM alih-alih nama pengguna dan kata sandi. Untuk informasi selengkapnya, lihat [Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces](access.credentials.md).

**Topics**
+ [Sebelum kamu memulai](#using_nodejs_driver.BeforeYouBegin)
+ [Connect ke Amazon Keyspaces menggunakan DataStax driver Node.js untuk Apache Cassandra dan kredensyal khusus layanan](#nodejs_ssc)
+ [Connect ke Amazon Keyspaces menggunakan driver DataStax Node.js untuk Apache Cassandra dan plugin otentikasi SiGv4](#nodejs_SigV4)

## Sebelum kamu memulai
<a name="using_nodejs_driver.BeforeYouBegin"></a>

Anda harus menyelesaikan tugas berikut sebelum Anda dapat memulai.

Amazon Keyspaces memerlukan penggunaan Transport Layer Security (TLS) untuk membantu mengamankan koneksi dengan klien. Untuk terhubung ke Amazon Keyspaces menggunakan TLS, Anda perlu mengunduh sertifikat digital Amazon dan mengonfigurasi driver Python untuk menggunakan TLS. 

 Unduh sertifikat digital berikut dan simpan file secara lokal atau di direktori home Anda.

1. AmazonRootCA1

1. AmazonRootCA2

1. AmazonRootCA3

1. AmazonRootCA4

1. Starfield Class 2 Root (opsional - untuk kompatibilitas mundur)

Untuk mengunduh sertifikat, Anda dapat menggunakan perintah berikut.

```
curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
```

**catatan**  
Amazon Keyspaces sebelumnya menggunakan sertifikat TLS yang ditambatkan ke Starfield Class 2 CA. AWS memigrasikan semua Wilayah AWS ke sertifikat yang dikeluarkan di bawah Amazon Trust Services (Amazon Root CAs 1-4). Selama transisi ini, konfigurasikan klien untuk mempercayai Amazon Root CAs 1-4 dan root Starfield untuk memastikan kompatibilitas di semua Wilayah.

Gabungkan semua sertifikat yang diunduh menjadi satu `pem` file dengan nama *keyspaces-bundle.pem* dalam contoh kami. Anda dapat melakukan ini dengan menjalankan perintah berikut. Catat jalur ke file, Anda perlu ini nanti.

```
cat AmazonRootCA1.pem \
 AmazonRootCA2.pem \
 AmazonRootCA3.pem \
 AmazonRootCA4.pem \
 sf-class2-root.crt \
 > keyspaces-bundle.pem
```

## Connect ke Amazon Keyspaces menggunakan DataStax driver Node.js untuk Apache Cassandra dan kredensyal khusus layanan
<a name="nodejs_ssc"></a>

 Konfigurasikan driver Anda untuk menggunakan file sertifikat gabungan `keyspaces-bundle.pem` untuk TLS dan autentikasi menggunakan kredensyal khusus layanan. Contoh: 

```
const cassandra = require('cassandra-driver');
const fs = require('fs');
const auth = new cassandra.auth.PlainTextAuthProvider('ServiceUserName', 'ServicePassword');
const sslOptions1 = {
         ca: [
                    fs.readFileSync('path_to_file/keyspaces-bundle.pem', 'utf-8')],      
                    host: 'cassandra.us-west-2.amazonaws.com',
                    rejectUnauthorized: true
        };
const client = new cassandra.Client({
                   contactPoints: ['cassandra.us-west-2.amazonaws.com'],
                   localDataCenter: 'us-west-2',
                   authProvider: auth,
                   sslOptions: sslOptions1,
                   protocolOptions: { port: 9142 }
        });
const query = 'SELECT * FROM system_schema.keyspaces';
 
client.execute(query)
                    .then( result => console.log('Row from Keyspaces %s', result.rows[0]))
                    .catch( e=> console.log(`${e}`));
```

Catatan penggunaan:

1. Ganti `"path_to_file/keyspaces-bundle.pem"` dengan jalur ke file sertifikat gabungan yang disimpan di langkah pertama.

1. Pastikan bahwa *ServiceUserName* dan *ServicePassword* mencocokkan nama pengguna dan kata sandi yang Anda peroleh saat Anda membuat kredensyal khusus layanan dengan mengikuti langkah-langkahnya. [Buat kredensil khusus layanan untuk akses terprogram ke Amazon Keyspaces](programmatic.credentials.ssc.md) 

1. Untuk daftar titik akhir yang tersedia, lihat[Titik akhir layanan untuk Amazon Keyspaces](programmatic.endpoints.md).

## Connect ke Amazon Keyspaces menggunakan driver DataStax Node.js untuk Apache Cassandra dan plugin otentikasi SiGv4
<a name="nodejs_SigV4"></a>

Bagian berikut menunjukkan cara menggunakan plugin otentikasi SiGv4 untuk driver DataStax Node.js open-source untuk Apache Cassandra untuk mengakses Amazon Keyspaces (untuk Apache Cassandra). 

Jika Anda belum melakukannya, buat kredensyal untuk pengguna IAM Anda atau peran mengikuti langkah-langkah di. [Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces](access.credentials.md)

[Tambahkan plugin otentikasi SiGv4 Node.js ke aplikasi Anda dari repositori. GitHub ](https://github.com/aws/aws-sigv4-auth-cassandra-nodejs-driver-plugin) Plugin mendukung versi 4.x dari driver DataStax Node.js untuk Cassandra dan tergantung pada AWS SDK untuk Node.js. Ini digunakan `AWSCredentialsProvider` untuk mendapatkan kredensil.

```
$ npm install aws-sigv4-auth-cassandra-plugin --save
```

Contoh kode ini menunjukkan cara mengatur instance khusus Wilayah `SigV4AuthProvider` sebagai penyedia otentikasi.

```
const cassandra = require('cassandra-driver');
const fs = require('fs');
const sigV4 = require('aws-sigv4-auth-cassandra-plugin');

const auth = new sigV4.SigV4AuthProvider({
    region: 'us-west-2', 
    accessKeyId:'AKIAIOSFODNN7EXAMPLE',
    secretAccessKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'});

const sslOptions1 = {
  ca: [
      fs.readFileSync('path_to_file/keyspaces-bundle.pem', 'utf-8')],
  host: 'cassandra.us-west-2.amazonaws.com',
  rejectUnauthorized: true
};


const client = new cassandra.Client({
  contactPoints: ['cassandra.us-west-2.amazonaws.com'],
  localDataCenter: 'us-west-2',
  authProvider: auth,
  sslOptions: sslOptions1,
  protocolOptions: { port: 9142 }
});


const query = 'SELECT * FROM system_schema.keyspaces';

client.execute(query).then(
    result => console.log('Row from Keyspaces %s', result.rows[0]))
    .catch( e=> console.log(`${e}`));
```

Catatan penggunaan:

1. Ganti `"path_to_file/keyspaces-bundle.pem"` dengan jalur ke sertifikat yang disimpan di langkah pertama.

1. Pastikan bahwa *accessKeyId* dan *secretAccessKey* cocok dengan Kunci Akses dan Kunci Akses Rahasia yang Anda peroleh menggunakan`AWSCredentialsProvider`. Untuk informasi selengkapnya, lihat [Menyetel Kredensyal di Node.js](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html) di *AWS SDK untuk JavaScript * di Node.js. 

1. Untuk menyimpan kunci akses di luar kode, lihat praktik terbaik di[Simpan kunci akses untuk akses terprogram](aws.credentials.manage.md).

1. Untuk daftar titik akhir yang tersedia, lihat[Titik akhir layanan untuk Amazon Keyspaces](programmatic.endpoints.md).

# Menggunakan driver klien Cassandra .NET Core untuk mengakses Amazon Keyspaces secara terprogram
<a name="using_dotnetcore_driver"></a>

Bagian ini menunjukkan kepada Anda cara terhubung ke Amazon Keyspaces dengan menggunakan driver klien.NET Core. Langkah-langkah pengaturan akan bervariasi tergantung pada lingkungan dan sistem operasi Anda, Anda mungkin harus memodifikasinya sesuai. Amazon Keyspaces memerlukan penggunaan Transport Layer Security (TLS) untuk membantu mengamankan koneksi dengan klien. Untuk terhubung ke Amazon Keyspaces menggunakan TLS, konfigurasikan driver Anda untuk menggunakan penyimpanan kepercayaan sistem, yang mencakup Amazon Root 1-4. CAs

1.  Instal CSharp Driver Cassandra melalui nuget, menggunakan konsol nuget. 

   ```
   PM> Install-Package CassandraCSharpDriver
   ```

1. Contoh berikut menggunakan proyek konsol .NET Core C \$1 untuk terhubung ke Amazon Keyspaces dan menjalankan kueri.

   ```
   using Cassandra;
   using System;
   using System.Collections.Generic;
   using System.Linq;
   using System.Net.Security;
   using System.Runtime.ConstrainedExecution;
   using System.Security.Cryptography.X509Certificates;
   using System.Text;
   using System.Threading.Tasks;
   
   namespace CSharpKeyspacesExample
   {
       class Program
       {
           public Program(){}
   
           static void Main(string[] args)
           {
               var userName = "ServiceUserName";
               var pwd = "ServicePassword";
               certCollection.Add(amazoncert);
    
               var awsEndpoint =  "cassandra.us-east-2.amazonaws.com" ;  
   
               var cluster = Cluster.Builder()
                        .AddContactPoints(awsEndpoint)
                        .WithPort(9142)
                        .WithAuthProvider(new PlainTextAuthProvider(userName, pwd))
                        .WithSSL(new SSLOptions().SetCertificateCollection(certCollection))
                        .Build();
   
               var session = cluster.Connect();
               var rs = session.Execute("SELECT * FROM system_schema.tables;");
               foreach (var row in rs)
               {
                   var name = row.GetValue<String>("keyspace_name");
                   Console.WriteLine(name);
               }
           }
       }
   }
   ```

Catatan penggunaan:

1. Pastikan Anda menggunakan toko kepercayaan sistem default, yang mencakup Amazon Root CAs 1-4.

1. Pastikan bahwa *ServiceUserName* dan *ServicePassword* mencocokkan nama pengguna dan kata sandi yang Anda peroleh saat Anda membuat kredensyal khusus layanan dengan mengikuti langkah-langkahnya. [Buat kredensil khusus layanan untuk akses terprogram ke Amazon Keyspaces](programmatic.credentials.ssc.md) 

1. Untuk daftar titik akhir yang tersedia, lihat[Titik akhir layanan untuk Amazon Keyspaces](programmatic.endpoints.md).

# Menggunakan driver klien Cassandra Go untuk mengakses Amazon Keyspaces secara terprogram
<a name="using_go_driver"></a>

Bagian ini menunjukkan kepada Anda cara terhubung ke Amazon Keyspaces dengan menggunakan driver klien Go Cassandra. Untuk memberikan kredensyal kepada pengguna dan aplikasi untuk akses terprogram ke sumber daya Amazon Keyspaces, Anda dapat melakukan salah satu hal berikut:
+ Buat kredensyal khusus layanan yang terkait dengan pengguna AWS Identity and Access Management (IAM) tertentu.
+ Untuk keamanan yang ditingkatkan, kami sarankan untuk membuat kunci akses IAM untuk prinsipal IAM yang digunakan di semua layanan. AWS Plugin otentikasi Amazon Keyspaces SigV4 untuk driver klien Cassandra memungkinkan Anda untuk mengautentikasi panggilan ke Amazon Keyspaces menggunakan kunci akses IAM alih-alih nama pengguna dan kata sandi. Untuk informasi selengkapnya, lihat [Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces](access.credentials.md).

**Topics**
+ [Sebelum kamu memulai](#using_go_driver.BeforeYouBegin)
+ [Connect ke Amazon Keyspaces menggunakan driver Gocql untuk Apache Cassandra dan kredensyal khusus layanan](#go_ssc)
+ [Connect ke Amazon Keyspaces menggunakan driver Go untuk Apache Cassandra dan plugin otentikasi SiGv4](#go_SigV4)

## Sebelum kamu memulai
<a name="using_go_driver.BeforeYouBegin"></a>

Anda harus menyelesaikan tugas berikut sebelum Anda dapat memulai.

Amazon Keyspaces memerlukan penggunaan Transport Layer Security (TLS) untuk membantu mengamankan koneksi dengan klien. Untuk terhubung ke Amazon Keyspaces menggunakan TLS, Anda perlu mengunduh sertifikat digital Amazon dan mengonfigurasi driver Go untuk menggunakan TLS. 

 Unduh sertifikat digital berikut dan simpan file secara lokal atau di direktori home Anda.

1. AmazonRootCA1

1. AmazonRootCA2

1. AmazonRootCA3

1. AmazonRootCA4

1. Starfield Class 2 Root (opsional - untuk kompatibilitas mundur)

Untuk mengunduh sertifikat, Anda dapat menggunakan perintah berikut.

```
curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
```

**catatan**  
Amazon Keyspaces sebelumnya menggunakan sertifikat TLS yang ditambatkan ke Starfield Class 2 CA. AWS memigrasikan semua Wilayah AWS ke sertifikat yang dikeluarkan di bawah Amazon Trust Services (Amazon Root CAs 1-4). Selama transisi ini, konfigurasikan klien untuk mempercayai Amazon Root CAs 1-4 dan root Starfield untuk memastikan kompatibilitas di semua Wilayah.

Gabungkan semua sertifikat yang diunduh menjadi satu `pem` file dengan nama *keyspaces-bundle.pem* dalam contoh kami. Anda dapat melakukan ini dengan menjalankan perintah berikut. Catat jalur ke file, Anda perlu ini nanti.

```
cat AmazonRootCA1.pem \
 AmazonRootCA2.pem \
 AmazonRootCA3.pem \
 AmazonRootCA4.pem \
 sf-class2-root.crt \
 > keyspaces-bundle.pem
```

## Connect ke Amazon Keyspaces menggunakan driver Gocql untuk Apache Cassandra dan kredensyal khusus layanan
<a name="go_ssc"></a>

1. Buat direktori untuk aplikasi Anda.

   ```
   mkdir ./gocqlexample
   ```

1. Arahkan ke direktori baru.

   ```
   cd gocqlexample
   ```

1. Buat file untuk aplikasi Anda.

   ```
   touch cqlapp.go
   ```

1. Unduh driver Go. 

   ```
   go get github.com/gocql/gocql
   ```

1. Tambahkan kode contoh berikut ke file cqlapp.go.

   ```
   package main
   
   import (
   	    "fmt"
   	    "github.com/gocql/gocql"
   	    "log"
   )
   
   func main() {
   
       // add the Amazon Keyspaces service endpoint 
       cluster := gocql.NewCluster("cassandra.us-east-2.amazonaws.com")
       cluster.Port=9142
       // add your service specific credentials
       cluster.Authenticator = gocql.PasswordAuthenticator{
               Username: "ServiceUserName",
               Password: "ServicePassword"}
   
       // provide the path to the keyspaces-bundle.pem
       cluster.SslOpts = &gocql.SslOptions{
               CaPath: "path_to_file/keyspaces-bundle.pem",
               EnableHostVerification: false,            
        }
   
        // Override default Consistency to LocalQuorum
        cluster.Consistency = gocql.LocalQuorum
        cluster.DisableInitialHostLookup = false
   
        session, err := cluster.CreateSession()
        if err != nil {
               fmt.Println("err>", err)
        }
        defer session.Close()
   
        // run a sample query from the system keyspace
        var text string
        iter := session.Query("SELECT keyspace_name FROM system_schema.tables;").Iter()
        for iter.Scan(&text) {
               fmt.Println("keyspace_name:", text)
        }
        if err := iter.Close(); err != nil {
               log.Fatal(err)
        }
        session.Close()
   }
   ```

   Catatan penggunaan:

   1. Ganti `"path_to_file/keyspaces-bundle.pem"` dengan jalur ke file sertifikat gabungan yang disimpan di langkah pertama.

   1. Pastikan bahwa *ServiceUserName* dan *ServicePassword* mencocokkan nama pengguna dan kata sandi yang Anda peroleh saat Anda membuat kredensyal khusus layanan dengan mengikuti langkah-langkahnya. [Buat kredensil khusus layanan untuk akses terprogram ke Amazon Keyspaces](programmatic.credentials.ssc.md) 

   1. Untuk daftar titik akhir yang tersedia, lihat[Titik akhir layanan untuk Amazon Keyspaces](programmatic.endpoints.md).

1. Bangun programnya.

   ```
   go build cqlapp.go
   ```

1. Jalankan program.

   ```
   ./cqlapp
   ```

## Connect ke Amazon Keyspaces menggunakan driver Go untuk Apache Cassandra dan plugin otentikasi SiGv4
<a name="go_SigV4"></a>

Contoh kode berikut menunjukkan cara menggunakan plugin otentikasi SiGv4 untuk driver Go open-source untuk mengakses Amazon Keyspaces (untuk Apache Cassandra). 

Jika Anda belum melakukannya, buat kredensyal untuk prinsipal IAM Anda mengikuti langkah-langkah di. [Membuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces](access.credentials.md) Jika aplikasi berjalan di Lambda atau instans Amazon EC2, aplikasi Anda secara otomatis menggunakan kredensyal instans. Untuk menjalankan tutorial ini secara lokal, Anda dapat menyimpan kredensialnya sebagai variabel lingkungan lokal.

[Tambahkan plugin otentikasi Go SiGv4 ke aplikasi Anda dari repositori. GitHub](https://github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin) Plugin ini mendukung versi 1.2.x dari driver Go open-source untuk Cassandra dan bergantung pada SDK for Go. AWS 

```
$ go mod init
$ go get github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin
```

Dalam contoh kode ini, titik akhir Amazon Keyspaces diwakili oleh kelas. `Cluster` Ini menggunakan properti `AwsAuthenticator` for authenticator cluster untuk mendapatkan kredensyal.

```
package main

import (
        "fmt"
        "github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin/sigv4"
        "github.com/gocql/gocql"
        "log"
)

func main() {
    // configuring the cluster options
    cluster := gocql.NewCluster("cassandra.us-west-2.amazonaws.com")
    cluster.Port=9142
    
    // the authenticator uses the default credential chain to find AWS credentials
    cluster.Authenticator = sigv4.NewAwsAuthenticator()

    cluster.SslOpts = &gocql.SslOptions{

            CaPath: "path_to_file/keyspaces-bundle.pem",
            EnableHostVerification: false,
    }
    cluster.Consistency = gocql.LocalQuorum
    cluster.DisableInitialHostLookup = false
   
    session, err := cluster.CreateSession()
    if err != nil {
	    fmt.Println("err>", err)
	    return
    }
    defer session.Close()

    // doing the query
    var text string
    iter := session.Query("SELECT keyspace_name FROM system_schema.tables;").Iter()
    for iter.Scan(&text) {
	    fmt.Println("keyspace_name:", text)
    }
    if err := iter.Close(); err != nil {
	    log.Fatal(err)
    }
}
```

Catatan penggunaan:

1. Ganti `"path_to_file/keyspaces-bundle.pem"` dengan jalur ke file sertifikat yang disimpan di langkah pertama.

1. Untuk contoh ini berjalan secara lokal, Anda perlu mendefinisikan variabel berikut sebagai variabel lingkungan:
   + `AWS_ACCESS_KEY_ID`
   + `AWS_SECRET_ACCESS_KEY`
   + `AWS_DEFAULT_REGION`

1. Untuk menyimpan kunci akses di luar kode, lihat praktik terbaik di[Simpan kunci akses untuk akses terprogram](aws.credentials.manage.md).

1. Untuk daftar titik akhir yang tersedia, lihat[Titik akhir layanan untuk Amazon Keyspaces](programmatic.endpoints.md).

# Menggunakan driver klien Cassandra Perl untuk mengakses Amazon Keyspaces secara terprogram
<a name="using_perl_driver"></a>

Bagian ini menunjukkan kepada Anda cara terhubung ke Amazon Keyspaces dengan menggunakan driver klien Perl. Untuk contoh kode ini, kami menggunakan Perl 5. Amazon Keyspaces memerlukan penggunaan Transport Layer Security (TLS) untuk membantu mengamankan koneksi dengan klien. 

**penting**  
Amazon Keyspacescertificate sedang bertransisi ke hirarki Amazon Trust Services (ATS). Pastikan lingkungan Anda mempercayai Amazon Root CAs 1-4 untuk menghindari kesalahan koneksi selama rotasi ini. Driver Perl tidak memvalidasi sertifikat SSL Amazon server, yang berarti Anda tidak dapat mengonfirmasi bahwa Anda terhubung ke Amazon Keyspaces. Langkah kedua, untuk mengkonfigurasi driver untuk menggunakan TLS saat menghubungkan ke Amazon Keyspaces masih diperlukan, dan memastikan bahwa data yang ditransfer antara klien dan server dienkripsi. 

1. Unduh driver Cassandra DBI dari [https://metacpan.org/pod/DBD::Cassandra](https://metacpan.org/pod/DBD::Cassandra) dan instal driver ke lingkungan Perl Anda. Langkah-langkah yang tepat tergantung pada lingkungan. Berikut ini adalah contoh umum.

   ```
   cpanm DBD::Cassandra
   ```

1. Buat file untuk aplikasi Anda.

   ```
   touch cqlapp.pl
   ```

1. Tambahkan kode contoh berikut ke file cqlapp.pl.

   ```
   use DBI;
   my $user = "ServiceUserName";
   my $password = "ServicePassword";
   my $db = DBI->connect("dbi:Cassandra:host=cassandra.us-east-2.amazonaws.com;port=9142;tls=1;", 
   $user, $password);
   
   my $rows = $db->selectall_arrayref("select * from system_schema.keyspaces"); 
   print "Found the following Keyspaces...\n"; 
   for my $row (@$rows) { 
         print join(" ",@$row['keyspace_name']),"\n"; 
   } 
   
   $db->disconnect;
   ```
**penting**  
 Pastikan bahwa *ServiceUserName* dan *ServicePassword* mencocokkan nama pengguna dan kata sandi yang Anda peroleh saat Anda membuat kredensyal khusus layanan dengan mengikuti langkah-langkahnya. [Buat kredensil khusus layanan untuk akses terprogram ke Amazon Keyspaces](programmatic.credentials.ssc.md) 
**catatan**  
Untuk daftar titik akhir yang tersedia, lihat[Titik akhir layanan untuk Amazon Keyspaces](programmatic.endpoints.md).

1. Jalankan aplikasi.

   ```
   perl cqlapp.pl
   ```

# Konfigurasikan akses lintas akun ke Amazon Keyspaces dengan titik akhir VPC
<a name="access.cross-account"></a>

Anda dapat membuat dan menggunakan terpisah Akun AWS untuk mengisolasi sumber daya dan untuk digunakan di lingkungan yang berbeda, misalnya pengembangan dan produksi. Topik ini memandu Anda melalui akses lintas akun untuk Amazon Keyspaces menggunakan titik akhir VPC antarmuka dalam file. Amazon Virtual Private Cloud Untuk informasi selengkapnya tentang konfigurasi akses lintas akun IAM, lihat [Contoh skenario menggunakan akun pengembangan dan produksi terpisah](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html#id_roles_common-scenarios_aws-accounts-example) di Panduan Pengguna IAM. 

Untuk informasi selengkapnya tentang Amazon Keyspaces dan titik akhir VPC pribadi, lihat. [Menggunakan Amazon Keyspaces dengan titik akhir VPC antarmuka](vpc-endpoints.md)

**Topics**
+ [Konfigurasikan akses lintas akun di VPC bersama](access.cross-account.sharedVPC.md)
+ [Konfigurasikan akses lintas akun tanpa VPC bersama](access.cross-account.noVPC.setup.md)

# Konfigurasikan akses lintas akun ke Amazon Keyspaces menggunakan titik akhir VPC di VPC bersama
<a name="access.cross-account.sharedVPC"></a>

Anda dapat membuat sumber daya yang berbeda Akun AWS untuk memisahkan dari aplikasi. Misalnya, Anda dapat membuat satu akun untuk tabel Amazon Keyspaces, akun berbeda untuk aplikasi di lingkungan pengembangan, dan akun lain untuk aplikasi di lingkungan produksi. Topik ini memandu Anda melalui langkah-langkah konfigurasi yang diperlukan untuk menyiapkan akses lintas akun untuk Amazon Keyspaces menggunakan titik akhir VPC antarmuka dalam VPC bersama. 

Untuk langkah-langkah mendetail cara mengonfigurasi titik akhir VPC untuk Amazon Keyspaces, lihat. [Langkah 3: Buat titik akhir VPC untuk Amazon Keyspaces](vpc-endpoints-tutorial.create-endpoint.md)

Dalam contoh ini kami menggunakan tiga akun berikut dalam VPC bersama:
+ `Account A:111111111111`— Akun ini berisi infrastruktur, termasuk titik akhir VPC, subnet VPC, dan tabel Amazon Keyspaces. 
+ `Account B:222222222222`— Akun ini berisi aplikasi di lingkungan pengembangan yang perlu terhubung ke tabel Amazon Keyspaces di. `Account A:111111111111` 
+ `Account C:333333333333`— Akun ini berisi aplikasi di lingkungan produksi yang perlu terhubung ke tabel Amazon Keyspaces di. `Account A:111111111111`

![\[Diagram yang menunjukkan tiga akun berbeda yang dimiliki oleh organisasi yang sama dalam hal yang sama Wilayah AWS yang menggunakan VPC bersama.\]](http://docs.aws.amazon.com/id_id/keyspaces/latest/devguide/images/keyspaces_cross-account_sharedVPC.png)


`Account A:111111111111`adalah akun yang berisi sumber daya (tabel Amazon Keyspaces) yang `Account B:222222222222` dan `Account C:333333333333` perlu diakses, begitu juga akun `Account A:111111111111` yang *dipercaya*. `Account B:222222222222`*dan `Account C:333333333333` merupakan akun dengan prinsipal yang memerlukan akses ke sumber daya (tabel Amazon Keyspaces) di`Account A:111111111111`, jadi `Account B:222222222222` dan `Account C:333333333333` merupakan akun tepercaya.* Akun tepercaya memberikan izin ke akun tepercaya dengan membagikan peran IAM. Prosedur berikut menguraikan langkah-langkah konfigurasi yang diperlukan dalam`Account A:111111111111`.

**Konfigurasi untuk `Account A:111111111111`**

1. Gunakan AWS Resource Access Manager untuk membuat berbagi sumber daya untuk subnet dan berbagi subnet pribadi dengan `Account B:222222222222` dan. `Account C:333333333333`

   `Account B:222222222222`dan sekarang `Account C:333333333333` dapat melihat dan membuat sumber daya di subnet yang telah dibagikan dengan mereka. 

1. Buat titik akhir VPC pribadi Amazon Keyspaces yang didukung oleh. AWS PrivateLink Ini membuat beberapa titik akhir di seluruh subnet bersama dan entri DNS untuk titik akhir layanan Amazon Keyspaces.

1. Buat ruang kunci dan tabel Amazon Keyspaces.

1. Buat peran IAM `Account A:111111111111` yang memiliki akses penuh ke tabel Amazon Keyspaces, baca akses ke tabel sistem Amazon Keyspaces, dan mampu mendeskripsikan resource Amazon EC2 VPC seperti yang ditunjukkan pada contoh kebijakan berikut.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CrossAccountAccess",
               "Effect": "Allow",
               "Action": [
                   "ec2:DescribeNetworkInterfaces",
                   "ec2:DescribeVpcEndpoints",
                   "cassandra:*"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

1. Konfigurasikan kebijakan kepercayaan untuk peran IAM `Account A:111111111111` sehingga `Account B:222222222222` dan `Account C:333333333333` dapat mengambil peran sebagai akun tepercaya. Seperti yang ditunjukkan dalam contoh berikut. 

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": [
             "arn:aws:iam::222222222222:role/Cross-Account-Role-B",
             "arn:aws:iam::333333333333:role/Cross-Account-Role-C"
           ]
         },
         "Action": "sts:AssumeRole",
         "Condition": {}
       }
     ]
   }
   ```

   Untuk informasi selengkapnya tentang kebijakan IAM lintas akun, lihat Kebijakan [lintas akun di Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic-cross-account.html) Pengguna IAM.

**Konfigurasi di `Account B:222222222222` dan `Account C:333333333333`**

1. Di `Account B:222222222222` dan`Account C:333333333333`, buat peran baru dan lampirkan kebijakan berikut yang memungkinkan prinsipal untuk mengambil peran bersama yang dibuat`Account A:111111111111`.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "ec2.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

   Mengizinkan prinsipal untuk mengambil peran bersama diimplementasikan menggunakan `AssumeRole` API dari AWS Security Token Service (AWS STS). Untuk informasi selengkapnya, lihat [Menyediakan akses ke pengguna IAM di pengguna lain Akun AWS yang Anda miliki](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) di Panduan Pengguna IAM. 

1. Di `Account B:222222222222` dan`Account C:333333333333`, Anda dapat membuat aplikasi yang menggunakan plugin SIGV4 otentikasi, yang memungkinkan aplikasi untuk mengambil peran bersama untuk terhubung ke tabel Amazon Keyspaces yang terletak di melalui titik akhir VPC `Account A:111111111111` di VPC bersama. Untuk informasi selengkapnya tentang plugin SIGV4 otentikasi, lihat[Buat kredensi untuk akses terprogram ke Amazon Keyspaces](programmatic.credentials.md). Untuk informasi selengkapnya tentang cara mengonfigurasi aplikasi agar berperan di AWS akun lain, lihat [Otentikasi dan akses](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) di *Panduan Referensi Alat AWS SDKs dan Alat*.

# Mengonfigurasi akses lintas akun ke Amazon Keyspaces tanpa VPC bersama
<a name="access.cross-account.noVPC.setup"></a>

Jika tabel Amazon Keyspaces dan titik akhir VPC pribadi dimiliki oleh akun yang berbeda tetapi tidak berbagi VPC, aplikasi masih dapat menghubungkan lintas akun menggunakan titik akhir VPC. Karena akun tidak berbagi titik akhir VPC,, `Account A:111111111111``Account B:222222222222`, dan `Account C:333333333333` memerlukan titik akhir VPC mereka sendiri. Untuk driver klien Cassandra, Amazon Keyspaces muncul seperti satu node, bukan cluster multi-node. Setelah koneksi, driver klien mencapai server DNS yang mengembalikan salah satu titik akhir yang tersedia di VPC akun. 

Anda juga dapat mengakses tabel Amazon Keyspaces di berbagai akun tanpa titik akhir VPC bersama dengan menggunakan titik akhir publik atau menerapkan titik akhir VPC pribadi di setiap akun. Saat tidak menggunakan VPC bersama, setiap akun memerlukan titik akhir VPC-nya sendiri. Dalam contoh ini`Account A:111111111111`,`Account B:222222222222`, dan `Account C:333333333333` memerlukan titik akhir VPC mereka sendiri untuk mengakses tabel di. `Account A:111111111111` Saat menggunakan titik akhir VPC dalam konfigurasi ini, Amazon Keyspaces muncul sebagai cluster node tunggal ke driver klien Cassandra, bukan cluster multi-node. Setelah koneksi, driver klien mencapai server DNS yang mengembalikan salah satu titik akhir yang tersedia di VPC akun. Tetapi driver klien tidak dapat mengakses `system.peers` tabel untuk menemukan titik akhir tambahan. Karena ada lebih sedikit host yang tersedia, pengemudi membuat lebih sedikit koneksi. Untuk menyesuaikan ini, tingkatkan pengaturan kumpulan koneksi driver dengan faktor tiga. 

![\[Diagram yang menunjukkan tiga akun berbeda yang dimiliki oleh organisasi yang sama dalam hal yang sama Wilayah AWS tanpa VPC bersama.\]](http://docs.aws.amazon.com/id_id/keyspaces/latest/devguide/images/keyspaces_cross-account_noVPC.png)


`Account A:111111111111`adalah akun yang berisi sumber daya (tabel Amazon Keyspaces) yang `Account B:222222222222` dan `Account C:333333333333` perlu diakses, begitu juga akun `Account A:111111111111` yang *dipercaya*. `Account B:222222222222`*dan `Account C:333333333333` merupakan akun dengan prinsipal yang memerlukan akses ke sumber daya (tabel Amazon Keyspaces) di`Account A:111111111111`, jadi `Account B:222222222222` dan `Account C:333333333333` merupakan akun tepercaya.* Akun tepercaya memberikan izin ke akun tepercaya dengan membagikan peran IAM. Prosedur berikut menguraikan langkah-langkah konfigurasi yang diperlukan dalam`Account A:111111111111`.

**Konfigurasi untuk `Account A:111111111111`**

1. Buat keyspace Amazon Keyspaces dan tabel di. `Account A:111111111111`

1. Buat peran IAM `Account A:111111111111` yang memiliki akses penuh ke tabel Amazon Keyspaces dan baca akses ke tabel sistem Amazon Keyspaces.

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Action":[
               "cassandra:Select",
               "cassandra:Modify"
            ],
            "Resource":[
               "arn:aws:cassandra:us-east-1:111111111111:/keyspace/mykeyspace/table/mytable",
               "arn:aws:cassandra:us-east-1:111111111111:/keyspace/system*"
            ]
         }
      ]
   }
   ```

1. Konfigurasikan kebijakan kepercayaan untuk peran IAM `Account A:111111111111` sehingga prinsipal masuk `Account B:222222222222` dan `Account C:333333333333` dapat menganggap peran tersebut sebagai akun tepercaya. Seperti yang ditunjukkan dalam contoh berikut. 

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": [
             "arn:aws:iam::222222222222:role/Cross-Account-Role-B",
             "arn:aws:iam::333333333333:role/Cross-Account-Role-C"
           ]
         },
         "Action": "sts:AssumeRole",
         "Condition": {}
       }
     ]
   }
   ```

   Untuk informasi selengkapnya tentang kebijakan IAM lintas akun, lihat Kebijakan [lintas akun di Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic-cross-account.html) Pengguna IAM.

1. Konfigurasikan titik akhir VPC `Account A:111111111111` dan lampirkan izin ke titik akhir yang memungkinkan peran dari `Account B:222222222222` dan `Account C:333333333333` untuk mengambil peran dalam menggunakan `Account A` titik akhir VPC. Izin ini berlaku untuk titik akhir VPC tempat mereka dilampirkan. Untuk informasi selengkapnya tentang kebijakan titik akhir VPC, lihat. [Mengontrol akses ke titik akhir VPC antarmuka untuk Amazon Keyspaces](vpc-endpoints.md#interface-vpc-endpoints-policies)

   ```
   {{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowAccessfromSpecificIAMroles",
         "Effect": "Allow",
         "Action": "cassandra:*",
         "Resource": "*",
         "Principal": "*",
         "Condition": {
           "ArnEquals": {
             "aws:PrincipalArn": [
               "arn:aws:iam::222222222222:role/Cross-Account-Role-B",
               "arn:aws:iam::333333333333:role/Cross-Account-Role-C"
             ]
           }
         }
       }
     ]
   }
   ```

**Konfigurasi di `Account B:222222222222` dan `Account C:333333333333`**

1. Di `Account B:222222222222` dan`Account C:333333333333`, buat peran baru dan lampirkan kebijakan berikut yang memungkinkan prinsipal untuk mengambil peran bersama yang dibuat`Account A:111111111111`.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": {
               "Effect": "Allow",
               "Action": "sts:AssumeRole",
               "Resource": "arn:aws:iam::111111111111:role/keyspaces_access"
           }
   }
   ```

   Mengizinkan prinsipal untuk mengambil peran bersama diimplementasikan menggunakan `AssumeRole` API dari AWS Security Token Service (AWS STS). Untuk informasi selengkapnya, lihat [Menyediakan akses ke pengguna IAM di pengguna lain Akun AWS yang Anda miliki](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) di Panduan Pengguna IAM. 

1. Di `Account B:222222222222` dan`Account C:333333333333`, Anda dapat membuat aplikasi yang menggunakan plugin SIGV4 otentikasi, yang memungkinkan aplikasi untuk mengambil peran bersama untuk terhubung ke tabel Amazon Keyspaces yang terletak di. `Account A:111111111111` Untuk informasi selengkapnya tentang plugin SIGV4 otentikasi, lihat[Buat kredensi untuk akses terprogram ke Amazon Keyspaces](programmatic.credentials.md). Untuk informasi selengkapnya tentang cara mengonfigurasi aplikasi agar berperan di AWS akun lain, lihat [Otentikasi dan akses](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) di *Panduan Referensi Alat AWS SDKs dan Alat*.