Mengamankan akses ke instance Anda menggunakan autentikasi dasar berbasis token

Selain autentikasi Identity and Access Management (IAM), Anda dapat menggunakan autentikasi berbasis token dasar untuk mengamankan akses ke instance Memorystore for Valkey. Sebagai solusi ringan, autentikasi berbasis token dasar memungkinkan klien memverifikasi identitas mereka dalam aplikasi Anda menggunakan token mereka.

Autentikasi berbasis token dasar memiliki persyaratan resource minimal dan overhead resource rendah. Selain itu, jika workload Anda saat ini di Memorystore for Redis atau aplikasi lokal Anda sudah menggunakan autentikasi berbasis token dasar, fitur ini akan memfasilitasi transisi yang lancar saat Anda bermigrasi ke Memorystore for Valkey.

Manfaat

Dengan menggunakan autentikasi berbasis token dasar, Anda akan mendapatkan manfaat berikut:

  • Fleksibilitas: untuk instance baru dan yang sudah ada, aktifkan autentikasi kapan saja. Saat Anda mengaktifkan autentikasi berbasis token dasar, instance Anda akan aman. Untuk semua koneksi baru, pengguna harus memberikan token autentikasi untuk melakukan autentikasi ke instance Anda.
  • Rotasi tanpa waktu nonaktif: putar token pengguna tanpa menyebabkan waktu nonaktif pada aplikasi Anda.
  • Kompatibilitas: superuser default mempertahankan hak istimewa yang sama yang diberikan kepada pengguna ini. Autentikasi berbasis token dasar menambahkan lapisan perlindungan ekstra. Hal ini memastikan kompatibilitas mundur saat Anda memigrasikan workload dari Memorystore for Redis ke Memorystore for Valkey.

Mode autentikasi

Autentikasi berbasis token dasar mendukung dua mode autentikasi utama:

  • Autentikasi sederhana: metode langsung saat pengguna mengirimkan token autentikasi untuk mengautentikasi diri mereka sebagai pengguna default
  • Autentikasi multi-pengguna: mengelola beberapa pengguna untuk mengautentikasi akses ke instance Anda

Praktik terbaik

Untuk tujuan keamanan, sebaiknya gunakan praktik terbaik berikut untuk autentikasi berbasis token dasar:

  • Putar token pengguna: gunakan kebijakan rotasi untuk token pengguna.
  • Gunakan Secret Manager: jangan hardcode kredensial autentikasi berbasis token dasar pengguna dalam kode aplikasi Anda. Sebagai gantinya, simpan di Secret Manager dan ambil saat runtime.

    Secret Manager menyediakan vault terenkripsi dan terpusat untuk kredensial pengguna, yang menghilangkan penyebaran secret dan mengurangi overhead operasional pengelolaan kredensial secara manual. Secret Manager menerapkan kontrol akses menggunakan IAM dan membuat log audit secara otomatis. Hal ini memastikan kepatuhan dan mencegah eksposur kredensial.

  • Gabungkan autentikasi berbasis token dasar dengan Transport Layer Security (TLS): saat Anda menggunakan autentikasi berbasis token dasar, sebaiknya aktifkan enkripsi saat transit. Hal ini memastikan nama pengguna dan token autentikasi tidak dikirim dalam teks biasa melalui jaringan.

Sebelum memulai

Sebelum Anda mulai mengamankan instance menggunakan autentikasi berbasis token dasar, selesaikan prasyarat di bagian ini.

Memverifikasi 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 melakukan autentikasi 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 Valkey.

Menggunakankonsol, Google Cloud CLI, dan API Google Cloud

Untuk menggunakan Google Cloud konsol, gcloud CLI, dan API, lakukan hal berikut:

  1. Di Google Cloud konsol, pada halaman pemilih project, pilih atau buat Google Cloud project.

    Buka pemilih project

  2. Pastikan penagihan diaktifkan untuk project Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project.
  3. Instal dan lakukan inisialisasi Google Cloud CLI (gcloud CLI).

    Catatan: Jika Anda menginstal gcloud CLI, pastikan Anda memiliki versi terbaru dengan menjalankan gcloud components update. Untuk mengakses perintah gcloud CLI Memorystore for Valkey, Anda memerlukan setidaknya gcloud CLI versi 489.0.0.

  4. Aktifkan Memorystore for Valkey API.
    Memorystore for Valkey API
  5. Aktifkan Network Connectivity API.
    Network Connectivity API
  6. Aktifkan Service Consumer Management API.
    Service Consumer Management API

Menetapkan peran

Untuk mengonfigurasi autentikasi berbasis token dasar untuk instance Anda, Anda harus memiliki salah satu peran IAM ini di Google Cloud project Anda:

  • roles/memorystore.admin (peran Admin Memorystore)
  • roles/owner (peran Pemilik)
  • roles/editor (peran Editor)

Mengelola autentikasi berbasis token dasar untuk instance

Memorystore for Valkey mendukung tindakan berikut untuk mengelola autentikasi berbasis token dasar untuk instance:

Membuat instance dengan autentikasi berbasis token dasar

Dengan membuat instance dengan autentikasi berbasis token dasar, Anda memiliki metode ringan dan didukung secara luas untuk membatasi akses pengguna ke instance.

Anda dapat membuat instance menggunakan gcloud CLI.

Untuk membuat instance yang mengaktifkan autentikasi berbasis token dasar, gunakan gcloud beta memorystore instances create perintah.

gcloud beta memorystore instances create INSTANCE_ID \
--location=REGION \
--authorization-mode=token-auth

Lakukan penggantian berikut:

  • INSTANCE_ID: ID instance yang ingin Anda buat untuk menggunakan autentikasi berbasis token dasar
  • REGION: region tempat Anda ingin menempatkan instance

Mengaktifkan autentikasi berbasis token dasar untuk instance

Dengan mengaktifkan autentikasi berbasis token dasar untuk instance, Anda memiliki metode ringan dan didukung secara luas untuk membatasi akses pengguna ke instance.

Pengguna default dapat melakukan autentikasi ke instance hanya dengan menggunakan tokennya. Semua pengguna lain melakukan autentikasi menggunakan nama pengguna dan token standar. Untuk mengetahui informasi selengkapnya, lihat Memverifikasi dukungan klien untuk autentikasi berbasis token dasar.

Mengaktifkan autentikasi berbasis token dasar dapat menyebabkan waktu nonaktif untuk aplikasi yang mencoba membuat koneksi baru karena Memorystore for Valkey memerlukan permintaan terautentikasi. Meskipun koneksi yang ada tidak terpengaruh, untuk menggunakan autentikasi berbasis token dasar untuk upaya koneksi berikutnya ke instance, Anda harus memperbarui aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menghubungkan ke instance menggunakan autentikasi berbasis token dasar.

Anda dapat mengaktifkan autentikasi berbasis token dasar untuk instance menggunakan gcloud CLI.

Untuk mengaktifkan autentikasi berbasis token dasar, gunakan perintah gcloud beta memorystore instances update.

gcloud beta memorystore instances update INSTANCE_ID \
--location=REGION \
--authorization-mode=token-auth

Lakukan penggantian berikut:

  • INSTANCE_ID: ID instance yang ingin Anda aktifkan autentikasi berbasis token dasar
  • REGION: region tempat instance berada

Membuat pengguna autentikasi berbasis token dasar untuk instance

Dengan membuat pengguna autentikasi berbasis token dasar untuk instance, Anda mengonfigurasi instance untuk mengizinkan autentikasi multi-pengguna. Setelah pengguna login untuk pertama kalinya, mode autentikasi ini akan bertindak sebagai kredensial yang aman dan dapat dicabut untuk koneksi baru. Pengguna dapat terus menggunakan token autentikasi hingga mereka menghapusnya atau pengguna dihapus.

Anda dapat membuat pengguna autentikasi berbasis token dasar menggunakan gcloud CLI.

Untuk membuat pengguna, gunakan perintah gcloud beta memorystore instances create-token-auth-user.

gcloud beta memorystore instances create-token-auth-user INSTANCE_ID \
--location=REGION \
--token-auth-user=USERNAME

Lakukan penggantian berikut:

  • INSTANCE_ID: ID instance yang ingin Anda buat pengguna autentikasi berbasis token dasar
  • REGION: region tempat instance berada
  • USERNAME: nama pengguna

Mencantumkan pengguna autentikasi berbasis token dasar untuk instance

Anda dapat mengambil daftar pengguna autentikasi berbasis token dasar untuk instance dengan menggunakan gcloud CLI.

Untuk mencantumkan pengguna, gunakan perintah gcloud beta memorystore instances token-auth-users list.

gcloud beta memorystore instances token-auth-users list \
--instance=INSTANCE_ID \
--location=REGION

Lakukan penggantian berikut:

  • INSTANCE_ID: ID instance yang ingin Anda ambil daftar pengguna autentikasi berbasis token dasar
  • REGION: region tempat instance 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 memorystore instances token-auth-users describe.

gcloud beta memorystore instances token-auth-users describe USERNAME \
--instance=INSTANCE_ID \
--location=REGION

Lakukan penggantian berikut:

  • USERNAME: nama pengguna autentikasi berbasis token dasar yang informasinya ingin Anda lihat
  • INSTANCE_ID: ID instance yang dapat diautentikasi oleh pengguna
  • REGION: region tempat instance berada

Menghapus pengguna autentikasi berbasis token dasar dari instance

Dengan menghapus pengguna autentikasi berbasis token dasar dari instance, Anda mencabut hak akses pengguna ke instance.

Anda dapat menghapus pengguna autentikasi berbasis token dasar dari instance menggunakan gcloud CLI.

Untuk menghapus pengguna, gunakan perintah gcloud beta memorystore instances token-auth-users delete.

gcloud beta memorystore instances token-auth-users delete USERNAME \
--instance=INSTANCE_ID \
--location=REGION

Lakukan penggantian berikut:

  • USERNAME: nama pengguna autentikasi berbasis token dasar
  • INSTANCE_ID: ID instance tempat Anda ingin menghapus pengguna
  • REGION: region tempat instance berada

Untuk pengguna yang Anda hapus, Memorystore for Valkey tidak mengakhiri koneksi yang ada. Untuk mengakhiri koneksi ini, jalankan perintah berikut di semua node dalam instance:

CLIENT KILL USER USERNAME

Mengelola autentikasi berbasis token dasar untuk pengguna

Memorystore for Valkey mendukung tindakan berikut untuk mengelola autentikasi berbasis token dasar untuk pengguna:

Membuat token autentikasi untuk pengguna

Dengan membuat token autentikasi untuk pengguna, Anda dapat memutar token pengguna yang ada tanpa menyebabkan waktu nonaktif pada aplikasi Anda.

Anda dapat membuat token autentikasi untuk pengguna menggunakan gcloud CLI.

Untuk membuat pengguna, gunakan gcloud beta memorystore instances token-auth-users create-auth-token perintah.

gcloud beta memorystore instances token-auth-users create-auth-token USERNAME \
--instance=INSTANCE_ID \
--location=REGION

Lakukan penggantian berikut:

  • USERNAME: nama pengguna yang ingin Anda buat token autentikasi
  • INSTANCE_ID: ID instance yang dapat diakses pengguna menggunakan token
  • REGION: region tempat instance berada

Mencantumkan token autentikasi untuk pengguna

Anda dapat mengambil daftar token autentikasi untuk pengguna menggunakan gcloud CLI.

Untuk mencantumkan token, gunakan gcloud beta memorystore instances token-auth-users auth-tokens list perintah.

gcloud beta memorystore instances token-auth-users auth-tokens list \
--token-auth-user=USERNAME \
--instance=INSTANCE_ID \
--location=REGION

Lakukan penggantian berikut:

  • USERNAME: nama pengguna yang memiliki token autentikasi
  • INSTANCE_ID: ID instance yang dapat diakses pengguna menggunakan token autentikasi
  • REGION: region tempat instance berada

Melihat informasi tentang token autentikasi untuk pengguna

Anda dapat melihat informasi tentang token autentikasi untuk pengguna menggunakan gcloud CLI.

Untuk melihat informasi, gunakan perintah gcloud beta memorystore instances token-auth-users auth-tokens describe.

gcloud beta memorystore instances token-auth-users auth-tokens describe AUTH_TOKEN \
--instance=INSTANCE_ID \
--location=REGION \
--token-auth-user=USERNAME

Lakukan penggantian berikut:

  • AUTH_TOKEN: nama token autentikasi yang informasinya ingin Anda lihat
  • INSTANCE_ID: ID instance yang dapat diakses pengguna menggunakan token
  • REGION: region tempat instance 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 gcloud CLI.

Untuk menghapus token, gunakan gcloud beta memorystore instances token-auth-users auth-tokens delete perintah.

gcloud beta memorystore instances token-auth-users auth-tokens delete AUTH_TOKEN \
--instance=INSTANCE_ID \
--location=REGION \
--token-auth-user=USERNAME

Lakukan penggantian berikut:

  • AUTH_TOKEN: nama token autentikasi yang ingin Anda hapus dari pengguna
  • INSTANCE_ID: ID instance yang ingin Anda cegah akses pengguna dengan menghapus token
  • REGION: region tempat instance berada
  • USERNAME: nama pengguna yang memiliki token yang ingin Anda hapus

Menghubungkan ke instance menggunakan autentikasi berbasis token dasar

Anda dapat menggunakan metode berikut untuk menghubungkan ke instance menggunakan autentikasi berbasis token dasar:

  • String Uniform Resource Identifier (URI): string tunggal yang diformat ini digunakan untuk kemudahan karena semua informasi koneksi yang diperlukan (misalnya, nama pengguna dan token autentikasi pengguna, serta alamat IP dan nama host instance) terdapat 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 menggunakan beberapa argumen terpisah.

Di bagian berikut, setiap metode koneksi akan dijelaskan.

Menggunakan string URI

Untuk terhubung dari VM Compute Engine atau lingkungan yang didukung menggunakan string URI, gunakan perintah berikut:

valkey-cli -u
redis://USERNAME:TOKEN@IP_ADDRESS:PORT

Lakukan penggantian berikut:

  • USERNAME: nama pengguna yang mencoba terhubung ke instance
  • TOKEN: token autentikasi pengguna
  • IP_ADDRESS: alamat IP instance
  • PORT: nomor port yang dicadangkan untuk instance

Menggunakan flag

Untuk terhubung dari VM Compute Engine atau lingkungan yang didukung menggunakan flag, gunakan perintah berikut:

valkey-cli --user USERNAME -a TOKEN -h IP_ADDRESS -p PORT

Lakukan penggantian berikut:

  • USERNAME: nama pengguna yang mencoba terhubung ke instance
  • TOKEN: token autentikasi pengguna
  • IP_ADDRESS: alamat IP instance
  • PORT: nomor port yang dicadangkan untuk instance

Memutar token autentikasi pengguna tanpa waktu nonaktif

Untuk memutar token autentikasi pengguna tanpa menyebabkan waktu nonaktif pada aplikasi Anda, lakukan hal berikut:

  1. Buat token autentikasi tambahan untuk pengguna: Memorystore for Valkey membuat token kedua yang valid. Kedua token tersebut valid.
  2. Perbarui aplikasi Anda: perbarui aplikasi Anda untuk menggunakan token baru.
  3. Hapus token autentikasi untuk pengguna: Memorystore for Valkey menghapus token pertama. Pengguna hanya dapat menggunakan token kedua untuk melakukan autentikasi ke aplikasi Anda.

Mengakses log untuk autentikasi berbasis token dasar

Memorystore for Valkey membuat 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.