Kem Intensif DevOps · Pelajaran

Kawalan Akses Berasaskan Peranan (RBAC)

Urus kebenaran pengguna dan akaun perkhidmatan dalam kelompok anda menggunakan peranan dan pengikatan peranan RBAC.

Pelajaran 1 daripada 411 langkah

Kawalan Akses Berasaskan Peranan (RBAC) ialah pelajaran Kem Intensif DevOps 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 Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Apakah RBAC dalam Kubernetes?

Selamat datang! Dalam pelajaran ini, kita akan mendalami Role-Based Access Control (RBAC), iaitu ciri keselamatan penting dalam Kubernetes.

RBAC membantu anda mengurus pihak yang boleh melakukan sesuatu dalam kluster anda. Ia seperti pengawal pintu untuk sumber Kubernetes anda, yang memastikan hanya pengguna dan aplikasi yang diberi kuasa boleh melakukan tindakan tertentu.

Mengapa RBAC Penting

Tanpa RBAC, sesiapa sahaja yang mempunyai akses kepada kluster berpotensi melakukan sebarang tindakan, lalu menyebabkan risiko keselamatan atau kerosakan tidak sengaja.

  • Keselamatan: Menghalang akses dan operasi tanpa kebenaran.
  • Pematuhan: Membantu memenuhi keperluan peraturan bagi kawalan akses.
  • Keistimewaan Minimum: Memastikan pengguna dan aplikasi hanya mempunyai keizinan yang benar-benar diperlukan.

Konsep Utama RBAC

RBAC dalam Kubernetes bergantung pada beberapa komponen teras:

  • Subjek: Pihak yang terlibat, iaitu pengguna, akaun perkhidmatan dan kumpulan.
  • Peranan: Tindakan yang dibenarkan, iaitu satu set keizinan.
  • RoleBindings: Cara perhubungan dibuat, iaitu memautkan Role kepada subjek.
  • ClusterRoles & ClusterRoleBindings: Versi Role dan RoleBindings yang meliputi seluruh kluster.

Subjek: Pengguna dan Service Accounts

Kubernetes perlu mengetahui pihak yang meminta sesuatu tindakan. Pihak ini dipanggil subjek:

  • Pengguna: Biasanya pentadbir atau pembangun manusia. Kubernetes tidak mengurus pengguna secara langsung; sebaliknya, ia bergantung pada pengesahan luaran.
  • Service Accounts: Objek Kubernetes yang digunakan oleh aplikasi atau proses yang berjalan dalam pod. Objek ini penting untuk komunikasi antara pod dengan pelayan API.

Menentukan Keizinan dengan Role

Role mentakrifkan satu set keizinan dalam namespace tertentu. Ia menyatakan tindakan yang boleh dilakukan terhadap sumber tertentu.

Contohnya, Role boleh membenarkan tindakan mendapatkan dan menyenaraikan pod dalam namespace 'default'.

Contoh Role: Pembaca Pod

Berikut ialah takrif YAML untuk Role bernama pod-reader. Role ini memberikan keizinan untuk mendapatkan, menyenaraikan dan memantau pod.

Perhatikan apiGroups: [""] yang merujuk kepada kumpulan API teras Kubernetes.

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: pod-reader
  namespace: default
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list", "watch"]

Memberikan Keizinan dengan RoleBindings

RoleBinding memautkan Role tertentu kepada satu atau lebih subjek (pengguna, akaun perkhidmatan atau kumpulan) dalam namespace tertentu.

Inilah pautan yang menyatakan, 'Pengguna atau aplikasi ini boleh melakukan perkara yang dibenarkan oleh Role ini dalam namespace ini.'

Contoh RoleBinding: Memberikan Akses

RoleBinding ini memautkan Role pod-reader kepada Service Account bernama my-app-sa dalam namespace default. Kini, my-app-sa boleh membaca pod.

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-pods-binding
  namespace: default
subjects:
- kind: ServiceAccount
  name: my-app-sa # The service account getting permissions
  namespace: default
roleRef:
  kind: Role
  name: pod-reader # The Role being granted
  apiGroup: rbac.authorization.k8s.io

ClusterRoles dan ClusterRoleBindings

Kadang-kadang, anda memerlukan keizinan yang digunakan di seluruh kluster, bukan hanya dalam satu namespace. Di sinilah ClusterRoles dan ClusterRoleBindings digunakan.

  • ClusterRole: Mentakrifkan keizinan untuk sumber yang skopnya meliputi kluster (seperti nod dan volum berterusan), atau untuk tindakan merentas semua namespace (contohnya, 'menyenaraikan semua pod').
  • ClusterRoleBinding: Memautkan ClusterRole kepada subjek dan memberikan keizinan di seluruh kluster.

Semakan Ringkas RBAC

Seorang pembangun perlu menggunakan aplikasi baharu hanya dalam namespace dev. Apakah dua sumber RBAC Kubernetes yang paling sesuai digunakan untuk memberikan keizinan khusus ini?

Imbas Kembali: Asas RBAC

Syabas! Anda telah mempelajari asas RBAC Kubernetes:

  • RBAC mengawal pihak yang boleh berinteraksi dengan sumber kluster anda.
  • Roles mentakrifkan keizinan dalam namespace.
  • RoleBindings memautkan Roles kepada subjek (pengguna dan akaun perkhidmatan).
  • ClusterRoles dan ClusterRoleBindings mengurus keizinan di seluruh kluster.

Penguasaan RBAC penting untuk melindungi persekitaran Kubernetes anda!

Percuma untuk bermula

Pelajari Kem Intensif DevOps 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
142
Pelajaran
568

Soalan Lazim

Adakah pelajaran “Kawalan Akses Berasaskan Peranan (RBAC)” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Kawalan Akses Berasaskan Peranan (RBAC)”, 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 Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Kawalan Akses Berasaskan Peranan (RBAC)”?

Urus kebenaran pengguna dan akaun perkhidmatan dalam kelompok anda menggunakan peranan dan pengikatan peranan RBAC. Anda berlatih Kem Intensif DevOps 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 Kem Intensif DevOps?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps 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 “Kawalan Akses Berasaskan Peranan (RBAC)” 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 Kem Intensif DevOps ini?

Ya. Setiap pelajaran Kem Intensif DevOps 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. Kawalan Akses Berasaskan Peranan (RBAC)
  2. Dasar Rangkaian untuk Pengasingan
  3. Piawaian Keselamatan Pod
  4. Akaun Perkhidmatan dan Identiti Beban Kerja
← Kembali ke Kem Intensif DevOps