Dengan menggunakan kebijakan daftar kontrol akses (ACL) di Memorystore for Valkey, Anda dapat mengamankan akses ke instance Anda. Anda dapat mengaktifkan keamanan terperinci dengan membatasi akses pengguna dan layanan ke kunci, perintah, dan saluran Pub/Sub tertentu.
Berikut adalah contoh kasus penggunaan untuk menggunakan kebijakan ACL guna mengamankan akses ke instance:
- Menyediakan kontrol akses berbasis peran (RBAC): buat profil pengguna yang berbeda untuk berbagai komponen aplikasi Anda. Misalnya, frontend web dapat memiliki akses hanya baca, sementara layanan pekerja latar belakang memiliki akses baca-tulis. Tindakan ini mencegah kebocoran atau pemalsuan data yang tidak disengaja.
- Mencegah perintah yang merusak: batasi perintah berbahaya seperti
FLUSHALL,FLUSHDB, atauCONFIGhanya untuk administrator tingkat tinggi. Hal ini melindungi integritas data dari bug software atau kesalahan manual. Menyediakan keamanan aplikasi multi-tenant: gunakan pengguna ACL terpisah untuk berbagai microservice atau partner eksternal. Hal ini memastikan bahwa pengguna satu layanan tidak dapat membaca atau mengubah kunci yang dimiliki layanan lain.
Memorystore for Valkey tidak menawarkan multi-tenancy tingkat resource. Meskipun keyspace dibagi, satu layanan dapat menggunakan jumlah memori atau CPU yang tidak proporsional.
Melakukan analisis dan pemantauan hanya baca: tetapkan pengguna khusus yang hanya dapat menggunakan
GETatau perintah hanya baca lainnya (misalnya,SCANatauTYPE) ke mesin analisis atau aplikasi dasbor. Tindakan ini mencegah penulisan atau penghapusan data yang tidak disengaja.Kunci database yang aman: membatasi aplikasi untuk berinteraksi hanya dengan kunci yang cocok dengan pola tertentu (misalnya,
app1:*). Hal ini memberikan pemisahan data logis dalam instance.Menonaktifkan skrip Lua: gunakan kebijakan ACL untuk mengelola kemampuan pembuatan skrip Lua untuk instance Anda. Menonaktifkan atau membatasi skrip Lua dapat berguna untuk penyesuaian performa, menyederhanakan fungsionalitas instance, atau mematuhi panduan keamanan untuk organisasi Anda.
Sebelum memulai
Sebelum Anda mulai menggunakan kebijakan ACL, selesaikan petunjuk di bagian ini.
Menggunakan Google Cloud konsol, Google Cloud CLI, dan API
Untuk menggunakan konsol Google Cloud , Google Cloud CLI, dan API, lakukan hal berikut:
- Di konsol Google Cloud , pada halaman pemilih project, pilih atau buat Google Cloud project.
Catatan: Jika Anda tidak berencana untuk menyimpan resource yang Anda buat dalam prosedur ini, buat project baru alih-alih memilih project yang ada. Setelah menyelesaikan langkah-langkah ini, Anda dapat menghapus project, yang menghapus semua resource yang terkait dengan project tersebut.
Buka pemilih project - Pastikan penagihan diaktifkan untuk project Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project.
Instal dan lakukan inisialisasi Google Cloud CLI.
Catatan: Jika Anda telah menginstal gcloud CLI sebelumnya, pastikan Anda memiliki versi terbaru dengan menjalankan
gcloud components update. Anda memerlukan gcloud CLI versi489.0.0atau yang lebih baru untuk mengakses perintah gcloud CLI Memorystore for Valkey.-
Aktifkan Memorystore for Valkey API.
Memorystore for Valkey -
Aktifkan Network Connectivity API.
Network Connectivity API -
Aktifkan Service Consumer Management API.
Service Consumer Management API
Menetapkan peran Memorystore for Valkey
Pastikan Anda atau akun pengguna yang Anda gunakan memiliki izin yang diperlukan untuk tindakan yang perlu Anda lakukan.
Untuk melakukan semua operasi kebijakan ACL, gunakan peran Admin Memorystore
(roles/memorystore.admin) dan Editor Memorystore
(roles/memorystore.editor). Untuk melihat kebijakan ACL saja, gunakan peran
Memorystore Viewer (roles/memorystore.viewer).
Menetapkan izin Memorystore for Valkey
Selain peran Admin Memorystore, Editor Memorystore, dan Pelihat Memorystore, untuk menggunakan kebijakan ACL di Memorystore for Valkey, Anda memerlukan izin berikut:
| Tindakan | Izin |
|---|---|
| Membuat kebijakan ACL | memorystore.aclPolicies.create |
| Menetapkan kebijakan ACL ke instance | memorystore.instances.update |
| Melihat informasi tentang kebijakan ACL | memorystore.aclPolicies.list |
| Melihat informasi tentang kebijakan ACL | memorystore.aclPolicies.get |
| Melihat informasi tentang revisi kebijakan ACL | memorystore.aclPolicyRevisions.list |
| Melihat informasi tentang revisi kebijakan ACL | memorystore.aclPolicyRevisions.get |
| Mengubah kebijakan ACL | memorystore.aclPolicies.update |
| Menghapus kebijakan ACL dari instance | memorystore.instances.update |
| Menghapus kebijakan ACL | memorystore.aclPolicies.delete |
Membuat kebijakan ACL
Dengan membuat kebijakan ACL di Memorystore untuk Valkey, Anda meningkatkan keamanan instance dengan membatasi akses pengguna ke kunci, perintah, dan channel Pub/Sub tertentu.
Anda dapat membuat kebijakan ACL menggunakan konsol Google Cloud atau gcloud CLI.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Valkey.
Di panel navigasi samping, klik ACL policies.
Di halaman ACL policies, klik Create policy.
Di jendela Create policy, lakukan hal berikut:
Di kolom Policy name, masukkan nama untuk kebijakan ACL. Nama kebijakan hanya boleh berisi huruf kecil, angka, dan tanda hubung. Nama ini juga harus diawali dengan huruf dan unik di region-nya.
Dari menu Region, pilih region tempat Anda ingin Memorystore untuk Valkey membuat kebijakan ACL.
Klik Tambahkan Aturan.
Di kolom User ID, masukkan nama pengguna yang akan menerapkan kebijakan ACL.
Di kolom Access string, masukkan string akses untuk kebijakan. String akses adalah aturan yang dapat dibaca manusia yang menentukan izin tertentu untuk pengguna.
Misalnya, jika Anda ingin memberikan izin baca dan tulis superuser
defaultke semua kunci ACL untuk instance, isi kolom ID Pengguna dan String akses, sebagai berikut:ID Pengguna String akses defaulton ~* &* +@allAturan ini memberikan izin berikut kepada pengguna
default:on: pengguna aktif dan diaktifkan untuk autentikasi~*: pengguna memiliki akses baca dan akses tulis ke semua kemungkinan kunci&*: pengguna memiliki akses ke semua saluran Pub/Sub+@all: pengguna dapat menjalankan semua perintah yang tersedia
Untuk mengetahui informasi selengkapnya tentang aturan dan kebijakan ACL lainnya yang dapat Anda buat, lihat ACL dalam dokumentasi Valkey.
Ulangi langkah c hingga e untuk aturan ACL tambahan yang ingin Anda buat untuk kebijakan.
Klik Create.
gcloud
Untuk membuat kebijakan ACL, gunakan perintah gcloud memorystore acl-policies create.
gcloud memorystore acl-policies create ACL_POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all",username="lucian" \ --rules=rule="on +get",username="taylor"
Lakukan penggantian berikut:
- ACL_POLICY_NAME: nama kebijakan ACL yang Anda buat. Nama kebijakan hanya boleh berisi huruf kecil, angka, dan tanda hubung. Nama ini juga harus diawali dengan huruf dan unik di region-nya.
- REGION: region tempat Anda ingin menempatkan kebijakan ACL.
Kebijakan ini menggunakan autentikasi berbasis token dasar dan memiliki aturan yang melakukan tindakan berikut:
- Aturan pertama memberikan izin
~* +@allkepadalucian. Izin ini memungkinkan pengguna mengakses semua kunci dan menjalankan semua perintah. - Aturan kedua memberikan izin
getkepadataylor. Izin ini memungkinkan pengguna mengambil nilai yang terkait dengan kunci. Kebijakan ini membatasi akses pengguna ke operasi data hanya baca, dan mencegah pengguna mengubah kunci.
Untuk membuat aturan bagi kebijakan ACL yang menggunakan autentikasi Identity and Access Management (IAM), sebaiknya gunakan prinsipal IAM untuk nama pengguna (misalnya, alamat email pengguna).
gcloud memorystore acl-policies create ACL_POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all",username="lucian@example.com" \ --rules=rule="on +get",username="taylor@example.com"
Untuk membuat aturan bagi kebijakan ACL yang tidak menggunakan autentikasi, pengguna harus merupakan pengguna default.
gcloud memorystore acl-policies create ACL_POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all",username="default"
Untuk mengetahui informasi selengkapnya tentang autentikasi dasar berbasis token dan autentikasi IAM, lihat Mengamankan akses ke instance Anda menggunakan autentikasi dasar berbasis token dan Tentang autentikasi IAM.
Untuk mengetahui informasi selengkapnya tentang aturan dan kebijakan ACL lainnya yang dapat Anda buat, lihat ACL dalam dokumentasi Valkey.
Menetapkan kebijakan ACL ke instance
Dengan menetapkan kebijakan ACL ke instance, atau dengan mengganti kebijakan yang ditetapkan, Anda memungkinkan Memorystore untuk Valkey menerapkan aturan kebijakan ke instance. Akibatnya, Anda membatasi akses pengguna ke kunci, perintah, dan channel Pub/Sub tertentu.
Anda dapat menetapkan kebijakan ACL ke instance menggunakan Google Cloud console atau gcloud CLI.
Menetapkan kebijakan ke instance baru
Untuk membuat instance dan menetapkan kebijakan ACL ke instance, lihat Membuat instance.
Menetapkan kebijakan ke instance yang ada
Untuk meningkatkan keamanan instance yang ada, Anda dapat menetapkan kebijakan ACL ke instance tersebut.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Valkey.
Klik ID instance yang ingin Anda tetapkan kebijakan ACL-nya.
Di halaman Instance secara sekilas, scroll ke kartu Keamanan.
Di samping kolom ACL policy, klik Edit (edit).
Di jendela Edit ACL policy, lakukan langkah berikut:
Dari menu Kebijakan, pilih kebijakan yang ingin Anda tetapkan ke instance.
Klik Update instance.
gcloud
Untuk menetapkan kebijakan ACL ke instance yang ada, gunakan perintah gcloud memorystore instances update.
gcloud memorystore instances update INSTANCE_ID \ --update_mask=acl_policy \ --acl-policy=ACL_POLICY_NAME \ --location=REGION
Lakukan penggantian berikut:
- INSTANCE_ID: ID instance tempat Anda menetapkan kebijakan ACL
- ACL_POLICY_NAME: nama kebijakan ACL
- REGION: region tempat instance berada
Melihat informasi tentang kebijakan ACL
Melihat informasi tentang kebijakan ACL di Memorystore for Valkey membantu Anda mempertahankan keamanan, memastikan stabilitas operasional lingkungan Anda, dan memungkinkan Anda mengaudit data dalam memori. Kebijakan ini menentukan pengguna mana yang dapat membaca atau mengubah pola kunci tertentu, menjalankan perintah tertentu, atau mengakses channel Pub/Sub tertentu.
Anda dapat melihat informasi tentang kebijakan ACL menggunakan Google Cloud konsol atau gcloud CLI.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Valkey.
Di panel navigasi samping, klik ACL policies.
Di halaman ACL policies, Anda dapat melihat informasi berikut tentang setiap kebijakan ACL:
- ID Kebijakan: ID unik kebijakan
- Lokasi: region tempat kebijakan berada
- Dibuat pada: tanggal dan waktu saat kebijakan dibuat
- Diperbarui pada: tanggal dan waktu saat kebijakan terakhir diperbarui
- Jumlah aturan: jumlah total aturan untuk kebijakan
- Digunakan oleh instance: instance yang ditetapkan ke kebijakan
gcloud
Untuk melihat informasi tentang kebijakan ACL, gunakan perintah gcloud memorystore acl-policies list.
gcloud memorystore acl-policies list --location=REGION
Ganti REGION dengan region tempat kebijakan ACL berada.
Melihat informasi tentang kebijakan ACL
Dengan melihat informasi tentang kebijakan ACL di Memorystore untuk Valkey, Anda dapat melakukan audit keamanan, memecahkan masalah error akses, dan menerapkan prinsip hak istimewa terendah dengan memverifikasi perintah pengguna, izin kunci, dan akses ke channel Pub/Sub. Selain itu, administrator dapat melihat kebijakan ACL untuk memastikan bahwa aplikasi Anda memiliki akses yang sesuai dan untuk mendeteksi aturan yang terlalu permisif.
Anda dapat melihat informasi tentang kebijakan ACL menggunakan
gcloud CLI. Untuk melihat informasi ini, gunakan perintah
gcloud memorystore acl-policies describe.
gcloud memorystore acl-policies describe ACL_POLICY_NAME \ --location=REGION
Lakukan penggantian berikut:
- ACL_POLICY_NAME: nama kebijakan ACL yang informasinya ingin Anda lihat
- REGION: region tempat kebijakan ACL berada
Melihat informasi tentang revisi kebijakan ACL
Saat Anda membuat kebijakan ACL, Memorystore for Valkey akan membuat versi (revisi) untuk kebijakan tersebut. Setiap kali Anda mengubah kebijakan, Memorystore for Valkey akan membuat revisi kebijakan berikutnya.
Karena Memorystore untuk Valkey membuat revisi ini secara otomatis, Anda dapat menggunakannya untuk tujuan pelacakan dan audit internal. Selain itu, dengan melihat revisi, Anda dapat melihat konten persis kebijakan ACL di setiap versi historis.
Dengan menggunakan revisi kebijakan ACL, Anda dapat melacak instance mana yang menggunakan revisi kebijakan tertentu. Hal ini membantu Anda mempertahankan visibilitas dan memastikan bahwa instance berada di versi yang benar selama periode konsistensi tertunda setelah pembaruan kebijakan.
Anda dapat melihat informasi tentang revisi kebijakan ACL menggunakan Google Cloud konsol atau gcloud CLI.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Valkey.
Di panel navigasi samping, klik ACL policies.
Di halaman ACL policies, klik ID kebijakan ACL yang memiliki revisi yang ingin Anda lihat. Di halaman ACL policy revisions, informasi berikut akan muncul:
- ID Revisi: ID setiap revisi kebijakan ACL
- Nomor revisi: jumlah revisi setiap kebijakan ACL
- Location: wilayah tempat setiap revisi kebijakan ACL berada
- Dibuat pada: tanggal dan waktu setiap revisi kebijakan ACL dibuat
- Instance terlampir: instance yang ditetapkan ke setiap revisi kebijakan ACL
- Snapshot: informasi mendetail tentang setiap revisi kebijakan ACL
gcloud
Untuk melihat informasi tentang revisi kebijakan ACL, gunakan perintah
gcloud memorystore acl-policies revisions list.
gcloud memorystore acl-policies revisions list \ --acl-policy=ACL_POLICY_NAME \ --location=REGION
Lakukan penggantian berikut:
- ACL_POLICY_NAME: nama kebijakan ACL yang berisi revisi yang informasinya ingin Anda lihat
- REGION: region tempat kebijakan ACL berada
Dalam output, catat ID revisi. Anda memerlukan ID ini untuk melihat informasi tentang revisi kebijakan ACL tertentu.
Melihat informasi tentang revisi kebijakan ACL
Dengan melihat revisi kebijakan ACL, Anda dapat melihat aturan, metadata, dan daftar semua instance yang terlampir. Anda dapat melihat informasi tentang revisi kebijakan ACL dengan menggunakan Konsol Google Cloud atau gcloud CLI.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Valkey.
Di panel navigasi samping, klik ACL policies.
Di halaman ACL policies, klik ID kebijakan ACL yang memiliki revisi yang ingin Anda lihat.
Di halaman ACL policy revisions, klik link Snapshot di samping revisi kebijakan ACL yang memiliki informasi yang ingin Anda lihat.
gcloud
Untuk melihat informasi tentang revisi kebijakan ACL, gunakan perintah gcloud memorystore acl-policies revisions describe.
gcloud memorystore acl-policies revisions describe ACL_POLICY_REVISION_ID \ --acl-policy=ACL_POLICY_NAME \ --location=REGION
Lakukan penggantian berikut:
- ACL_POLICY_REVISION_ID: ID revisi kebijakan ACL yang informasinya ingin Anda lihat. Anda mencatat ID ini saat melihat informasi tentang revisi kebijakan ACL.
- ACL_POLICY_NAME: nama kebijakan ACL yang berisi revisi.
- REGION: region tempat kebijakan ACL berada.
Mengubah kebijakan ACL
Dengan mengubah kebijakan ACL di Memorystore for Valkey, Anda dapat meningkatkan keamanan, menerapkan akses hak istimewa terendah, dan mengelola keamanan operasional. Anda dapat mengubah kebijakan menggunakan konsol Google Cloud atau gcloud CLI.
Menambahkan aturan ke kebijakan ACL
Untuk meningkatkan keamanan kebijakan ACL, tambahkan aturan ke kebijakan tersebut.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Valkey.
Di panel navigasi samping, klik ACL policies.
Di samping kebijakan ACL yang ingin Anda tambahi aturan, klik Tindakan lainnya (more_vert), lalu pilih Edit.
Di jendela Edit kebijakan, klik Tambahkan aturan.
Di kolom User ID, masukkan nama pengguna yang akan menerapkan kebijakan ACL.
Di kolom Access string, masukkan string akses untuk kebijakan. Untuk mengetahui informasi selengkapnya tentang string akses untuk kebijakan ACL, lihat Membuat kebijakan ACL.
Ulangi langkah 4 hingga 6 untuk aturan ACL tambahan yang ingin Anda tambahkan ke kebijakan.
Klik Simpan.
gcloud
Untuk menambahkan aturan ke kebijakan ACL, gunakan perintah
gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update ACL_POLICY_NAME \ --location=REGION \ --add-rules=rule="on ~list:*",username="lucian"
Lakukan penggantian berikut:
- ACL_POLICY_NAME: nama kebijakan ACL yang ingin Anda tambahkan aturan ACL-nya
- REGION: region tempat kebijakan ACL berada
Aturan ini memberikan akses lucian ke semua kunci yang dimulai dengan list:.
Mengubah aturan untuk kebijakan ACL
Mengubah aturan ACL untuk kebijakan ACL memberikan keamanan yang lebih ketat, peningkatan keselamatan operasional, dan kontrol akses pengguna yang lebih terperinci. Misalnya, Anda dapat mencabut izin selama respons insiden atau mengaktifkan akses sementara untuk tujuan penelusuran bug.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Valkey.
Di panel navigasi samping, klik ACL policies.
Di samping kebijakan ACL yang aturannya ingin Anda ubah, klik Tindakan lainnya (more_vert), lalu pilih Edit.
Di jendela Edit kebijakan, klik Tambahkan aturan.
Di kolom ID Pengguna dan String akses, ubah ID pengguna atau string akses untuk kebijakan. Untuk mengetahui informasi selengkapnya tentang string akses untuk kebijakan ACL, lihat Membuat kebijakan ACL.
Ulangi langkah 4 dan 5 untuk aturan ACL tambahan yang ingin Anda ubah untuk kebijakan.
Klik Simpan.
Mengganti aturan kebijakan ACL
Mirip dengan mengubah aturan untuk kebijakan, mengganti aturan kebijakan memberikan keamanan yang lebih ketat, peningkatan keselamatan operasional, dan kontrol akses pengguna yang lebih terperinci.
gcloud
Untuk mengganti aturan kebijakan ACL, gunakan perintah
gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update ACL_POLICY_NAME \ --location=REGION \ --rules=rule="on ~c*che",username="lucian"
Lakukan penggantian berikut:
- ACL_POLICY_NAME: nama kebijakan ACL yang ingin Anda ganti aturan ACL-nya
- REGION: region tempat kebijakan ACL berada
Aturan yang Anda ganti untuk kebijakan memberikan akses lucian ke semua
kunci yang cocok dengan pola c*che. Misalnya: cache, caache, dan
ceche.
Menghapus aturan dari kebijakan ACL
Jika aturan ACL tidak lagi berlaku untuk kebijakan ACL, Anda dapat menghapusnya.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Valkey.
Di panel navigasi samping, klik ACL policies.
Di samping kebijakan ACL yang ingin Anda hapus aturannya, klik Tindakan lainnya (more_vert), lalu pilih Edit.
Di jendela Edit kebijakan, di samping aturan yang ingin Anda hapus dari kebijakan, klik Hapus aturan (delete).
Ulangi langkah 4 untuk aturan ACL tambahan yang ingin Anda hapus dari kebijakan.
Klik Simpan.
gcloud
Untuk menghapus aturan dari kebijakan ACL, gunakan perintah
gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update ACL_POLICY_NAME \ --location=REGION \ --remove-rules=rule="on ~set",username="lucian"
Lakukan penggantian berikut:
- ACL_POLICY_NAME: nama kebijakan ACL yang ingin Anda hapus aturan ACL-nya
- REGION: region tempat kebijakan ACL berada
Menghapus aturan ini akan mencabut izin terkaitnya untuk lucian. Untuk mengakses
instance, lucian kini harus terhubung sebagai pengguna default dan tunduk
pada izin pengguna tersebut.
Menghapus kebijakan ACL dari instance
Jika kebijakan ACL tidak lagi berlaku untuk instance Memorystore for Valkey, Anda dapat menghapusnya. Anda dapat menghapus kebijakan menggunakan konsolGoogle Cloud atau gcloud CLI.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Valkey.
Klik ID instance yang ACL kebijakannya ingin Anda hapus.
Di halaman Instance secara sekilas, scroll ke kartu Keamanan.
Di samping kolom ACL policy, klik Edit (edit).
Di jendela Edit ACL policy, lakukan langkah berikut:
Dari menu Kebijakan, pilih Tidak ada kebijakan.
Klik Update instance.
gcloud
Untuk menghapus kebijakan ACL dari instance, gunakan perintah
gcloud memorystore instances update.
gcloud memorystore instances update INSTANCE_ID \ --clear-acl-policy \ --location=REGION
Lakukan penggantian berikut:
- INSTANCE_ID: ID instance tempat Anda menghapus kebijakan ACL
- REGION: region tempat instance berada
Menghapus kebijakan ACL
Jika tidak lagi memerlukan kebijakan ACL, Anda dapat menghapusnya. Anda dapat menghapus kebijakan menggunakan konsol Google Cloud atau gcloud CLI.
Konsol
Di konsol Google Cloud , buka halaman Memorystore for Valkey.
Di panel navigasi samping, klik ACL policies.
Di samping kebijakan ACL yang ingin Anda hapus, klik Tindakan lainnya (more_vert), lalu pilih Hapus.
Jika item menu Hapus dinonaktifkan, berarti kebijakan ditetapkan ke instance. Sebelum dapat menghapus kebijakan, Anda harus menghapusnya dari setiap instance.
Di jendela Hapus kebijakan, lakukan langkah-langkah berikut:
Di kolom teks, masukkan nama kebijakan.
Klik Delete.
gcloud
Untuk menghapus kebijakan ACL, gunakan perintah
gcloud memorystore acl-policies delete.
gcloud memorystore acl-policies delete ACL_POLICY_NAME \ --location=REGION
Lakukan penggantian berikut:
- ACL_POLICY_NAME: nama kebijakan ACL yang ingin Anda hapus
- REGION: region tempat kebijakan ACL berada
Menonaktifkan skrip Lua
Anda dapat menggunakan kebijakan ACL untuk mengelola kemampuan pembuatan skrip Lua untuk instance Anda. Menonaktifkan atau membatasi skrip Lua dapat berguna untuk penyesuaian performa, menyederhanakan fungsionalitas instance, atau mematuhi pedoman keamanan untuk organisasi Anda.
Menonaktifkan perintah pembuatan skrip untuk pengguna
Untuk menonaktifkan skrip Lua agar pengguna tidak dapat menjalankannya, Anda harus menggunakan kebijakan ACL dan menghapus izin untuk perintah pembuatan skrip dari string aturan ACL pengguna.
Valkey mengategorikan perintah ke dalam grup. Pembuatan skrip Lua termasuk dalam kategori @scripting. Perintah utama yang mengharuskan Anda menghapus izin pengguna adalah:
EVAL: menjalankan skrip Lua yang disediakan sebagai stringEVALSHA: menjalankan skrip Lua yang di-cache menggunakan perintahSCRIPT LOADSCRIPT: mengelola cache skrip (misalnya,LOAD,FLUSH,EXISTS, danKILL)Perintah
SCRIPTmencakup subperintah berikut:
Anda dapat menonaktifkan semua perintah scripting atau perintah tertentu untuk pengguna.
Untuk menonaktifkan perintah pembuatan skrip, gunakan gcloud CLI dan
beri awalan perintah atau kategori dengan tanda minus (-).
Menonaktifkan semua perintah pembuatan skrip untuk pengguna
Untuk menonaktifkan semua perintah scripting bagi pengguna, buat kebijakan ACL dan tetapkan ke instance atau ubah kebijakan ACL yang ditetapkan ke instance.
Buat kebijakan
Untuk membuat kebijakan ACL guna menonaktifkan semua perintah scripting untuk pengguna bernama
lucian, gunakan perintah gcloud memorystore acl-policies create.
gcloud memorystore acl-policies create POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all -@scripting",username=lucian
Lakukan penggantian berikut:
- POLICY_NAME: nama kebijakan ACL
- REGION: region tempat Anda ingin menempatkan kebijakan ACL
Setelah membuat kebijakan, Anda harus menetapkannya ke instance baru atau yang sudah ada.
Mengubah kebijakan
Untuk mengubah kebijakan ACL guna menonaktifkan semua perintah scripting untuk lucian, gunakan perintah
gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all -@scripting",username=lucian
Lakukan penggantian berikut:
- POLICY_NAME: nama kebijakan ACL
- REGION: region tempat kebijakan ACL berada
Jika Anda hanya ingin memberikan izin tertentu yang dibutuhkan pengguna, ubah nilai +@all. Misalnya, jika Anda ingin pengguna hanya memiliki akses ke perintah hanya baca, ubah +@all menjadi +@read. Untuk mengetahui informasi selengkapnya tentang izin pengguna yang dapat Anda tetapkan, lihat dokumentasi ACL Valkey.
Menonaktifkan perintah pembuatan skrip untuk pengguna
Anda dapat menargetkan perintah tertentu untuk dinonaktifkan bagi pengguna. Misalnya, Anda dapat mengizinkan pengguna menjalankan semua perintah pembuatan skrip kecuali perintah SCRIPT FLUSH. Untuk menonaktifkan perintah scripting bagi pengguna, buat kebijakan ACL dan tetapkan ke instance atau ubah kebijakan ACL yang ditetapkan ke instance.
Anda dapat menonaktifkan perintah scripting apa pun. Untuk contoh di bagian ini, Anda
menonaktifkan perintah SCRIPT FLUSH untuk pengguna. Untuk melihat daftar perintah
scripting, lihat Menonaktifkan perintah scripting untuk pengguna.
Buat kebijakan
Untuk membuat kebijakan ACL guna menonaktifkan perintah pembuatan skrip SCRIPT FLUSH untuk
lucian, gunakan perintah gcloud memorystore acl-policies create.
gcloud memorystore acl-policies create POLICY_NAME \ --location=REGION \ --rules=rule="on ~* -script|flush",username=lucian
Lakukan penggantian berikut:
- POLICY_NAME: nama kebijakan ACL
- REGION: region tempat Anda ingin menempatkan kebijakan ACL
Setelah membuat kebijakan, Anda harus menetapkannya ke instance baru atau yang sudah ada.
Mengubah kebijakan
Untuk mengubah kebijakan ACL guna menonaktifkan semua perintah scripting untuk lucian, gunakan perintah
gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update POLICY_NAME \ --location=REGION \ --rules=rule="on ~* -script|flush",username=lucian
Lakukan penggantian berikut:
- POLICY_NAME: nama kebijakan ACL
- REGION: region tempat kebijakan ACL berada
Jika Anda hanya ingin memberikan izin tertentu yang dibutuhkan pengguna, ubah nilai +@all. Misalnya, jika Anda ingin pengguna hanya memiliki akses ke perintah hanya baca, ubah +@all menjadi +@read. Untuk mengetahui informasi selengkapnya tentang izin pengguna yang dapat Anda tetapkan, lihat dokumentasi ACL Valkey.
Mengamankan pengguna default
Untuk menonaktifkan izin pembuatan skrip bagi pengguna super default, buat kebijakan
ACL dan tetapkan ke instance atau ubah kebijakan ACL yang ditetapkan ke instance.
Buat kebijakan
Untuk membuat kebijakan ACL guna menonaktifkan semua perintah scripting bagi pengguna default, gunakan perintah gcloud memorystore acl-policies create.
gcloud memorystore acl-policies create POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all -@scripting",username=default
Lakukan penggantian berikut:
- POLICY_NAME: nama kebijakan ACL
- REGION: region tempat Anda ingin menempatkan kebijakan ACL
Setelah membuat kebijakan, Anda harus menetapkannya ke instance baru atau yang sudah ada.
Mengubah kebijakan
Untuk mengubah kebijakan ACL guna menonaktifkan semua perintah scripting bagi pengguna default, gunakan perintah gcloud memorystore acl-policies update.
gcloud memorystore acl-policies update POLICY_NAME \ --location=REGION \ --rules=rule="on ~* +@all -@scripting",username=default
Lakukan penggantian berikut:
- POLICY_NAME: nama kebijakan ACL
- REGION: region tempat kebijakan ACL berada
Jika Anda hanya ingin memberikan izin tertentu yang diperlukan pengguna default, ubah nilai +@all. Misalnya, jika Anda ingin pengguna ini memiliki akses
ke perintah hanya baca, ubah +@all menjadi +@read. Untuk mengetahui informasi selengkapnya tentang izin pengguna yang dapat Anda tetapkan, lihat dokumentasi ACL Valkey.
Memecahkan masalah
Bagian ini mencantumkan pesan error yang mungkin Anda terima saat menggunakan kebijakan ACL, alasan munculnya pesan ini, dan tips untuk memecahkan masalah pesan tersebut.
| Pesan error | Penyebab | Memecahkan masalah |
|---|---|---|
username cannot be empty |
Anda menetapkan string kosong atau string yang hanya berisi spasi untuk nama pengguna dalam kebijakan ACL. | Gunakan nama pengguna yang memiliki karakter alfanumerik atau khusus. Kemudian, buat kebijakan ACL lagi. |
duplicate username found in ACL policy |
Anda memiliki nama pengguna duplikat dalam kebijakan ACL. | Gunakan log error untuk menemukan nama pengguna duplikat. Ubah permintaan pembuatan kebijakan ACL untuk menentukan tepat satu aturan untuk nama pengguna. Kemudian, buat kebijakan ACL lagi. |
ACL rule token cannot contain token. use either
IAM or Basic Auth features to enable authentication
|
Anda tidak dapat menggunakan karakter sandi (misalnya, <,
>, #, dan !) atau perintah terkait
(misalnya, nopass, resetpass, dan
reset) dalam kebijakan ACL. |
Hapus semua karakter sandi dan perintah terkait dari aturan kebijakan ACL. Kemudian, buat kebijakan ACL lagi. Untuk menyiapkan autentikasi, aktifkan autentikasi dasar atau autentikasi berbasis IAM. |
passwords not allowed in ACL rules (token starts with
char). use either IAM or Basic Auth features to
enable authentication |
Anda tidak dapat menggunakan karakter sandi (misalnya, <,
>, #, dan !) atau perintah terkait
(misalnya, nopass, resetpass, dan
reset) dalam kebijakan ACL. |
Hapus semua karakter sandi dan perintah terkait dari aturan kebijakan ACL. Kemudian, buat kebijakan ACL lagi. Untuk menyiapkan autentikasi, aktifkan autentikasi dasar atau autentikasi berbasis IAM. |
invalid ACL rule syntax |
Anda tidak memformat string akses dengan benar dalam satu atau beberapa aturan kebijakan ACL. | Format string akses dengan benar. |
ACL policy is in DELETING state and cannot be used |
Anda mencoba menetapkan kebijakan ACL ke instance, tetapi kebijakan tersebut memiliki
status DELETING. |
Tetapkan kebijakan ACL yang berbeda ke instance. |
ACL_POLICY_IN_USE: ACL policy is in use by 1 or more instances
|
Anda mencoba menghapus kebijakan ACL yang ditetapkan ke minimal satu instance. | Sebelum dapat menghapus kebijakan ACL, Anda harus menghapusnya dari semua instance yang diberi kebijakan tersebut. Untuk menentukan instance mana yang ditetapkan ke kebijakan, lihat Melihat informasi tentang kebijakan ACL. |
fast-failing the workflow as the resource is in DELETING
state |
Anda mencoba mengubah kebijakan ACL yang memiliki status DELETING. |
Jika kebijakan ACL memiliki status DELETING, Anda tidak dapat
mengubah kebijakan. |