Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Kf propose une expérience de développement similaire à celle de Cloud Foundry, en répliquant le cycle de compilation, de transmission et de déploiement. Pour ce faire, il crée une couche d'expérience utilisateur de développeur sur des technologies très connues et utilisées telles que Kubernetes, Istio et les registres de conteneurs, plutôt que de mettre en œuvre tous les éléments à partir de zéro.
Présentation de la sécurité
En ce qui concerne les décisions en matière de sécurité, Kf vise à fournir des solutions complètes natives à leurs composants respectifs et pouvant être renforcées avec d'autres mécanismes. Voici le détail :
"Solutions complètes" signifie que Kf tente de ne pas fournir de solutions partielles pouvant entraîner un faux sentiment de sécurité.
"Natives" signifie que les solutions doivent faire partie du composant plutôt que d'une construction Kf pour éviter des modifications destructives.
"Pouvant être renforcées" signifie que l'approche de Kf doit fonctionner de manière transparente avec d'autres outils Kubernetes et Google Cloud pour assurer une défense en profondeur.
Remarques importantes
Outre les limitations actuelles décrites ci-dessous, il est important que vous lisiez et compreniez les éléments décrits dans cette section.
Workload Identity
Par défaut, Kf utilise Workload Identity pour assurer une distribution et une rotation sécurisées des identifiants du compte de service utilisés par Kf pour interagir avec votre Google Cloud projet. Pour ce faire, Workload Identity mappe un compte de service Kubernetes (KSA) à un compte de service Google (GSA). Le contrôleur Kf s'exécute dans l'espace de noms kf et utilise un KSA nommé controller mappé sur votre GSA pour effectuer les opérations suivantes:
Écrire des métriques dans Stackdriver
Lorsqu'un espace Kf est créé (kf create-space), le contrôleur Kf crée un KSA nommé kf-builder dans le nouvel espace et le mappe sur le même GSA.
Le KSA kf-builder est utilisé par Tekton pour transférer et extraire des images de conteneurs vers Container Registry (gcr.io).
Un développeur qui déploie une application avec Kf peut également créer des pods (avec kubectl) qui peuvent utiliser le KSA kf-builder avec les autorisations du système GSA associé.
Le déploiement sur Kf nécessite un accès en écriture à un registre de conteneurs.
Déployer Kf dans un projet dédié sans accès aux ressources de production.
Autorisez les développeurs à déployer le code sur le dépôt d'artefacts en leur accordant le rôle roles/storage.admin sur le projet ou les buckets utilisés par le dépôt d'artefacts.
Kf utilise le même pod pour récupérer, compiler et stocker des images.
Supposons que les identifiants que vous fournissez soient connus des auteurs et des éditeurs des packs de création que vous utilisez.
Kf ne prend pas en charge les quotas pour la protection contre les voisins bruyants.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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)"]]