Role-based Access Control

Kf menyediakan kumpulan 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 berbagi cluster Kubernetes dengan Kf yang diinstal. Peran ini memberikan akses ke setiap Ruang Kf.

Gunakan peran Kf untuk berbagi akses ke cluster jika hal berikut benar:

  • Cluster ini digunakan oleh tim tepercaya.
  • Workload di cluster memiliki asumsi yang sama tentang tingkat keamanan yang disediakan oleh lingkungan.
  • Cluster ada di project Google Cloud yang dikontrol ketat.

Peran kf tidak akan:

Peran kf

Bagian berikut menjelaskan Peran RBAC Kubernetes yang disediakan oleh Kf dan cara berinteraksi dengan IAM Google Kubernetes Engine (GKE).

Peran yang telah ditetapkan

Kf menyediakan beberapa peran Kubernetes yang telah ditentukan sebelumnya untuk membantu Anda memberikan akses ke berbagai subjek yang menjalankan peran yang berbeda. Setiap peran standar dapat terikat dengan subjek dalam Namespace Kubernetes yang dikelola oleh Ruang Kf.

Jika subjek terikat dengan peran dalam Namespace Kubernetes, aksesnya akan dibatasi untuk objek yang ada di Namespace yang cocok dengan pemberian yang tercantum dalam peran. Di Kf, beberapa resource ditentukan 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 developer 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 secara otomatis diberikan kepada semua subjek dengan peran space-manager dalam Ruang yang dinamai. Cluster
kf-cluster-reader Cluster Reader 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 bawaan dapat ditemukan di dokumentasi referensi peran Kf.

Peran IAM

Peran Kf memberikan kontrol akses untuk objek dalam cluster Kubernetes. Subjek juga harus diberi peran IAM untuk melakukan autentikasi ke cluster:

  • Administrator platform harus diberi peran IAM roles/container.admin. Hal 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 melakukan autentikasi ke cluster dengan izin terbatas yang dapat diperluas menggunakan peran Kf.

IAM menawarkan Peran bawaan tambahan untuk GKE guna mengatasi kasus penggunaan lanjutan:

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 yang mirip dengan peran bawaan Kf. Cloud Foundry memiliki dua jenis peran utama:

  • Peran yang ditetapkan oleh subsistem User Account and Authentication (UAA) yang menyediakan cakupan OAuth terperinci yang berlaku untuk semua endpoint Cloud Foundry API.
  • Peran yang diberikan dalam Cloud Controller API (CAPI) yang memberikan akses terperinci ke resource API.

Peran UAA

Peran yang disediakan oleh UAA paling mirip dengan peran IAM 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 Admin hanya baca 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 yang 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 pemilik:

  • Auditor ruang di Cloud Foundry memiliki akses baca ke resource di ruang CF. Peran ini paling mirip dengan peran Kf space-auditor.
  • Developer ruang di Cloud Foundry memiliki kemampuan untuk men-deploy dan mengelola aplikasi di ruang CF. Peran ini paling mirip dengan peran Kf space-developer.
  • Pengelola ruang di Cloud Foundry dapat mengubah setelan untuk ruang CF dan menetapkan pengguna ke peran. Peran ini paling mirip dengan peran Kf space-manager.

Langkah selanjutnya