Selain autentikasi Identity and Access Management (IAM), Anda dapat menggunakan autentikasi berbasis token dasar untuk mengamankan akses ke cluster di Memorystore for Redis Cluster. Sebagai solusi ringan, autentikasi dasar berbasis token memungkinkan klien memverifikasi identitas mereka dalam aplikasi Anda menggunakan token mereka.
Autentikasi dasar berbasis token memiliki persyaratan resource minimal dan beban resource yang rendah. Selain itu, jika workload Anda saat ini di Memorystore for Redis atau aplikasi lokal Anda sudah menggunakan autentikasi dasar berbasis token, fitur ini akan memfasilitasi transisi yang lancar saat Anda bermigrasi ke Memorystore for Redis Cluster.
Manfaat
Dengan menggunakan autentikasi berbasis token dasar, Anda akan mendapatkan manfaat berikut:
- Fleksibilitas: untuk cluster baru dan yang sudah ada, aktifkan autentikasi kapan saja. Saat Anda mengaktifkan autentikasi dasar berbasis token, cluster Anda akan aman. Untuk semua koneksi baru, pengguna harus memberikan token untuk mengautentikasi ke dalam cluster Anda.
- Rotasi tanpa periode nonaktif: merotasi token pengguna tanpa menyebabkan periode nonaktif pada aplikasi Anda.
- Kompatibilitas: pengguna super
defaultmempertahankan hak istimewa yang sama yang diberikan kepada pengguna ini. Autentikasi dasar berbasis token menambahkan lapisan perlindungan ekstra. Hal ini memastikan kompatibilitas mundur saat Anda memigrasikan beban kerja dari Memorystore for Redis ke Memorystore for Redis Cluster.
Mode autentikasi
Autentikasi berbasis token dasar mendukung dua mode autentikasi utama:
- Autentikasi sederhana: metode langsung saat pengguna mengirimkan token autentikasi untuk mengautentikasi dirinya sebagai pengguna
default - Autentikasi multi-pengguna: mengelola beberapa pengguna untuk mengautentikasi akses ke cluster Anda
Praktik terbaik
Untuk tujuan keamanan, sebaiknya gunakan praktik terbaik berikut untuk autentikasi dasar berbasis token:
- Putar token pengguna: gunakan kebijakan rotasi untuk token pengguna.
Gunakan Secret Manager: jangan menyandikan kredensial autentikasi dasar berbasis token pengguna dalam kode aplikasi Anda. Sebagai gantinya, simpan di Secret Manager dan ambil saat runtime.
Secret Manager menyediakan brankas terenkripsi dan terpusat untuk kredensial pengguna, yang menghilangkan penyebaran secret dan mengurangi overhead operasional pengelolaan kredensial secara manual. Layanan ini menerapkan kontrol akses menggunakan IAM dan membuat log audit secara otomatis. Hal ini memastikan kepatuhan dan mencegah eksposur kredensial.
Gabungkan autentikasi dasar berbasis token dengan Transport Layer Security (TLS): saat Anda menggunakan autentikasi dasar berbasis token, sebaiknya aktifkan enkripsi dalam transit. Hal ini memastikan bahwa nama pengguna dan token tidak dikirim dalam teks biasa melalui jaringan.
Sebelum memulai
Sebelum mulai mengamankan cluster menggunakan autentikasi dasar berbasis token, selesaikan prasyarat di bagian ini.
Verifikasi dukungan klien untuk autentikasi berbasis token dasar
Untuk mengonfirmasi bahwa aplikasi klien Anda dapat mendukung autentikasi
berbasis token dasar, pastikan aplikasi dapat menggunakan perintah AUTH.
Pengguna default mengautentikasi ke aplikasi klien Anda menggunakan
perintah berikut:
AUTH TOKEN
Untuk perintah ini, TOKEN adalah token autentikasi pengguna default.
Semua pengguna lain melakukan autentikasi menggunakan perintah berikut:
AUTH USERNAME TOKEN
Untuk perintah ini, USERNAME dan TOKEN adalah nama pengguna dan token autentikasi pengguna.
Untuk mengetahui informasi selengkapnya tentang perintah AUTH, lihat AUTH
dalam dokumentasi Redis.
Menggunakan Google Cloud konsol, Google Cloud CLI, dan API
Untuk menggunakan konsol Google Cloud , gcloud CLI, dan API, lakukan hal berikut:
- Di konsol Google Cloud , pada halaman pemilih project, pilih atau buat Google Cloud project.
- Pastikan penagihan diaktifkan untuk project Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project.
Instal dan lakukan inisialisasi Google Cloud CLI (gcloud CLI).
Catatan: Jika Anda telah menginstal gcloud CLI, pastikan Anda memiliki versi terbaru dengan menjalankan
gcloud components update. Untuk mengakses perintah gcloud CLI Memorystore for Redis Cluster, Anda memerlukan gcloud CLI versi minimal489.0.0.-
Aktifkan Memorystore for Redis Cluster API.
Memorystore for Redis Cluster API -
Aktifkan Network Connectivity API.
Network Connectivity API -
Aktifkan Service Consumer Management API.
Service Consumer Management API
Tetapkan peran
Untuk mengonfigurasi autentikasi dasar berbasis token untuk cluster, Anda harus memiliki salah satu peran IAM berikut di project Google Cloud Anda:
roles/redis.admin(peran Admin Redis)roles/owner(peran Pemilik)roles/editor(peran Editor)
Mengelola autentikasi dasar berbasis token untuk cluster
Memorystore for Redis Cluster mendukung tindakan berikut untuk mengelola autentikasi dasar berbasis token untuk cluster:
- Membuat cluster dengan autentikasi berbasis token dasar
- Mengaktifkan autentikasi dasar berbasis token untuk cluster
- Membuat pengguna autentikasi berbasis token dasar untuk cluster
- Mencantumkan pengguna autentikasi berbasis token dasar untuk cluster
- Melihat informasi tentang pengguna autentikasi berbasis token dasar
- Menghapus pengguna autentikasi berbasis token dasar dari cluster
Membuat cluster dengan autentikasi berbasis token dasar
Dengan membuat cluster menggunakan autentikasi berbasis token dasar, Anda memiliki metode ringan dan didukung secara luas untuk membatasi akses pengguna ke cluster.
Anda dapat membuat cluster menggunakan konsol Google Cloud atau gcloud CLI.
Konsol
Untuk membuat cluster dan mengaktifkan autentikasi dasar berbasis token untuk cluster tersebut, lihat Membuat instance.
gcloud
Untuk membuat cluster dan mengaktifkan autentikasi dasar berbasis token untuk cluster tersebut, gunakan perintah
gcloud beta redis clusters create.
gcloud beta redis clusters create CLUSTER_ID \ --region=REGION \ --auth-mode=token-auth
Lakukan penggantian berikut:
- CLUSTER_ID: ID cluster yang ingin Anda buat untuk menggunakan autentikasi berbasis token dasar
- REGION: region tempat Anda ingin menempatkan cluster
Mengaktifkan autentikasi dasar berbasis token untuk cluster
Dengan mengaktifkan autentikasi berbasis token dasar untuk cluster, Anda memiliki metode ringan dan didukung secara luas untuk membatasi akses pengguna ke cluster.
Pengguna default dapat melakukan autentikasi ke cluster hanya dengan menggunakan tokennya.
Semua pengguna lainnya melakukan autentikasi dengan menggunakan nama pengguna dan token standar. Untuk mengetahui informasi selengkapnya, lihat Memverifikasi dukungan klien untuk autentikasi dasar berbasis token.
Mengaktifkan autentikasi dasar berbasis token dapat menyebabkan periode nonaktif untuk aplikasi yang mencoba membuat koneksi baru karena Memorystore for Redis Cluster memerlukan permintaan yang diautentikasi. Meskipun koneksi yang ada tidak terpengaruh, untuk menggunakan autentikasi berbasis token dasar untuk upaya koneksi berikutnya ke cluster, Anda harus mengupdate aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menghubungkan ke cluster menggunakan autentikasi dasar berbasis token.
Anda dapat mengaktifkan autentikasi dasar berbasis token untuk cluster menggunakan Google Cloud konsol atau gcloud CLI.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Redis Cluster.
Klik cluster yang ingin Anda aktifkan autentikasi dasar berbasis token.
Di halaman Cluster at a glance, scroll ke kartu Security.
Di samping kolom Auth Mode, klik Edit (edit).
Jika IAM Auth atau Token Auth muncul di samping kolom, berarti Anda telah mengaktifkan autentikasi IAM atau autentikasi berbasis token dasar untuk cluster.
Pada dialog Auth Mode, pilih opsi Token Auth, lalu klik Update cluster.
gcloud
Untuk mengaktifkan autentikasi dasar berbasis token, gunakan perintah gcloud beta redis clusters update.
gcloud beta redis clusters update CLUSTER_ID \ --region=REGION \ --auth-mode=token-auth
Lakukan penggantian berikut:
- CLUSTER_ID: ID cluster yang ingin Anda aktifkan autentikasi dasar berbasis token
- REGION: region tempat cluster berada
Membuat pengguna autentikasi berbasis token dasar untuk cluster
Dengan membuat pengguna autentikasi berbasis token dasar untuk cluster, Anda mengonfigurasi cluster untuk mengizinkan autentikasi multi-pengguna. Setelah pengguna login pertama kali, mode autentikasi ini berfungsi sebagai kredensial yang aman dan dapat dibatalkan untuk koneksi baru. Pengguna dapat terus menggunakan token autentikasi hingga pengguna menghapusnya atau pengguna dihapus.
Anda dapat membuat pengguna autentikasi berbasis token dasar menggunakan Google Cloud konsol atau gcloud CLI.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Redis Cluster.
Klik cluster yang ingin Anda buat pengguna autentikasi dasar berbasis token.
Di panel navigasi, klik item menu Pengguna.
Jika item menu ini tidak muncul di panel samping, berarti Anda belum membuat cluster dengan autentikasi dasar atau mengaktifkan autentikasi berbasis token dasar untuk cluster.
Di halaman Pengguna, klik Tambahkan pengguna.
Dalam dialog Tambahkan pengguna, masukkan ID untuk pengguna, lalu klik Tambahkan.
gcloud
Untuk membuat pengguna, gunakan perintah gcloud beta redis clusters create-token-auth-user.
gcloud beta redis clusters create-token-auth-user CLUSTER_ID \ --region=REGION \ --token-auth-user=USERNAME
Lakukan penggantian berikut:
- CLUSTER_ID: ID cluster yang ingin Anda buat pengguna autentikasi berbasis token dasar untuknya
- REGION: region tempat cluster berada
- USERNAME: nama pengguna pengguna
Mencantumkan pengguna autentikasi dasar berbasis token untuk cluster
Anda dapat mengambil daftar pengguna autentikasi dasar berbasis token untuk cluster menggunakan konsol Google Cloud atau gcloud CLI.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Redis Cluster.
Klik cluster yang ingin Anda ambil daftar pengguna autentikasi dasar berbasis tokennya.
Di panel navigasi, klik item menu Pengguna. Di halaman Pengguna, daftar pengguna autentikasi dasar berbasis token ditampilkan.
Jika item menu Pengguna tidak muncul di panel navigasi, berarti Anda belum membuat cluster dengan autentikasi dasar atau mengaktifkan autentikasi berbasis token dasar untuk cluster.
gcloud
Untuk mencantumkan pengguna, gunakan perintah gcloud beta redis clusters token-auth-users list.
gcloud beta redis clusters token-auth-users list \ --cluster=CLUSTER_ID \ --region=REGION
Lakukan penggantian berikut:
- CLUSTER_ID: ID cluster yang ingin Anda gunakan untuk mengambil daftar pengguna autentikasi dasar berbasis token.
- REGION: region tempat cluster berada
Melihat informasi tentang pengguna autentikasi berbasis token dasar
Anda dapat melihat informasi tentang pengguna autentikasi berbasis token dasar menggunakan gcloud CLI.
Untuk melihat informasi tentang pengguna, gunakan perintah gcloud beta redis clusters token-auth-users describe.
gcloud beta redis clusters token-auth-users describe USERNAME \ --cluster=CLUSTER_ID \ --region=REGION
Lakukan penggantian berikut:
- USERNAME: nama pengguna autentikasi berbasis token dasar yang informasinya ingin Anda lihat
- CLUSTER_ID: ID cluster tempat pengguna dapat mengautentikasi
- REGION: region tempat cluster berada
Menghapus pengguna autentikasi berbasis token dasar dari cluster
Dengan menghapus pengguna autentikasi berbasis token dasar dari cluster, Anda mencabut hak akses pengguna ke cluster.
Anda dapat menghapus pengguna autentikasi dasar berbasis token dari cluster menggunakan Google Cloud konsol atau gcloud CLI.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Redis Cluster.
Klik cluster tempat Anda ingin menghapus pengguna autentikasi dasar berbasis token.
Di panel navigasi, klik item menu Pengguna.
Jika item menu ini tidak muncul di panel samping, berarti Anda belum membuat cluster dengan autentikasi dasar atau mengaktifkan autentikasi berbasis token dasar untuk cluster.
Di halaman Pengguna, di samping ID pengguna yang ingin Anda hapus, klik Tindakan (more_vert).
Dari menu yang muncul, pilih Hapus pengguna.
Pada dialog Delete user?, masukkan ID pengguna, lalu klik Delete. Memorystore for Redis Cluster menghapus pengguna dan semua token autentikasi yang terkait dengan pengguna tersebut.
Opsional: Untuk pengguna yang Anda hapus, Memorystore for Redis Cluster tidak mengakhiri koneksi yang ada. Untuk mengakhiri koneksi ini, jalankan perintah berikut di semua node dalam cluster:
CLIENT KILL USER USERNAME
gcloud
Untuk menghapus pengguna, gunakan perintah gcloud beta redis clusters token-auth-users delete.
gcloud beta redis clusters token-auth-users delete USERNAME \ --cluster=CLUSTER_ID \ --region=REGION
Lakukan penggantian berikut:
- USERNAME: nama pengguna autentikasi berbasis token dasar pengguna
- CLUSTER_ID: ID cluster tempat Anda ingin menghapus pengguna
- REGION: region tempat cluster berada
Untuk pengguna yang Anda hapus, Memorystore for Redis Cluster juga menghapus semua token autentikasi yang terkait dengan pengguna tersebut. Selain itu, Memorystore for Redis Cluster tidak mengakhiri koneksi yang ada. Untuk mengakhiri koneksi ini, jalankan perintah berikut di semua node dalam cluster:
CLIENT KILL USER USERNAME
Mengelola autentikasi dasar berbasis token untuk pengguna
Memorystore for Redis Cluster mendukung tindakan berikut untuk mengelola autentikasi dasar berbasis token bagi pengguna:
- Membuat token autentikasi untuk pengguna
- Mencantumkan token autentikasi untuk pengguna
- Melihat informasi tentang token autentikasi untuk pengguna
- Menghapus token autentikasi dari pengguna
Membuat token autentikasi untuk pengguna
Saat Anda membuat pengguna autentikasi berbasis token dasar untuk cluster, Memorystore for Redis Cluster akan membuat token autentikasi untuk pengguna secara otomatis. Namun, Anda dapat membuat token autentikasi tambahan untuk pengguna. Dengan melakukannya, Anda dapat merotasi token pengguna yang ada tanpa menyebabkan waktu non-operasional pada aplikasi Anda.
Anda dapat membuat token autentikasi untuk pengguna menggunakan Google Cloud konsol atau gcloud CLI.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Redis Cluster.
Klik cluster yang memiliki pengguna yang ingin Anda buatkan token autentikasinya.
Di panel navigasi, klik item menu Pengguna.
Jika item menu ini tidak muncul di panel samping, berarti Anda belum membuat cluster dengan autentikasi dasar atau mengaktifkan autentikasi berbasis token dasar untuk cluster.
Di halaman Pengguna, di samping ID pengguna yang ingin Anda buat token autentikasinya, klik Tindakan (more_vert).
Dari menu yang muncul, pilih Tambahkan token autentikasi.
Pada dialog Tambahkan token autentikasi, klik Tambahkan.
Jika pengguna sudah memiliki dua token autentikasi, sebelum Anda dapat membuat token lain untuk pengguna tersebut, Anda harus menghapus token yang ada.
gcloud
Untuk membuat token, gunakan perintah gcloud beta redis clusters token-auth-users create-auth-token.
gcloud beta redis clusters token-auth-users create-auth-token USERNAME \ --cluster=CLUSTER_ID \ --region=REGION
Lakukan penggantian berikut:
- USERNAME: nama pengguna yang ingin Anda buatkan token autentikasinya
- CLUSTER_ID: ID cluster yang dapat diakses pengguna dengan menggunakan token
- REGION: region tempat cluster berada
Jika pengguna sudah memiliki dua token autentikasi, sebelum Anda dapat membuat token lain untuk pengguna tersebut, Anda harus menghapus token yang ada.
Mencantumkan token autentikasi untuk pengguna
Anda dapat mengambil daftar token autentikasi untuk pengguna menggunakan gcloud CLI.
Untuk mencantumkan token, gunakan perintah gcloud beta redis clusters token-auth-users auth-tokens list.
gcloud beta redis clusters token-auth-users auth-tokens list \ --token-auth-user=USERNAME \ --cluster=CLUSTER_ID \ --region=REGION
Lakukan penggantian berikut:
- USERNAME: nama pengguna yang memiliki token autentikasi
- CLUSTER_ID: ID cluster yang dapat diakses pengguna dengan menggunakan token autentikasi
- REGION: region tempat cluster berada
Melihat informasi tentang token autentikasi untuk pengguna
Anda dapat melihat informasi tentang token autentikasi untuk pengguna menggunakan konsol Google Cloud atau gcloud CLI.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Redis Cluster.
Klik cluster yang memiliki token autentikasi pengguna yang informasinya ingin Anda lihat.
Di panel navigasi, klik item menu Pengguna.
Jika item menu tidak muncul di panel samping, berarti Anda belum membuat cluster dengan autentikasi dasar atau mengaktifkan autentikasi berbasis token dasar untuk cluster.
Di halaman Pengguna, di samping ID pengguna, klik Tindakan (more_vert).
Dari menu yang muncul, pilih Lihat token autentikasi. Di dialog Token auth, informasi berikut ditampilkan:
- ID pengguna.
- Jumlah token autentikasi yang dimiliki pengguna (satu atau dua).
- Versi setiap token autentikasi, beserta tanggal dan waktu saat Memorystore for Redis Cluster membuat setiap versi. Setiap kali Anda membuat token autentikasi untuk pengguna, Memorystore for Redis Cluster akan membuat versi inkremental token.
- Token autentikasi.
Opsional: Untuk mendapatkan token autentikasi pengguna sehingga Anda dapat menggunakannya untuk terhubung ke cluster, klik Salin (content_copy) di samping token, lalu tempelkan token tersebut ke editor teks.
Klik Done.
gcloud
Untuk melihat informasi, gunakan perintah gcloud beta redis clusters token-auth-users auth-tokens describe.
gcloud beta redis clusters token-auth-users auth-tokens describe AUTH_TOKEN \ --cluster=CLUSTER_ID \ --region=REGION \ --token-auth-user=USERNAME
Lakukan penggantian berikut:
- AUTH_TOKEN: nama token autentikasi yang informasinya ingin Anda lihat
- CLUSTER_ID: ID cluster yang dapat diakses pengguna dengan menggunakan token
- REGION: region tempat cluster berada
- USERNAME: nama pengguna yang memiliki token autentikasi
Menghapus token autentikasi dari pengguna
Menghapus token autentikasi dari pengguna adalah tindakan keamanan penting yang membatalkan token.
Anda dapat menghapus token autentikasi dari pengguna menggunakan Google Cloud konsol atau gcloud CLI.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Redis Cluster.
Klik cluster yang memiliki pengguna yang token autentikasinya ingin Anda hapus.
Di panel navigasi, klik item menu Pengguna.
Jika item menu ini tidak muncul di panel samping, berarti Anda belum membuat cluster dengan autentikasi dasar atau mengaktifkan autentikasi berbasis token dasar untuk cluster.
Di halaman Pengguna, di samping ID pengguna yang ingin Anda hapus token autentikasinya, klik Tindakan (more_vert).
Dari menu yang muncul, pilih Hapus token autentikasi.
Pada dialog Hapus Token Auth?, lakukan hal berikut:
- Dari menu Auth token, pilih token autentikasi yang ingin Anda hapus.
- Di kolom ID token auth, masukkan nomor versi token
(misalnya,
version-1). - Klik Hapus.
gcloud
Untuk menghapus token, gunakan perintah gcloud beta redis clusters token-auth-users auth-tokens delete.
gcloud beta redis clusters token-auth-users auth-tokens delete AUTH_TOKEN \ --cluster=CLUSTER_ID \ --region=REGION \ --token-auth-user=USERNAME
Lakukan penggantian berikut:
- AUTH_TOKEN: nama token autentikasi yang ingin Anda hapus dari pengguna
- CLUSTER_ID: ID cluster yang aksesnya ingin Anda cegah dengan menghapus token pengguna
- REGION: region tempat cluster berada
- USERNAME: nama pengguna yang memiliki token yang ingin Anda hapus
Menghubungkan ke cluster menggunakan autentikasi berbasis token dasar
Anda dapat menggunakan metode berikut untuk terhubung ke cluster menggunakan autentikasi dasar berbasis token:
- String Uniform Resource Identifier (URI): string tunggal yang diformat ini digunakan untuk kemudahan karena semua informasi koneksi yang diperlukan (misalnya, nama pengguna dan token pengguna, serta alamat IP dan nama host cluster) ada dalam satu string.
- Flag: metode ini lebih cocok untuk penggunaan alat command line individual, pembuatan skrip, atau lingkungan tempat konfigurasi dipecah menjadi variabel lingkungan terpisah dengan menggunakan beberapa argumen terpisah.
Di bagian berikut, setiap metode koneksi dijelaskan.
Menggunakan string URI
Untuk terhubung dari VM Compute Engine atau lingkungan yang didukung menggunakan string URI, gunakan perintah berikut:
redis-cli -u redis://USERNAME:TOKEN@IP_ADDRESS:PORT
Lakukan penggantian berikut:
- USERNAME: nama pengguna yang mencoba terhubung ke cluster
- TOKEN: token autentikasi pengguna
- IP_ADDRESS: alamat IP cluster
- PORT: nomor port yang dicadangkan untuk cluster
Menggunakan tanda
Untuk terhubung dari VM Compute Engine atau lingkungan yang didukung menggunakan flag, gunakan perintah berikut:
redis-cli --user USERNAME -a TOKEN -h IP_ADDRESS -p PORT
Lakukan penggantian berikut:
- USERNAME: nama pengguna yang mencoba terhubung ke cluster
- TOKEN: token autentikasi pengguna
- IP_ADDRESS: alamat IP cluster
- PORT: nomor port yang dicadangkan untuk cluster
Mengganti token autentikasi pengguna tanpa periode nonaktif
Untuk mengganti token autentikasi pengguna tanpa menyebabkan aplikasi Anda tidak tersedia, lakukan hal berikut:
- Buat token autentikasi tambahan untuk pengguna: Memorystore for Redis Cluster membuat token kedua yang valid. Kedua token valid.
- Perbarui aplikasi Anda: perbarui aplikasi Anda untuk menggunakan token baru.
- Hapus token autentikasi untuk pengguna: Memorystore for Redis Cluster akan menghapus token pertama. Pengguna hanya dapat menggunakan token kedua untuk melakukan autentikasi ke aplikasi Anda.
Log akses untuk autentikasi berbasis token dasar
Memorystore for Redis Cluster menghasilkan log audit Aktivitas Admin dan Akses Data untuk operasi yang terkait dengan token dan pengguna autentikasi. Untuk mengetahui informasi selengkapnya tentang log audit ini, lihat Memantau akses menggunakan log audit.