Kontrol Akses Berbasis Peran

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:

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/container.admin 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/iam.serviceAccountUser) on the user-managed service account that your nodes will use.

  • Project
roles/container.cloudKmsKeyUser 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/container.clusterAdmin 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/iam.serviceAccountUser) on the user-managed service account that your nodes will use.

  • Project
roles/container.clusterViewer Kubernetes Engine Cluster Viewer

Provides access to get and list GKE clusters.

roles/container.defaultNodeServiceAccount Kubernetes Engine Default Node Service Account Least privilege role to use as the default service account for GKE Nodes.
roles/container.developer Kubernetes Engine Developer

Provides access to Kubernetes API objects inside clusters.

  • Project
roles/container.hostServiceAgentUser 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/container.viewer Kubernetes Engine Viewer

Provides read-only access to resources within GKE clusters, such as nodes, pods, and GKE API objects.

  • Project

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