Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) · Pelajaran

Pengesahan dan Keizinan

Konfigurasikan kata laluan Redis, ACL dan pengurusan pengguna untuk mengawal akses kepada tika Redis anda.

Pelajaran 1 daripada 411 langkah

Pengesahan dan Keizinan ialah pelajaran Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pengcachingan & Pemesejan Redis (Pub/Sub, Streams), dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) merangkumi sejumlah 4 pelajaran.

Mengapakah Redis Perlu Dilindungi?

Redis sangat pantas dan sering menyimpan data sensitif. Tanpa keselamatan yang betul, data anda mungkin terdedah atau diubah suai oleh pengguna yang tidak dibenarkan. Seperti rumah anda, pangkalan data anda juga memerlukan kunci!

Pelajaran ini akan mengajar anda cara menyediakan pengesahan asas menggunakan kata laluan dan kebenaran lanjutan menggunakan Senarai Kawalan Akses (ACL) untuk melindungi tika Redis anda.

Perlindungan Kata Laluan Asas

Cara paling mudah untuk melindungi Redis ialah menggunakan arahan requirepass dalam fail redis.conf anda. Arahan ini menetapkan kata laluan global yang mesti diberikan oleh klien untuk melaksanakan *sebarang* arahan.

Ia seperti satu kunci utama untuk semua orang.

requirepass your_strong_password_here

Log Masuk dengan AUTH

Setelah requirepass ditetapkan, klien yang bersambung ke Redis mesti mengesahkan diri menggunakan arahan AUTH. Jika kata laluan salah, kebanyakan arahan akan gagal.

Beginilah cara anda bersambung melalui redis-cli dan melakukan pengesahan:

redis-cli
127.0.0.1:6379> AUTH your_strong_password_here
OK
127.0.0.1:6379> SET mykey "hello"
OK
127.0.0.1:6379> GET mykey
"hello"

Kelemahan Kata Laluan Global

Walaupun mudah disediakan, requirepass mempunyai satu batasan utama: ia menggunakan satu kata laluan untuk semua orang dan segala-galanya. Semua klien yang telah disahkan mempunyai akses penuh kepada semua arahan dan data.

  • Tiada akaun pengguna khusus.
  • Tiada keizinan terperinci (contohnya, akses baca sahaja untuk sesetengah pengguna).
  • Sukar diurus dalam aplikasi yang kompleks.

Di sinilah Senarai Kawalan Akses (ACL) Redis berguna!

Akses Terperinci dengan ACL

ACL Redis (Senarai Kawalan Akses) membolehkan anda mentakrifkan berbilang pengguna, setiap seorang dengan kata laluan dan set keizinan tersendiri. Ini memberikan kawalan yang jauh lebih terperinci tentang perkara yang boleh dilakukan oleh setiap pengguna.

Anda boleh mengawal:

  • Arahan yang boleh dilaksanakan oleh seseorang pengguna.
  • Kunci yang boleh diakses oleh seseorang pengguna.

Ia seperti mempunyai kunci yang berbeza untuk bilik yang berbeza di rumah anda.

Mencipta dan Menetapkan Pengguna

Anda mengurus ACL secara terus melalui arahan Redis, sama ada dalam redis-cli atau secara teraturcara. Arahan ACL SETUSER merupakan asas untuk mentakrifkan pengguna dan sifat-sifatnya.

Mari kita cipta pengguna baharu bernama app_user dengan kata laluan. Simbol > sebelum kata laluan menunjukkan bahawa nilai tersebut ialah kata laluan.

ACL SETUSER app_user ON >some_secret_password
ACL SETUSER another_user ON >another_secret_pass_123
ACL LIST
user default on #... (default user)
user app_user on #... (our new user)

Mengawal Arahan

Dengan ACL, anda boleh menentukan dengan tepat arahan yang boleh dijalankan oleh seseorang pengguna. Keizinan sering diberikan mengikut kategori (seperti @all, @read, @write) atau nama arahan tertentu.

  • +@read: Memberikan semua arahan baca sahaja.
  • -@admin: Membatalkan semua arahan pentadbiran.
  • +SET: Memberikan arahan SET sahaja.

Berikut ialah contoh untuk app_user, yang memberikan akses baca/tulis tetapi menolak arahan pentadbiran:

ACL SETUSER app_user +@read +@write -@admin
ACL SETUSER metrics_user ON >metrics_pass +INFO +MONITOR
ACL CAT @admin
# ... lists admin commands

Akses pada Tahap Kunci

Selain arahan, ACL membolehkan anda mengehadkan akses kepada kunci atau corak kunci tertentu. Ini sangat berkuasa untuk aplikasi berbilang penyewa atau perkhidmatan mikro.

  • ~mykey: Akses kepada kunci 'mykey' sahaja.
  • ~data:*: Akses kepada mana-mana kunci yang bermula dengan 'data:'.
  • ~*: Akses kepada semua kunci (gunakan dengan berhati-hati!).

Mari kita perincikan app_user supaya hanya boleh mengakses kunci yang bermula dengan user_data::

ACL SETUSER app_user ON >some_secret_password +@read +@write ~user_data:*
ACL SETUSER readonly_user ON >read_only_pass +@read ~cache:*

Amalan ACL yang Selamat

Untuk memaksimumkan keselamatan dengan ACL, ikuti amalan terbaik berikut:

  • Prinsip Keistimewaan Minimum: Berikan hanya keizinan yang diperlukan. Elakkan +@all jika tidak benar-benar diperlukan.
  • Kata Laluan Kukuh: Gunakan kata laluan yang unik dan kompleks untuk setiap pengguna. Tukarkannya secara berkala.
  • Lumpuhkan Pengguna Lalai: Jika tidak digunakan, lumpuhkan pengguna default atau berikan kata laluan yang kukuh serta keizinan minimum kepadanya.
  • Audit Secara Berkala: Semak konfigurasi ACL anda secara berkala menggunakan ACL LIST.

Uji Pengetahuan ACL Anda

Pertimbangkan satu tika Redis yang memerlukan pengguna bernama report_viewer untuk:

  • Membaca data sahaja.
  • Mengakses kunci yang bermula dengan reports: sahaja.
  • Mempunyai kata laluan ViewerPass!.

Manakah antara arahan berikut yang akan mengkonfigurasi pengguna ini dengan betul?

Ringkasan: Lindungi Redis Anda!

Syabas! Anda telah mempelajari cara melindungi tika Redis anda:

  • requirepass: Menyediakan perlindungan kata laluan global yang mudah.
  • AUTH: Arahan yang digunakan oleh klien untuk melakukan pengesahan.
  • ACL: Menawarkan kawalan lanjutan dan terperinci terhadap pengguna, arahan dan kunci tertentu.
  • ACL SETUSER: Arahan utama untuk mencipta atau mengubah suai pengguna serta menetapkan keizinan mereka.
  • Amalan Terbaik: Sentiasa ikuti prinsip keistimewaan minimum, gunakan kata laluan yang kukuh dan audit konfigurasi anda.

Melindungi data anda amat penting, dan Redis menyediakan alat yang berkuasa untuk melakukannya!

Percuma untuk bermula

Pelajari Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Pengesahan dan Keizinan” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pengcachingan & Pemesejan Redis (Pub/Sub, Streams), termasuk “Pengesahan dan Keizinan”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pengesahan dan Keizinan”?

Konfigurasikan kata laluan Redis, ACL dan pengurusan pengguna untuk mengawal akses kepada tika Redis anda. Anda berlatih Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Pengcachingan & Pemesejan Redis (Pub/Sub, Streams)?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Pengesahan dan Keizinan” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) ini?

Ya. Setiap pelajaran Pengcachingan & Pemesejan Redis (Pub/Sub, Streams) menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Pengesahan dan Keizinan
  2. Keselamatan Rangkaian untuk Redis
  3. Amalan Terbaik Operasi
  4. Penyulitan Semasa Penghantaran dengan TLS
← Kembali ke Pengcachingan & Pemesejan Redis (Pub/Sub, Streams)