Memorystore menyediakan fitur autentikasi Identity and Access Management (IAM) yang memanfaatkan IAM untuk membantu Anda mengelola akses login bagi pengguna dan akun layanan dengan lebih baik. Autentikasi berbasis IAM terintegrasi dengan Redis AUTH, sehingga Anda dapat mengganti kredensial (token IAM) dengan lancar tanpa mengandalkan sandi statis.
Untuk mengetahui petunjuk tentang cara menyiapkan autentikasi IAM untuk cluster Memorystore, lihat Mengelola autentikasi IAM.
Autentikasi IAM untuk Redis
Saat menggunakan autentikasi IAM, izin untuk mengakses cluster Memorystore tidak diberikan langsung kepada pengguna akhir. Sebagai gantinya, izin dikelompokkan ke dalam peran, dan peran diberikan kepada akun utama. Untuk mengetahui informasi selengkapnya, lihat Ringkasan IAM.
Administrator yang melakukan autentikasi dengan IAM dapat menggunakan autentikasi IAM Memorystore untuk mengelola kontrol akses ke instance mereka secara terpusat menggunakan kebijakan IAM. Kebijakan IAM mencakup entity berikut:
Akun utama. Di Memorystore, Anda dapat menggunakan dua jenis akun utama: Akun pengguna, dan akun layanan (untuk aplikasi). Jenis akun utama lainnya, seperti grup Google, domain Google Workspace, atau domain Cloud Identity belum didukung untuk autentikasi IAM. Untuk mengetahui informasi selengkapnya, lihat Konsep yang terkait dengan identitas.
Peran. Untuk autentikasi IAM Memorystore, pengguna memerlukan izin redis.clusters.connect untuk melakukan autentikasi dengan cluster. Untuk mendapatkan izin ini, Anda dapat mengikat pengguna atau akun layanan ke peran Redis Cluster DB Connection User (roles/redis.dbConnectionUser) yang telah ditetapkan. Untuk mengetahui informasi selengkapnya tentang peran IAM, lihat Peran.
Resource. Resource yang diakses utama adalah cluster Memorystore. Secara default, binding kebijakan IAM diterapkan di level project, sehingga akun utama menerima izin peran untuk semua instance Memorystore dalam project. Namun, pengikatan kebijakan IAM dapat dibatasi untuk cluster tertentu. Untuk mengetahui petunjuknya, lihat Mengelola izin untuk autentikasi IAM.
Perintah Redis AUTH
Fitur autentikasi IAM menggunakan perintah AUTH Redis untuk berintegrasi dengan IAM, sehingga klien dapat memberikan token akses IAM yang akan diverifikasi oleh cluster Memorystore sebelum mengizinkan akses ke data.
Seperti setiap perintah, perintah AUTH dikirim tanpa dienkripsi kecuali jika Enkripsi Dalam Perjalanan diaktifkan.
Untuk mengetahui contoh tampilan perintah AUTH, lihat Menghubungkan ke cluster Redis yang menggunakan autentikasi IAM.
Rentang waktu token akses IAM
Secara default, masa berlaku token akses IAM yang Anda ambil sebagai bagian dari autentikasi akan berakhir satu jam setelah diambil. Atau, saat membuat token akses, Anda dapat menentukan waktu habis masa berlaku token akses.
Saat membuat koneksi Redis baru, Anda harus memberikan token akses yang valid dengan
menggunakan perintah AUTH
. Jika masa berlaku token habis, Anda harus mendapatkan token baru untuk membuat koneksi baru. Namun, jika Anda telah mengautentikasi koneksi yang ada, koneksi tersebut akan terus berfungsi, meskipun masa berlaku token berakhir.
Mengakhiri koneksi yang diautentikasi
Jika Anda ingin mengakhiri koneksi, gunakan perintah Redis CLIENT KILL
. Untuk menemukan koneksi yang ingin Anda akhiri, jalankan CLIENT LIST
terlebih dahulu, yang menampilkan koneksi klien dalam urutan usia. Kemudian, Anda dapat menjalankan CLIENT KILL
untuk mengakhiri koneksi.
Mengaktifkan autentikasi IAM
Mengaktifkan autentikasi IAM tidak menurunkan performa steady state. Namun, hal ini memengaruhi kecepatan Anda dalam membuat koneksi.
Mengaktifkan autentikasi IAM membatasi kecepatan koneksi klien yang dibuat setiap detik. Hal ini karena autentikasi IAM Google Cloud harus mengautentikasi setiap koneksi baru. Dalam kondisi stabil, aplikasi mengaktifkan kumpulan koneksi sehingga dampaknya dapat diabaikan. Namun, saat aplikasi klien dimuat ulang melalui deployment atau pemrosesan bounce, mungkin ada lonjakan koneksi yang dibuat kembali. Jika Anda memperbarui klien secara bertahap dan menerapkan backoff eksponensial, Anda dapat menyerap penurunan kecepatan ini.
Untuk melihat contoh kode tentang cara menggunakan autentikasi IAM, lihat Contoh kode autentikasi IAM dan enkripsi saat transit.
Keamanan dan privasi
Autentikasi IAM membantu Anda memastikan bahwa cluster Redis Anda hanya dapat diakses oleh akun utama IAM yang berwenang. Enkripsi TLS tidak disediakan kecuali jika Enkripsi dalam Transit diaktifkan. Oleh karena itu, sebaiknya Aktifkan Enkripsi Dalam Perjalanan saat menggunakan autentikasi IAM.
Menghubungkan dengan VM Compute Engine
Jika Anda menggunakan VM Compute Engine untuk Menghubungkan ke instance yang menggunakan autentikasi IAM, Anda harus mengaktifkan cakupan akses dan API berikut untuk project Anda:
Cakupan Cloud Platform API. Untuk mengetahui petunjuk tentang cara mengaktifkan cakupan ini, lihat Melampirkan akun layanan dan memperbarui cakupan akses. Untuk mengetahui deskripsi praktik terbaik untuk cakupan akses ini, lihat Praktik terbaik cakupan.
Memorystore for Redis Cluster API. Untuk link yang mengaktifkan API, klik tombol berikut:
Memorystore for Redis Cluster