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, operasicreate
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
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.
Agar dapat terhubung ke instance, Anda harus mengaktifkan cakupan akses dan API berikut untuk project Anda:
Cakupan Cloud Platform API. Untuk petunjuk tentang cara mengaktifkan cakupan ini, lihat Melampirkan akun layanan dan memperbarui cakupan akses. Untuk mengetahui deskripsi praktik terbaik terkait cakupan akses ini, lihat Praktik terbaik cakupan.
Memorystore untuk Valkey API. Untuk link mengaktifkan API, klik tombol berikut:
Memorystore untuk Valkey
Instal
valkey-cli
di VM Compute Engine dengan mengikuti petunjuk di Menginstal Valkey.Jalankan perintah berikut untuk mendapatkan token akses untuk IAM Anda pengguna:
gcloud auth print-access-token
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.
Jalankan perintah
CLUSTER SHARDS
untuk melihat topologi node Anda. Buat catatan salah satu alamat IP {i>node<i} dan nomor porta.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.
Jalankan perintah
SET
danGET
Valkey untuk memverifikasi bahwa Anda telah membuat yang terhubung ke node instance Anda.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.
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.
Jalankan perintah
SET
danGET
Valkey untuk memverifikasi bahwa Anda telah membuat koneksi yang telah diotentikasi ke instance Anda.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.
(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.
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
.
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.