Kf fournit un ensemble de rôles Kubernetes qui permettent à plusieurs équipes de partager un cluster Kf. Cette page décrit les rôles et les bonnes pratiques à suivre lors de leur utilisation.
Quand utiliser les rôles Kf ?
Les rôles Kf permettent à plusieurs équipes de partager un cluster Kubernetes sur lequel Kf est installé. Ces rôles fournissent un accès à des espaces Kf individuels.
Utilisez les rôles Kf pour partager l'accès à un cluster si les conditions suivantes sont remplies :
- Le cluster est utilisé par des équipes de confiance.
- Les charges de travail sur le cluster partagent les mêmes hypothèses concernant le niveau de sécurité fourni par l'environnement.
- Le cluster existe dans un projet Google Cloud qui est étroitement contrôlé.
Les rôles Kf ne serviront pas à :
- Protéger votre cluster contre des développeurs ou des charges de travail non approuvés. Pour en savoir plus, consultez le modèle de responsabilité partagée de GKE.
- Isoler vos charges de travail. Pour en savoir plus, consultez le guide Renforcer la sécurité d'un cluster.
- Empêcher la définition de rôles Kubernetes supplémentaires interagissant avec Kf.
- Empêcher tout accès aux administrateurs qui ont accès au projet ou au cluster Google Cloud .
Rôles Kf
Les sections suivantes décrivent les rôles RBAC Kubernetes disponibles avec Kf et comment ils interagissent avec les rôles IAM de Google Kubernetes Engine (GKE).
Rôles prédéfinis
Kf met à disposition plusieurs rôles Kubernetes prédéfinis pour vous aider à fournir des accès à différents sujets exécutant des rôles différents. Chaque rôle prédéfini peut être lié à un sujet dans un espace de noms Kubernetes géré par un espace Kf.
Lorsqu'un sujet est associé à un rôle dans un espace de noms Kubernetes, son accès est limité aux objets qui existent dans l'espace de noms et qui correspondent aux autorisations accordées par le rôle. Dans Kf, certaines ressources sont définies au niveau du cluster. Kf surveille les modifications apportées aux sujets dans l'espace de noms et accorde des rôles supplémentaires, limités au niveau du cluster.
| Rôle | Titre | Description | Champ d'application |
|---|---|---|---|
space-auditor |
Auditeur de l'espace | Permet un accès en lecture seule à un espace. | Espace |
space-developer |
Développeur de l'espace | Permet aux développeurs d'applications de déployer et de gérer des applications dans un espace. | Espace |
space-manager |
Gestionnaire de l'espace | Permet l'administration et la gestion d'auditeurs, de développeurs et de gestionnaires dans un espace. | Espace |
SPACE_NAME-manager |
Gestionnaire de l'espace dynamique | Fournit un accès en écriture à un seul objet Space, automatiquement accordé à tous les sujets ayant le rôle space-manager dans l'espace nommé. |
Cluster |
kf-cluster-reader |
Lecteur de cluster | Permet un accès en lecture seule aux objets Kf au niveau du cluster, automatiquement accordé à tous les rôles space-auditor, space-developer et space-manager. |
Cluster |
Pour en savoir plus sur les règles qui composent chaque rôle prédéfini, consultez la documentation de référence sur les rôles Kf.
Rôles IAM
Les rôles Kf permettent de contrôler les accès aux objets au sein d'un cluster Kubernetes. Les sujets doivent également se voir attribuer un rôle IAM pour s'authentifier auprès du cluster :
Les administrateurs de plate-forme doivent disposer du rôle IAM
roles/container.admin. Ce rôle leur permet d'installer, de mettre à niveau et de supprimer Kf, ainsi que de créer et de supprimer des objets Kf définis à l'échelle du cluster, tels que Spaces ou ClusterServiceBrokers.Les utilisateurs finaux Kf doivent disposer du rôle IAM
roles/container.viewer. Ce rôle leur permet de s'authentifier auprès d'un cluster avec des autorisations limitées pouvant être étendues à l'aide des rôles Kf.
IAM met à disposition des rôles prédéfinis supplémentaires afin de permettre à GKE de répondre à des cas d'utilisation plus avancés :
Correspondance des rôles Cloud Foundry et Kf
Cloud Foundry fournit des rôles semblables aux rôles prédéfinis de Kf. Cloud Foundry possède deux types de rôles principaux :
- Rôles attribués par le sous-système de comptes utilisateur et d'authentification (UAA) qui fournissent des habilitations OAuth détaillées applicables à tous les points de terminaison de l'API Cloud Foundry.
- Rôles attribués dans l'API Cloud Controller (CAPI) qui permettent un accès précis aux ressources de l'API.
Rôles UAA
Les rôles fournis par le sous-système UAA s'apparentent davantage aux rôles IAM à l'échelle du projet :
- Les administrateurs dans Cloud Foundry peuvent effectuer des activités administratives pour toutes les organisations et tous les espaces de Cloud Foundry. Le rôle s'apparente davantage au rôle IAM
roles/container.admin. - Les administrateurs en lecture seule dans Cloud Foundry peuvent accéder à tous les points de terminaison de l'API Cloud Foundry. Le rôle s'apparente davantage au rôle IAM
roles/container.admin. - Les auditeurs globaux dans Cloud Foundry disposent d'un accès en lecture à tous les points de terminaison de l'API Cloud Foundry, à l'exception des secrets. Il n'existe pas de rôle IAM équivalent, mais vous pouvez créer un rôle personnalisé présentant des autorisations similaires.
Rôles de l'API Cloud Controller
Les rôles fournis par l'API Cloud Controller s'apparentent davantage aux rôles Kf attribués dans un cluster aux sujets qui disposent du rôle IAM roles/container.viewer sur le projet propriétaire :
- Les auditeurs de l'espace dans Cloud Foundry disposent d'un accès en lecture aux ressources dans un espace CF.
Le rôle s'apparente davantage au rôle Kf
space-auditor. - Les développeurs de l'espace dans Cloud Foundry ont la possibilité de déployer et de gérer des applications dans un espace CF.
Le rôle s'apparente davantage au rôle Kf
space-developer. - Les gestionnaires de l'espace dans Cloud Foundry peuvent modifier les paramètres de l'espace CF et attribuer des rôles aux utilisateurs.
Le rôle s'apparente davantage au rôle Kf
space-manager.
Étapes suivantes
- Apprenez-en davantage sur la sécurité de GKE dans la présentation des fonctionnalités de sécurité.
- Assurez-vous de bien comprendre le modèle de responsabilité partagée de GKE.
- Apprenez-en plus sur le contrôle des accès dans GKE.
- Consultez la présentation de l'architecture de cluster mutualisée de GKE.
- Découvrez comment renforcer votre cluster GKE.
- Familiarisez-vous avec les autorisations Kubernetes qui composent chaque rôle prédéfini Kf.