Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Kf bertujuan untuk memberikan pengalaman developer yang serupa dengan Cloud Foundry, yang mereplikasi siklus proses build, push, dan deploy. Hal ini dilakukan dengan membuat lapisan UX developer di atas teknologi yang dikenal luas, digunakan secara luas, dan diadopsi seperti Kubernetes, Istio, dan registry container, bukan dengan menerapkan semua bagian dari awal.
Ringkasan keamanan
Saat membuat keputusan keamanan, Kf bertujuan untuk memberikan solusi lengkap yang native untuk komponen masing-masing dan dapat ditambah dengan mekanisme lain. Berikut penjelasannya:
Solusi lengkap berarti Kf mencoba untuk tidak memberikan solusi parsial yang dapat menyebabkan rasa aman palsu.
Native berarti solusi harus menjadi bagian dari komponen, bukan konstruksi Kf, untuk mencegah perubahan yang dapat menyebabkan gangguan.
Dapat ditambah berarti pendekatan yang diambil Kf harus berfungsi dengan lancar dengan alat Kubernetes dan Google Cloud lainnya untuk pertahanan menyeluruh.
Pertimbangan penting
Selain Batasan saat ini yang dijelaskan di bawah, Anda harus membaca dan memahami item yang diuraikan di bagian ini.
Workload Identity
Secara default, Kf menggunakan Workload Identity untuk memberikan pengiriman dan rotasi kredensial Akun Layanan yang aman yang digunakan oleh Kf untuk berinteraksi dengan project Google Cloud Anda. Workload Identity mencapai hal ini dengan memetakan Akun Layanan Kubernetes (KSA) ke Akun Layanan Google (GSA). Pengontrol Kf berjalan di namespace kf dan menggunakan KSA bernama controller yang dipetakan ke GSA Anda untuk melakukan hal berikut:
Menulis metrik ke Stackdriver
Saat ruang Kf baru dibuat (kf create-space), pengontrol Kf akan membuat KSA baru bernama kf-builder di ruang baru dan memetakan ke GSA yang sama.
KSA kf-builder digunakan oleh Tekton untuk mengirim dan menarik image container ke Google Container Registry (gcr.io)
Developer yang mendorong aplikasi dengan Kf juga dapat membuat pod (dengan kubectl) yang dapat menggunakan KSA kf-builder dengan izin GSA terkait.
Men-deploy ke Kf memerlukan akses tulis ke registry penampung.
Men-deploy Kf dalam project khusus tanpa akses ke resource produksi.
Berikan akses kepada developer untuk mengirim kode ke Repositori Artefak dengan memberi mereka roles/storage.admin
di project, atau bucket yang digunakan Repositori Artefak.
Kf menggunakan Pod yang sama untuk mengambil, mem-build, dan menyimpan image.
Asumsikan kredensial apa pun yang Anda berikan dapat diketahui oleh penulis dan penayang buildpack yang Anda gunakan.
Kf tidak mendukung kuota untuk melindungi dari tetangga yang berisik.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-04 UTC."],[],[],null,["# Security Overview\n\nKf aims to provide a similar developer experience to Cloud Foundry, replicating the build, push, and deploy lifecycle. It does this by building a developer UX layer on top of widely-known, broadly used and adopted technologies like Kubernetes, Istio, and container registries rather than by implementing all the pieces from the ground up.\n| **Note:** Kf should be used in a Google Cloud project dedicated to your evaluation. See [Important considerations](#important_considerations) for more information.\n\nSecurity overview\n-----------------\n\nWhen making security decisions, Kf aims to provide complete solutions that are native to their respective components and can be augmented with other mechanisms. Breaking that down:\n\n- **Complete solutions** means that Kf tries not to provide partial solutions that can lead to a false sense of security.\n- **Native** means that the solutions should be a part of the component rather than a Kf construct to prevent breaking changes.\n- **Can be augmented** means the approach Kf takes should work seamlessly with other Kubernetes and Google Cloud tooling for defense in depth.\n\nImportant considerations\n------------------------\n\nIn addition to the [Current limitations](#current_limitations) described below, it is important that you read through and understand the items outlined in this section.\n\n### Workload Identity\n\nBy default, Kf uses [Workload Identity](/kubernetes-engine/docs/how-to/workload-identity) to provide secure delivery and rotation of the Service Account credentials used by Kf to interact with your Google Cloud project. Workload Identity achieves this by mapping a Kubernetes Service Account (KSA) to a Google Service Account (GSA). The Kf controller runs in the `kf` namespace and uses a KSA named `controller` mapped to your GSA to do the following things:\n\n1. Write metrics to Stackdriver\n2. When a new Kf space is created (`kf create-space`), the Kf controller creates a new KSA named `kf-builder` in the new space and maps it to the same GSA.\n3. The `kf-builder` KSA is used by Tekton to push and pull container images to Google Container Registry (gcr.io)\n\nThis diagram illustrates those interactions:\n\n### Current limitations\n\n- Kf doesn't provide pre-built RBAC roles.\n - Until Kf provides this, use [RBAC](/kubernetes-engine/docs/how-to/role-based-access-control).\n- A developer pushing an app with Kf may also create pods (with `kubectl`) that can use the `kf-builder` KSA with the permissions of its associated GSA.\n- Deploying to Kf requires write access to a container registry.\n - Deploy Kf in a dedicated project without access to production resources.\n - Grant developers access to push code to the Artifact Repository by [granting them `roles/storage.admin`](/container-registry/docs/access-control) on the project, or buckets that Artifact Repository uses.\n- Kf uses the same Pod to fetch, build, and store images.\n - Assume any credentials you provide can be known by the authors and publishers of the buildpacks you use.\n- Kf doesn't support quotas to protect against noisy neighbors.\n - Use Kubernetes [resource quotas](https://kubernetes.io/docs/concepts/policy/resource-quotas/).\n\nOther resources\n---------------\n\n### General\n\n- [GKE security overview](/kubernetes-engine/docs/concepts/security-overview)\n- [GKE cluster multi-tenancy](/kubernetes-engine/docs/concepts/multitenancy-overview)\n- [Workload Identity](/kubernetes-engine/docs/how-to/workload-identity)\n- [GKE and IAM policies](/kubernetes-engine/docs/how-to/iam)\n\n### Recommended protections\n\n- [Protecting cluster metadata](/kubernetes-engine/docs/how-to/protecting-cluster-metadata)\n- [Role-based access control](/kubernetes-engine/docs/how-to/role-based-access-control)\n\n### Advanced protections\n\n- [GKE Sandbox](/kubernetes-engine/docs/how-to/sandbox-pods)\n- [Network policies](/kubernetes-engine/docs/how-to/network-policy)"]]