Skip to content

Annexe - Kubernetes - décrire les concepts et principes de la gestion des droits (RBAC) #22

@mborne

Description

@mborne

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 :

Références

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions