ACK menggabungkan RAM dan Kubernetes RBAC untuk mengatur akses ke infrastruktur cloud dan sumber daya dalam kluster.
Sistem otorisasi
ACK menggunakan RAM untuk izin tingkat infrastruktur dan RBAC untuk akses ke sumber daya dalam kluster.
-
Otorisasi RAM: Memberikan izin melalui kebijakan RAM untuk memanggil API ACK dan layanan cloud terkait, mencakup operasi berikut:
-
Kluster: membuat, melihat, meningkatkan versi, dan menghapus
-
Kelompok node: membuat, memodifikasi, dan menskalakan
-
Pengelolaan izin
-
Pemantauan kluster, log, dan event
-
-
Otorisasi RBAC: Berdasarkan Kubernetes RBAC, memberikan izin pada tingkat sumber daya dalam kluster kepada pengguna yang berbeda untuk mengoperasikan sumber daya Kubernetes yang berbeda. Ini mencakup operasi membuat, membaca, memperbarui, dan menghapus (CRUD) pada objek Kubernetes, seperti:
-
Beban kerja: Deployment, StatefulSet, DaemonSet, Job, CronJob, Pod, ReplicaSet, dan lainnya.
-
Jaringan: Service, Ingress, NetworkPolicy, dan lainnya.
-
Penyimpanan: persistent volume (PV), persistent volume claim (PVC), StorageClass, dan lainnya.
-
Namespace, ConfigMap, Secret, dan lainnya.
-
Jenis izin
|
Jenis izin |
Apakah otorisasi diperlukan? |
Deskripsi izin |
|
Otorisasi RAM |
|
|
|
Otorisasi RBAC |
|
Pengguna RAM dan Peran RAM yang diotorisasi dapat mengoperasikan sumber daya Kubernetes dalam kluster. |
Otorisasi RAM
Pengguna RAM dan Peran RAM tidak memiliki izin default untuk memanggil API Layanan Alibaba Cloud. Konfigurasikan kebijakan RAM sistem atau kustom sesuai kebutuhan. Lihat Gunakan RAM untuk memberikan izin akses ke kluster dan sumber daya cloud.
Skenario lain untuk otorisasi RAM
-
Kategorikan kluster dengan tag dan terapkan kebijakan RAM untuk kontrol akses detail halus. Lihat Gunakan tag untuk menerapkan pengelolaan izin detail halus.
-
Berbagi satu Peran RAM Worker yang sama di seluruh node kluster dapat menyebabkan akses yang terlalu luas. Tetapkan Peran RAM Worker kustom per kelompok node untuk mengurangi risiko ini. Lihat Gunakan Peran RAM Worker kustom.
-
Untuk mengamankan aplikasi dalam kluster yang mengakses layanan Alibaba Cloud, gunakan RRSA untuk izin RAM tingkat ServiceAccount dan isolasi Pod. Lihat Gunakan RRSA untuk mengonfigurasi izin RAM untuk ServiceAccount dan mengisolasi izin Pod.
-
Untuk mengamankan node dalam Kluster ACK yang dikelola, sesuaikan izin Peran RAM Worker berdasarkan prinsip hak istimewa minimal. Lihat Batasi izin peran RAM worker.
Otorisasi RBAC
Otorisasi RAM hanya mencakup operasi tingkat kluster. Untuk mengakses sumber daya Kubernetes seperti Pod dan node, berikan otorisasi RBAC melalui halaman Pengelolaan Izin di Konsol ACK.
Kubernetes RBAC mendukung jenis peran dan binding berikut. Saat menentukan izin akses ke sumber daya menggunakan peran, hanya aturan allow yang didukung; aturan deny tidak didukung. Untuk menulis ClusterRole dan Role kustom, lihat Gunakan RBAC kustom untuk membatasi operasi pada sumber daya dalam kluster.
-
Role: Menentukan izin akses untuk sumber daya dalam satu namespace.
-
RoleBinding: Mengikat pengguna ke Role.
-
ClusterRole: Menentukan izin sumber daya tingkat kluster.
-
ClusterRoleBinding: Mengikat pengguna ke ClusterRole.
Pengelolaan izin di ACK mendukung pengikatan ClusterRole kustom ke Pengguna RAM atau Peran RAM dalam kluster. Fitur ini tidak mendukung pengikatan Role kustom ke Pengguna RAM atau Peran RAM.
Konsol Container Service for Kubernetes menyediakan ClusterRole preset untuk menyederhanakan penugasan izin. Lihat Gunakan RBAC untuk mengotorisasi operasi pada sumber daya dalam kluster.
Tabel 1. Deskripsi izin peran
|
Peran Bawaan |
Izin RBAC dalam kluster |
|
Administrator |
Akses baca/tulis penuh ke semua sumber daya Kubernetes di semua namespace, termasuk node kluster, PV, namespace, dan kuota sumber daya. |
|
Read-only Administrator |
Akses read-only ke semua sumber daya Kubernetes di semua namespace, termasuk node kluster, PV, namespace, dan kuota sumber daya. |
|
OM Engineer |
Akses baca/tulis ke sumber daya yang tersedia di konsol di semua namespace. Termasuk akses baca/perbarui ke node kluster, PV, dan namespace, serta akses read-only ke semua sumber daya lainnya. |
|
Developer |
Akses baca/tulis ke sumber daya yang tersedia di konsol di semua atau namespace tertentu dalam kluster. |
|
Restricted User |
Akses read-only ke sumber daya yang tersedia di konsol di semua atau namespace tertentu dalam kluster. |
|
Custom |
Izin bergantung pada ClusterRole yang ditentukan. Untuk mencegah identitas memperoleh akses yang tidak diinginkan, verifikasi izin ClusterRole sebelum menetapkannya. Lihat Batasi operasi sumber daya dengan RBAC kustom. Penting
Setiap Pengguna RAM atau Peran RAM dengan izin |
Jika Pengguna RAM atau Peran RAM perlu melakukan operasi manajemen (OM) kluster dan aplikasi, Anda harus memberikan otorisasi RAM sebelum otorisasi RBAC. Skema otorisasi umum:
-
Untuk melihat sumber daya kluster, lihat Studi kasus 1: Berikan izin administrator read-only untuk melihat sumber daya kluster.
-
Untuk mengelola infrastruktur kluster dan beban kerja, lihat Studi kasus 2: Berikan izin insinyur OM untuk mengelola kluster dan aplikasi.
-
Untuk membangun dan men-deploy aplikasi dalam kluster, lihat Studi kasus 3: Berikan izin developer untuk mengelola kluster dan aplikasi.
-
Untuk mengelola izin kluster, lihat Studi kasus 4: Berikan akses administrator izin untuk mengelola otorisasi Pengguna RAM dan Peran RAM.
Menghapus Pengguna RAM atau Peran RAM tidak mencabut izin RBAC mereka dari KubeConfig. Secara manual cabut izin KubeConfig saat offboarding atau remediasi keamanan.