Chapitre 7. En utilisant RBAC pour définir et appliquer des autorisations


7.1. Aperçu du RBAC

Les objets de contrôle d’accès basés sur les rôles (RBAC) déterminent si un utilisateur est autorisé à effectuer une action donnée au sein d’un projet.

Les administrateurs dotés du rôle d’administrateur dédié peuvent utiliser les rôles de cluster et les liaisons pour contrôler qui a différents niveaux d’accès à la plate-forme OpenShift Dedicated elle-même et à tous les projets.

Les développeurs peuvent utiliser des rôles et des liens locaux pour contrôler qui a accès à leurs projets. À noter que l’autorisation est une étape distincte de l’authentification, qui consiste davantage à déterminer l’identité de qui prend l’action.

L’autorisation est gérée en utilisant:

Expand
L’objet d’autorisationDescription

Les règles

Ensembles de verbes autorisés sur un ensemble d’objets. À titre d’exemple, si un compte d’utilisateur ou de service peut créer des pods.

Les rôles

Collections de règles. Il est possible d’associer ou de lier des utilisateurs et des groupes à plusieurs rôles.

Fixations

Associations entre utilisateurs et/ou groupes ayant un rôle.

Il y a deux niveaux de rôles et de liaisons RBAC qui contrôlent l’autorisation:

Expand
Le niveau RBACDescription

Cluster RBAC

Les rôles et les liens qui s’appliquent à tous les projets. Les rôles de cluster existent à l’échelle du groupe, et les liens de rôle de cluster ne peuvent référencer que les rôles de cluster.

Local RBAC

Les rôles et les liens qui s’appliquent à un projet donné. Bien que les rôles locaux n’existent que dans un seul projet, les liens de rôle locaux peuvent référencer à la fois les rôles de cluster et les rôles locaux.

La liaison entre les rôles de cluster est une obligation qui existe au niveau des clusters. Il existe un rôle contraignant au niveau du projet. La vue de rôle de cluster doit être liée à un utilisateur en utilisant une liaison de rôle locale pour que cet utilisateur puisse voir le projet. Créer des rôles locaux uniquement si un rôle de cluster ne fournit pas l’ensemble des autorisations nécessaires à une situation particulière.

Cette hiérarchie à deux niveaux permet de réutiliser plusieurs projets via les rôles de cluster tout en permettant la personnalisation à l’intérieur des projets individuels via des rôles locaux.

Au cours de l’évaluation, on utilise à la fois les liaisons de rôle de groupe et les liaisons locales pour les rôles. À titre d’exemple:

  1. Les règles «permis» à l’échelle du cluster sont vérifiées.
  2. Les règles "d’autorisation" locales sont vérifiées.
  3. Déni par défaut.

7.1.1. Les rôles de cluster par défaut

Le programme OpenShift Dedicated inclut un ensemble de rôles de cluster par défaut que vous pouvez lier aux utilisateurs et aux groupes à l’échelle du cluster ou localement.

Important

Il n’est pas recommandé de modifier manuellement les rôles de cluster par défaut. Les modifications apportées à ces rôles du système peuvent empêcher un cluster de fonctionner correctement.

Expand
Le rôle du cluster par défautDescription

administrateur

Chef de projet. En cas d’utilisation dans une liaison locale, un administrateur a le droit de visualiser toute ressource dans le projet et de modifier toute ressource dans le projet, à l’exception du quota.

l’utilisateur de base

D’un utilisateur qui peut obtenir des informations de base sur les projets et les utilisateurs.

cluster-admin

C’est un super-utilisateur qui peut effectuer n’importe quelle action dans n’importe quel projet. Lorsqu’ils sont liés à un utilisateur avec une liaison locale, ils ont un contrôle total sur le quota et chaque action sur chaque ressource du projet.

groupe-status

D’un utilisateur qui peut obtenir des informations de base sur l’état du cluster.

lecture de clusters

D’un utilisateur qui peut obtenir ou visualiser la plupart des objets, mais qui ne peut pas les modifier.

Editer

L’utilisateur qui peut modifier la plupart des objets d’un projet mais qui n’a pas le pouvoir d’afficher ou de modifier des rôles ou des liaisons.

auto-fournisseur

L’utilisateur qui peut créer ses propres projets.

à voir

L’utilisateur qui ne peut apporter aucune modification, mais qui peut voir la plupart des objets dans un projet. Ils ne peuvent pas voir ou modifier les rôles ou les liaisons.

Gardez à l’esprit la différence entre les liaisons locales et les regroupements. À titre d’exemple, si vous liez le rôle cluster-admin à un utilisateur en utilisant une liaison de rôle locale, il peut sembler que cet utilisateur a les privilèges d’un administrateur de cluster. Ce n’est pas le cas. Lier le cluster-admin à un utilisateur dans un projet accorde des privilèges de super administrateur pour seulement ce projet à l’utilisateur. Cet utilisateur a les autorisations de l’administrateur de rôle de cluster, plus quelques permissions supplémentaires comme la possibilité de modifier les limites de taux, pour ce projet. Cette liaison peut être déroutante via l’interface utilisateur de la console Web, qui ne répertorie pas les liaisons de rôle de cluster qui sont liées à de vrais administrateurs de clusters. Cependant, il répertorie les liaisons de rôle locales que vous pouvez utiliser pour lier localement cluster-admin.

Les relations entre les rôles de cluster, les rôles locaux, les liens de rôle de cluster, les liens locaux de rôle, les utilisateurs, les groupes et les comptes de services sont illustrés ci-dessous.

Avertissement

Les get pods/exec, get pods/*, et obtenir * règles accordent des privilèges d’exécution lorsqu’ils sont appliqués à un rôle. Appliquez le principe du moindre privilège et n’attribuez que les droits minimaux RBAC requis pour les utilisateurs et les agents. Les règles RBAC autorisent les privilèges d’exécution.

7.1.2. Évaluation de l’autorisation

La société OpenShift Dedicated évalue l’autorisation en utilisant:

Identité
Le nom d’utilisateur et la liste des groupes auxquels l’utilisateur appartient.
À l’action

L’action que vous effectuez. Dans la plupart des cas, il s’agit de:

  • Le projet auquel vous accédez. Il s’agit d’un espace de noms Kubernetes avec des annotations supplémentaires qui permet à une communauté d’utilisateurs d’organiser et de gérer leur contenu indépendamment des autres communautés.
  • L’action elle-même : obtenir, répertorier, créer, mettre à jour, supprimer, supprimer, supprimer ou regarder.
  • Le nom de la ressource : le point de terminaison API auquel vous accédez.
Fixations
La liste complète des liens, les associations entre utilisateurs ou groupes ayant un rôle.

La société OpenShift Dedicated évalue l’autorisation en utilisant les étapes suivantes:

  1. L’identité et l’action à portée de projet sont utilisées pour trouver toutes les liaisons qui s’appliquent à l’utilisateur ou à ses groupes.
  2. Les liaisons sont utilisées pour localiser tous les rôles qui s’appliquent.
  3. Les rôles sont utilisés pour trouver toutes les règles qui s’appliquent.
  4. L’action est vérifiée par rapport à chaque règle pour trouver un match.
  5. En cas d’absence de règle de correspondance, l’action est alors refusée par défaut.
Astuce

Gardez à l’esprit que les utilisateurs et les groupes peuvent être associés ou liés à plusieurs rôles en même temps.

Les administrateurs de projet peuvent utiliser le CLI pour afficher les rôles et les liens locaux, y compris une matrice des verbes et des ressources auxquels chacun est associé.

Important

Le rôle de cluster lié à l’administrateur du projet est limité dans un projet par le biais d’une liaison locale. Il n’est pas lié à l’ensemble du cluster comme les rôles de cluster attribués au cluster-admin ou system:admin.

Les rôles de cluster sont des rôles définis au niveau du cluster, mais peuvent être liés soit au niveau du cluster, soit au niveau du projet.

7.1.2.1. Agrégation des rôles de cluster

L’administrateur, l’édition, la vue et les rôles de cluster par défaut prennent en charge l’agrégation des rôles de cluster, où les règles de cluster pour chaque rôle sont mises à jour dynamiquement à mesure que de nouvelles règles sont créées. Cette fonctionnalité n’est pertinente que si vous étendez l’API Kubernetes en créant des ressources personnalisées.

Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat