Mengelola autentikasi IAM

Halaman ini berisi petunjuk tentang tugas umum untuk IAM Fitur autentikasi untuk Memorystore for Valkey. Untuk detail selengkapnya tentang fitur ini, lihat Tentang autentikasi IAM.

Membuat instance dengan autentikasi IAM

Untuk membuat instance Memorystore for Valkey yang menggunakan IAM autentikasi, jalankan perintah create:

gcloud beta memorystore instances create INSTANCE_ID --region=REGION_ID --network=NETWORK --node-type=NODE_TYPE --shard-count=SHARD_COUNT --auth-mode=iam-auth

Ganti kode berikut:

  • INSTANCE_ID adalah ID instance Memorystore for Valkey yang membuat. ID instance Anda harus terdiri dari 1 hingga 63 karakter dan hanya menggunakan huruf kecil huruf, angka, atau tanda hubung. ID ini harus diawali dengan huruf kecil dan diakhiri dengan huruf kecil atau angka.

  • REGION_ID adalah region tempat Anda ingin menempatkan instance.

  • NETWORK adalah jaringan yang digunakan untuk membuat instance Anda. Harus menggunakan format: projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID. Tujuan ID jaringan yang digunakan di sini harus cocok dengan ID jaringan yang digunakan oleh koneksi layanan lebih lanjut. Jika tidak, operasi create akan gagal. Untuk detail selengkapnya, lihat Jaringan.

  • NODE_TYPE adalah jenis node yang Anda pilih. Nilai yang diterima:

    • shared-core-nano
    • standard-small
    • highmem-medium
    • highmem-xlarge

    Untuk mengetahui detail selengkapnya tentang jenis node dan konfigurasi instance, lihat Spesifikasi instance dan node.

  • SHARD_COUNT menentukan jumlah shard di di instance Compute Engine. Jumlah shard menentukan total kapasitas memori untuk menyimpan data instance. Untuk mengetahui detail selengkapnya tentang spesifikasi instance, baca Spesifikasi instance dan node.

Memberikan izin untuk autentikasi IAM

Untuk memberikan akses IAM, berikan akun utama Peran roles/memorystore.dbConnectionUser menggunakan petunjuk peran IAM.

Secara default, memberikan peran roles/memorystore.dbConnectionUser kepada akun utama akan akun utama untuk mengakses semua instance di project Anda.

Membuat peran Admin IAM terbatas untuk sebuah instance

Anda mungkin ingin membuat peran yang dapat mengubah koneksi instance Izin IAM tanpa memberikan IAM penuh akses administrator. Hal ini dapat dilakukan dengan membuat IAM terbatas administrator untuk peran roles/memorystore.dbConnectionUser. Untuk selengkapnya detailnya, buka Membuat admin IAM terbatas.

Menghubungkan ke instance yang menggunakan autentikasi IAM

  1. Jika Anda belum memiliki VM Compute Engine yang menggunakan jaringan yang diizinkan sebagai instance Valkey, buat instance tersebut dan hubungkan dengan dengan mengikuti Panduan Memulai Menggunakan VM Linux.

  2. Agar dapat terhubung ke instance, Anda harus mengaktifkan cakupan akses dan API berikut untuk project Anda:

  3. Instal valkey-cli di VM Compute Engine dengan mengikuti petunjuk di Menginstal Valkey.

  4. Jalankan perintah berikut untuk mendapatkan token akses untuk IAM Anda pengguna:

    gcloud auth print-access-token
    
  5. Hubungkan ke endpoint penemuan instance Anda:

    valkey-cli -h NETWORK_ADDRESS -p PORT -a ACCESS_TOKEN -c
    

    Ganti kode berikut:

    • NETWORK_ADDRESS adalah alamat jaringan instance. Untuk melihat alamat jaringan, baca Melihat informasi instance.

    • PORT adalah nomor port instance. Untuk melihat nomor port, lihat Melihat informasi instance.

    • ACCESS_TOKEN adalah token akses IAM yang diambil di sebelumnya langkah.

  6. Jalankan perintah CLUSTER SHARDS untuk melihat topologi node Anda. Buat catatan salah satu alamat IP {i>node<i} dan nomor porta.

  7. Hubungkan ke node yang Anda pilih dengan menjalankan perintah berikut:

    valkey-cli -h NODE_IP_ADDRESS -p NODE_PORT -a ACCESS_TOKEN -c
    

    Ganti kode berikut:

    • NODE_IP_ADDRESS adalah alamat IP node yang Anda temukan di langkah sebelumnya.
    • NODE_PORT adalah nomor port node yang Anda temukan di langkah sebelumnya.
  8. Jalankan perintah SET dan GET Valkey untuk memverifikasi bahwa Anda telah membuat yang terhubung ke node instance Anda.

  9. Setelah selesai menguji koneksi ke instance Valkey, Anda harus pertimbangkan untuk menghapus VM Compute Engine yang digunakan untuk terhubung ke {i>instance<i} Valkey. Tindakan ini akan membantu Anda menghindari timbulnya biaya tagihan ke akun Penagihan Cloud Anda.

  10. Jalankan perintah berikut untuk menggunakan valkey-cli guna mengautentikasi dan terhubung ke instance Anda, mengganti variabel dengan nilai yang sesuai:

    valkey-cli -h NETWORK_ADDRESS -p PORT -a ACCESS_TOKEN -c
    

    Ganti kode berikut:

    • NETWORK_ADDRESS adalah alamat jaringan instance. Untuk melihat alamat jaringan, baca Melihat informasi instance.

    • PORT adalah nomor port instance. Untuk melihat nomor port, lihat Melihat informasi instance.

    • ACCESS_TOKEN adalah token akses IAM yang diambil di sebelumnya langkah.

  11. Jalankan perintah SET dan GET Valkey untuk memverifikasi bahwa Anda telah membuat koneksi yang telah diotentikasi ke instance Anda.

  12. Setelah selesai menguji koneksi ke instance Valkey, Anda harus pertimbangkan untuk menghapus VM Compute Engine yang digunakan untuk terhubung ke {i>instance<i} Valkey. Tindakan ini akan membantu Anda menghindari timbulnya biaya tagihan ke akun Penagihan Cloud Anda.

Mengotomatiskan pengambilan token akses

Sebaiknya Anda mengotomatiskan pengambilan token akses di aplikasi, karena token akses tidak mudah dikodekan karena masa pakainya yang singkat.

  1. (Opsional) Jika belum melakukannya, buat akun layanan untuk aplikasi Anda (lihat Membuat dan mengelola akun layanan).

    gcloud iam service-accounts create SA_NAME \
        --description="DESCRIPTION" \
        --display-name="DISPLAY_NAME"
    

    Ganti kode berikut:

    • SA_NAME adalah nama akun layanan.
    • DESCRIPTION adalah deskripsi opsional dari akun layanan.
    • DISPLAY_NAME adalah nama akun layanan yang akan ditampilkan di Konsol Google Cloud Anda.
  2. Beri akun layanan izin memorystore.dbConnectionUser di proyek.

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="serviceAccount:SA_NAME@PROJECT_ID.iam.gserviceaccount.com" \
    --role="memorystore.dbConnectionUser"
    

    Ganti kode berikut:

    • PROJECT_ID adalah project ID.
    • SA_NAME adalah nama akun layanan.
    • ROLE_NAME adalah nama peran, seperti roles/compute.osLogin.
  3. Autentikasi aplikasi Anda sebagai akun layanan yang diberikan. Lihat akun layanan untuk informasi selengkapnya.

    Untuk contoh kode yang menunjukkan cara mengautentikasi aplikasi menggunakan library klien populer, lihat contoh kode library klien autentikasi IAM.

Contoh kode untuk terhubung ke instance yang menggunakan IAM Auth

Untuk melihat contoh kode yang kompatibel dengan Valkey tentang cara menyiapkan library klien agar terhubung ke yang menggunakan IAM Auth, lihat contoh kode library klien Autentikasi IAM.