-
Notifications
You must be signed in to change notification settings - Fork 0
Description
DRAFT
Concepts pour la définition des droits
Les concepts Role (attaché à un namespace) et ClusterRole (global au cluster) permettent de définir les actions autorisées sur les différents types d'objets gérés par l'API Kubernetes.
La modélisation des actions reprends les concepts des API REST (voir kubernetes.io - Kubernetes API Concepts avec les verbes standards HTTP (POST, PUT, PATCH, DELETE, GET) auxquels Kubernetes ajoute le concept WATCH (c.f. Efficient detection of changes expliquant le principe de streaming des changements avec ?watch=1
)
Nous pourrons par exemple définir les rôles suivants :
TODO : quelques exemples
...ou nous appuyer sur des définitions prédéfinies.
Concept pour l'authentification
TODO ServiceAccount et authentification par token
TODO User et Group (non matérialisé en base) + différentes méthodes d'authentification dont OIDC ( https://kubernetes.io/docs/reference/access-authn-authz/authentication/ )
Concept pour l'affectation des droits
TODO RoleBinding et ClusterRoleBinding permettant d'affecter des Role ou ClusterRole à des ServiceAccount, User ou Group
Quelques commandes utiles pour la gestion des droits
# récupérer la liste des ClusterRole prédéfinis
kubectl get clusterroles
# récupérer la définition des ClusterRole cluster-admin, view,...
kubectl get clusterroles cluster-admin -o yaml
kubectl get clusterroles view -o yaml
#...
# récupérer les définitions de droits à l'échelle du cluster
kubectl get clusterrolebindings
Voir aussi :
- kubectl auth can-i pour tester les définitions de droits
Références
Metadata
Metadata
Assignees
Labels
Projects
Status