Kf menyediakan sekumpulan peran Kubernetes yang memungkinkan beberapa tim berbagi cluster Kf. Halaman ini menjelaskan peran dan praktik terbaik yang harus diikuti saat menggunakannya.
Kapan harus menggunakan peran Kf
Peran Kf memungkinkan beberapa tim untuk berbagi cluster Kubernetes dengan Kf terinstal. Peran tersebut memberikan akses ke masing-masing Kf Space.
Gunakan peran Kf untuk membagikan akses ke cluster jika hal berikut berlaku:
- Cluster digunakan oleh tim tepercaya.
- Beban kerja di cluster memiliki asumsi yang sama tentang tingkat keamanan yang disediakan oleh lingkungan.
- Cluster ada di project Google Cloud yang dikontrol secara ketat.
Peran Kf tidak akan:
- Lindungi cluster Anda dari developer atau workload yang tidak tepercaya. Lihat model tanggung jawab bersama GKE untuk mengetahui informasi selengkapnya.
- Sediakan isolasi untuk workload Anda. Baca panduan melakukan hardening cluster untuk mengetahui informasi selengkapnya.
- Mencegah penentuan peran Kubernetes tambahan yang berinteraksi dengan Kf.
- Cegah akses dari administrator yang memiliki akses ke project atau cluster Google Cloud.
Peran Kf
Bagian berikut menjelaskan Peran RBAC Kubernetes yang disediakan oleh Kf dan cara peran tersebut berinteraksi dengan IAM Google Kubernetes Engine (GKE).
Peran yang telah ditetapkan
Kf menyediakan beberapa peran Kubernetes yang telah ditetapkan untuk membantu Anda menyediakan akses ke berbagai subjek yang menjalankan peran berbeda. Setiap peran yang telah ditetapkan dapat diikat dengan subjek dalam Kubernetes Namespace yang dikelola oleh Kf Space.
Jika subjek terikat dengan peran dalam Kubernetes Namespace, aksesnya terbatas untuk objek yang ada di Namespace dan cocok dengan pemberian yang tercantum dalam peran. Dalam Kf, beberapa resource didefinisikan pada cakupan cluster. Kf memantau perubahan pada subjek di Namespace dan memberikan peran tambahan yang terbatas pada cakupan cluster.
Peran | Judul | Deskripsi | Cakupan |
---|---|---|---|
space-auditor |
Auditor Ruang | Mengizinkan akses hanya baca ke Ruang. | Spasi |
space-developer |
Developer Ruang | Memungkinkan pengembang aplikasi men-deploy dan mengelola aplikasi dalam Ruang. | Spasi |
space-manager |
Pengelola Ruang | Memungkinkan administrasi dan kemampuan untuk mengelola auditor, developer, dan pengelola di Ruang. | Spasi |
SPACE_NAME-manager |
Pengelola Ruang Dinamis | Memberikan akses tulis ke satu objek Ruang, yang otomatis diberikan ke semua subjek dengan peran space-manager dalam Ruang yang bernama. |
Cluster |
kf-cluster-reader |
Pembaca Cluster | Mengizinkan akses hanya baca ke objek Kf cakupan cluster, yang otomatis diberikan ke semua space-auditor , space-developer , dan space-manager . |
Cluster |
Informasi tentang aturan kebijakan yang membentuk setiap peran yang telah ditetapkan dapat ditemukan di dokumentasi referensi peran Kf.
Peran IAM
Peran Kf menyediakan kontrol akses untuk objek di dalam cluster Kubernetes. Subjek juga harus diberi peran IAM untuk diautentikasi ke cluster:
Administrator platform harus diberi peran IAM
roles/container.admin
. Tindakan ini akan memungkinkan mereka menginstal, mengupgrade, dan menghapus Kf, serta membuat, dan menghapus objek Kf cakupan cluster seperti Spaces atau ClusterServiceBrokers.Pengguna akhir Kf harus diberi peran IAM
roles/container.viewer
. Peran ini akan memungkinkan mereka mengautentikasi ke cluster dengan izin terbatas yang dapat diperluas menggunakan peran Kf.
IAM menawarkan Peran bawaan tambahan untuk GKE guna menyelesaikan kasus penggunaan lanjutan lainnya:
Role | Title | Description | Lowest resource |
---|---|---|---|
roles/ |
Kubernetes Engine Admin |
Provides access to full management of clusters and their Kubernetes API objects.
To set a service account on nodes, you must also have the Service Account User role
( |
|
roles/ |
Kubernetes Engine KMS Crypto Key User | Allow the Kubernetes Engine service agent in the cluster project to call KMS with user provided crypto keys to sign payloads. | |
roles/ |
Kubernetes Engine Cluster Admin |
Provides access to management of clusters.
To set a service account on nodes, you must also have the Service Account User role
( |
|
roles/ |
Kubernetes Engine Cluster Viewer |
Provides access to get and list GKE clusters. |
|
roles/ |
Kubernetes Engine Default Node Service Account | Least privilege role to use as the default service account for GKE Nodes. | |
roles/ |
Kubernetes Engine Developer |
Provides access to Kubernetes API objects inside clusters. |
|
roles/ |
Kubernetes Engine Host Service Agent User |
Allows the Kubernetes Engine service account in the host project to configure shared network resources for cluster management. Also gives access to inspect the firewall rules in the host project. |
|
roles/ |
Kubernetes Engine Viewer |
Provides read-only access to resources within GKE clusters, such as nodes, pods, and GKE API objects. |
|
Memetakan peran Cloud Foundry ke Kf
Cloud Foundry menyediakan peran mirip dengan peran bawaan Kf. Cloud Foundry memiliki dua jenis peran utama:
- Peran yang ditetapkan oleh subsistem Akun Pengguna dan Autentikasi (UAA) yang menyediakan cakupan OAuth terperinci yang berlaku untuk semua endpoint Cloud Foundry API.
- Peran yang diberikan dalam Cloud Controller API (CAPI) yang menyediakan akses terperinci ke resource API.
Peran UAA
Peran yang disediakan oleh UAA paling mirip dengan peran IAM dalam cakupan project:
- Pengguna Admin di Cloud Foundry dapat melakukan aktivitas administratif untuk semua organisasi dan ruang Cloud Foundry. Peran ini paling mirip dengan
peran IAM
roles/container.admin
. - Pengguna hanya baca admin di Cloud Foundry dapat mengakses semua endpoint Cloud Foundry API. Peran ini paling mirip dengan peran IAM
roles/container.admin
. - Pengguna auditor global di Cloud Foundry memiliki akses baca ke semua endpoint Cloud Foundry API, kecuali secret. Tidak ada peran IAM yang setara, tetapi Anda dapat membuat peran khusus dengan izin serupa.
Peran Cloud Controller API
Peran yang disediakan oleh CAPI paling mirip dengan peran Kf yang diberikan dalam cluster
ke subjek yang memiliki peran IAM roles/container.viewer
di project yang memilikinya:
- Auditor ruang di Cloud Foundry memiliki akses baca ke resource di ruang CF.
Peran ini paling mirip dengan peran
space-auditor
Kf. - Developer ruang di Cloud Foundry memiliki kemampuan untuk men-deploy dan mengelola aplikasi di ruang CF.
Peran ini paling mirip dengan peran
space-developer
Kf. - Pengelola ruang di Cloud Foundry dapat mengubah setelan untuk ruang CF dan menetapkan pengguna ke peran.
Peran ini paling mirip dengan peran
space-manager
Kf.
Langkah selanjutnya
- Mempelajari lebih lanjut keamanan GKE di Ringkasan Keamanan.
- Memastikan pemahaman Anda tentang model tanggung jawab bersama GKE.
- Mempelajari lebih lanjut kontrol akses di GKE.
- Membaca ringkasan multi-tenancy GKE.
- Pelajari cara memperkuat cluster GKE.
- Memahami izin Kubernetes yang membentuk setiap peran Kf yang telah ditetapkan.