0Pricing
DevOps Bootcamp · Pelajaran

Kontrol Akses Berbasis Peran (RBAC)

Kelola izin pengguna dan akun service dalam cluster menggunakan peran dan pengikatan peran RBAC.

Kontrol Akses Berbasis Peran (RBAC) adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa itu RBAC di Kubernetes?

Selamat datang! Dalam pelajaran ini, kita akan membahas Kontrol Akses Berbasis Peran (RBAC), sebuah fitur keamanan penting di Kubernetes.

RBAC membantu Anda mengatur siapa yang boleh melakukan apa di dalam klaster Anda. Fungsinya seperti petugas keamanan untuk sumber daya Kubernetes, yang memastikan hanya pengguna dan aplikasi berwenang yang dapat melakukan tindakan tertentu.

Mengapa RBAC Penting

Tanpa RBAC, siapa pun yang memiliki akses ke klaster berpotensi melakukan tindakan apa pun, sehingga menimbulkan risiko keamanan atau kerusakan yang tidak disengaja.

  • Keamanan: Mencegah akses dan operasi yang tidak sah.
  • Kepatuhan: Membantu memenuhi persyaratan peraturan untuk kontrol akses.
  • Hak Istimewa Minimum: Memastikan pengguna dan aplikasi hanya memiliki izin yang benar-benar diperlukan.

Konsep Utama RBAC

RBAC di Kubernetes bergantung pada beberapa komponen inti:

  • Subjek: 'siapa' (pengguna, akun layanan, dan grup).
  • Peran: 'apa' (sekumpulan izin).
  • RoleBindings: 'bagaimana' (menghubungkan sebuah Peran dengan sebuah Subjek).
  • ClusterRoles & ClusterRoleBindings: Versi Peran dan RoleBindings yang berlaku di seluruh klaster.

Subjek: Pengguna dan Akun Layanan

Kubernetes perlu mengetahui siapa yang meminta suatu tindakan. Mereka disebut Subjek:

  • Pengguna: Biasanya administrator atau pengembang manusia. Kubernetes tidak mengelola pengguna secara langsung; Kubernetes mengandalkan autentikasi eksternal.
  • Akun Layanan: Objek Kubernetes yang digunakan oleh aplikasi atau proses yang berjalan di dalam pod. Akun ini sangat penting untuk komunikasi antara pod dan server API.

Menentukan Izin dengan Peran

Sebuah Peran menentukan sekumpulan izin dalam namespace tertentu. Peran tersebut menetapkan tindakan (kata kerja) yang dapat dilakukan pada sumber daya tertentu.

Misalnya, sebuah Peran dapat mengizinkan tindakan 'mendapatkan' dan 'mencantumkan' pod di namespace 'default'.

Contoh Peran: Pembaca Pod

Berikut definisi YAML untuk Peran bernama pod-reader. Peran ini memberikan izin untuk 'mendapatkan', 'mencantumkan', dan 'memantau' pod.

Perhatikan apiGroups: [""] yang merujuk pada grup API inti Kubernetes.

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

Memberikan Izin dengan RoleBindings

Sebuah RoleBinding menghubungkan Peran tertentu dengan satu atau beberapa Subjek (pengguna, akun layanan, atau grup) dalam namespace tertentu.

Inilah penghubung yang menyatakan, 'Pengguna/aplikasi ini dapat melakukan hal-hal yang diizinkan oleh Peran ini di namespace ini.'

Contoh RoleBinding: Memberikan Akses

RoleBinding ini menghubungkan Peran pod-reader dengan Akun Layanan bernama my-app-sa di namespace default. Sekarang, my-app-sa dapat 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

Terkadang, Anda memerlukan izin yang berlaku di seluruh klaster, bukan hanya di satu namespace. Di sinilah ClusterRoles dan ClusterRoleBindings digunakan.

  • ClusterRole: Menentukan izin untuk sumber daya dengan cakupan klaster (seperti node dan volume persisten) atau untuk tindakan di semua namespace (misalnya, 'mencantumkan semua pod').
  • ClusterRoleBinding: Menghubungkan ClusterRole dengan Subjek dan memberikan izin di seluruh klaster.

Uji Cepat RBAC

Seorang pengembang perlu menerapkan aplikasi baru hanya di namespace dev. Dua sumber daya RBAC Kubernetes mana yang terutama akan Anda gunakan untuk memberikan izin khusus ini?

Ringkasan: Dasar-Dasar RBAC

Bagus! Anda telah mempelajari dasar-dasar RBAC Kubernetes:

  • RBAC mengatur siapa yang dapat berinteraksi dengan sumber daya klaster Anda.
  • Peran menentukan izin dalam sebuah namespace.
  • RoleBindings menghubungkan Peran dengan Subjek (pengguna dan akun layanan).
  • ClusterRoles dan ClusterRoleBindings menangani izin di seluruh klaster.

Menguasai RBAC adalah kunci untuk mengamankan lingkungan Kubernetes Anda!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Kontrol Akses Berbasis Peran (RBAC)” gratis?

Ya — teks lengkap “Kontrol Akses Berbasis Peran (RBAC)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Kontrol Akses Berbasis Peran (RBAC)”?

Kelola izin pengguna dan akun service dalam cluster menggunakan peran dan pengikatan peran RBAC. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?

Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Kontrol Akses Berbasis Peran (RBAC)” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?

Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Kontrol Akses Berbasis Peran (RBAC)
  2. Kebijakan Jaringan untuk Isolasi
  3. Standar Keamanan Pod
  4. Akun Layanan dan Identitas Beban Kerja
← Kembali ke DevOps Bootcamp