2.2. Configuration de la création de projet


Dans Red Hat OpenShift Service sur AWS, les projets sont utilisés pour regrouper et isoler des objets connexes. Lorsqu’une demande est faite pour créer un nouveau projet à l’aide de la console Web ou de la commande oc new-project, un point de terminaison dans Red Hat OpenShift Service sur AWS est utilisé pour fournir le projet en fonction d’un modèle, qui peut être personnalisé.

En tant qu’administrateur de cluster, vous pouvez autoriser et configurer la façon dont les développeurs et les comptes de services peuvent créer, ou auto-provisionner, leurs propres projets.

2.2.1. À propos de la création de projet

Le Red Hat OpenShift Service sur le serveur AWS API fournit automatiquement de nouveaux projets en fonction du modèle de projet identifié par le paramètre projectRequestTemplate dans la ressource de configuration de projet du cluster. Dans le cas où le paramètre n’est pas défini, le serveur API crée un modèle par défaut qui crée un projet avec le nom demandé et attribue l’utilisateur demandeur au rôle d’administrateur de ce projet.

Lorsqu’une demande de projet est soumise, l’API remplace les paramètres suivants dans le modèle:

Expand
Tableau 2.1. Les paramètres du modèle de projet par défaut
Le paramètreDescription

AJOUTER AU PANIER PROJECT_NAME

Le nom du projet. C’est nécessaire.

LE PROJET_DISPLAYNAME

Le nom d’affichage du projet. C’est peut-être vide.

LE PROJET_DESCRIPTION

La description du projet. C’est peut-être vide.

LE PROJET_ADMIN_USER

Le nom d’utilisateur de l’utilisateur administrant.

ACCUEIL PROJET_REQUESTING_USER

Le nom d’utilisateur de l’utilisateur demandeur.

L’accès à l’API est accordé aux développeurs ayant le rôle d’auto-proviseur et le rôle de cluster d’auto-fournisseurs. Ce rôle est disponible pour tous les développeurs authentifiés par défaut.

2.2.2. La modification du modèle pour les nouveaux projets

En tant qu’administrateur de cluster, vous pouvez modifier le modèle de projet par défaut afin que de nouveaux projets soient créés en utilisant vos exigences personnalisées.

Créer votre propre modèle de projet personnalisé:

Conditions préalables

  • Grâce à un compte doté d’autorisations d’administration dédiées, vous avez accès à un service Red Hat OpenShift sur AWS.

Procédure

  1. Connectez-vous en tant qu’utilisateur avec des privilèges cluster-admin.
  2. Générer le modèle de projet par défaut:

    $ oc adm create-bootstrap-project-template -o yaml > template.yaml
    Copy to Clipboard Toggle word wrap
  3. Créez un éditeur de texte pour modifier le fichier template.yaml généré en ajoutant des objets ou en modifiant des objets existants.
  4. Le modèle de projet doit être créé dans l’espace de noms openshift-config. Chargez votre modèle modifié:

    $ oc create -f template.yaml -n openshift-config
    Copy to Clipboard Toggle word wrap
  5. Éditez la ressource de configuration du projet à l’aide de la console Web ou du CLI.

    • En utilisant la console web:

      1. Accédez à la page Administration Paramètres du cluster.
      2. Cliquez sur Configuration pour afficher toutes les ressources de configuration.
      3. Cherchez l’entrée pour Projet et cliquez sur Modifier YAML.
    • En utilisant le CLI:

      1. Editez la ressource project.config.openshift.io/cluster:

        $ oc edit project.config.openshift.io/cluster
        Copy to Clipboard Toggle word wrap
  6. Actualisez la section Spécifications pour inclure les paramètres projectRequestTemplate et nom, et définissez le nom de votre modèle de projet téléchargé. Le nom par défaut est project-request.

    Configuration du projet ressource avec modèle de projet personnalisé

    apiVersion: config.openshift.io/v1
    kind: Project
    metadata:
    # ...
    spec:
      projectRequestTemplate:
        name: <template_name>
    # ...
    Copy to Clipboard Toggle word wrap

  7. Après avoir enregistré vos modifications, créez un nouveau projet pour vérifier que vos modifications ont été appliquées avec succès.

2.2.3. Désactivation de l’auto-provisionnement du projet

Il est possible d’empêcher un groupe d’utilisateurs authentifié d’auto-provisionner de nouveaux projets.

Procédure

  1. Connectez-vous en tant qu’utilisateur avec des privilèges cluster-admin.
  2. Affichez l’utilisation de la liaison de rôle du cluster auto-fournisseur en exécutant la commande suivante:

    $ oc describe clusterrolebinding.rbac self-provisioners
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    Name:		self-provisioners
    Labels:		<none>
    Annotations:	rbac.authorization.kubernetes.io/autoupdate=true
    Role:
      Kind:	ClusterRole
      Name:	self-provisioner
    Subjects:
      Kind	Name				Namespace
      ----	----				---------
      Group	system:authenticated:oauth
    Copy to Clipboard Toggle word wrap

    Examiner les sujets dans la section des autoprovisionnaires.

  3. Enlevez le rôle de cluster d’auto-fournisseur du système de groupe:authenticated:oauth.

    • Lorsque la liaison de rôle du cluster auto-fournisseur lie uniquement le rôle d’auto-fournisseur au système:authenticated:oauth group, exécutez la commande suivante:

      $ oc patch clusterrolebinding.rbac self-provisioners -p '{"subjects": null}'
      Copy to Clipboard Toggle word wrap
    • Lorsque la liaison de rôle de cluster auto-fournisseur lie le rôle d’auto-fournisseur à plus d’utilisateurs, de groupes ou de comptes de service que le groupe system:authenticated:oauth, exécutez la commande suivante:

      $ oc adm policy \
          remove-cluster-role-from-group self-provisioner \
          system:authenticated:oauth
      Copy to Clipboard Toggle word wrap
  4. Éditez la liaison du rôle de cluster d’auto-fournisseurs pour empêcher les mises à jour automatiques du rôle. Les mises à jour automatiques réinitialisent les rôles de cluster à l’état par défaut.

    • De mettre à jour la liaison de rôle à l’aide de l’ICC:

      1. Exécutez la commande suivante:

        $ oc edit clusterrolebinding.rbac self-provisioners
        Copy to Clipboard Toggle word wrap
      2. Dans la liaison de rôle affichée, définissez la valeur du paramètre rbac.authorization.kubernetes.io/autoupdate sur false, comme indiqué dans l’exemple suivant:

        apiVersion: authorization.openshift.io/v1
        kind: ClusterRoleBinding
        metadata:
          annotations:
            rbac.authorization.kubernetes.io/autoupdate: "false"
        # ...
        Copy to Clipboard Toggle word wrap
    • De mettre à jour la liaison de rôle en utilisant une seule commande:

      $ oc patch clusterrolebinding.rbac self-provisioners -p '{ "metadata": { "annotations": { "rbac.authorization.kubernetes.io/autoupdate": "false" } } }'
      Copy to Clipboard Toggle word wrap
  5. Connectez-vous en tant qu’utilisateur authentifié et vérifiez qu’il ne peut plus auto-provisionner un projet:

    $ oc new-project test
    Copy to Clipboard Toggle word wrap

    Exemple de sortie

    Error from server (Forbidden): You may not request a new project via this API.
    Copy to Clipboard Toggle word wrap

    Envisagez de personnaliser ce message de demande de projet pour fournir des instructions plus utiles spécifiques à votre organisation.

2.2.4. Personnalisation du message de demande de projet

Lorsqu’un développeur ou un compte de service qui n’est pas en mesure d’auto-provisionner des projets fait une demande de création de projet à l’aide de la console Web ou du CLI, le message d’erreur suivant est retourné par défaut:

You may not request a new project via this API.
Copy to Clipboard Toggle word wrap

Les administrateurs de clusters peuvent personnaliser ce message. Envisagez de le mettre à jour pour fournir d’autres instructions sur la façon de demander un nouveau projet spécifique à votre organisation. À titre d’exemple:

  • Afin de demander un projet, communiquez avec votre administrateur système à projectname@example.com.
  • Afin de demander un nouveau projet, remplissez le formulaire de demande de projet situé à https://internal.example.com/openshift-project-request.

Afin de personnaliser le message de demande de projet:

Procédure

  1. Éditez la ressource de configuration du projet à l’aide de la console Web ou du CLI.

    • En utilisant la console web:

      1. Accédez à la page Administration Paramètres du cluster.
      2. Cliquez sur Configuration pour afficher toutes les ressources de configuration.
      3. Cherchez l’entrée pour Projet et cliquez sur Modifier YAML.
    • En utilisant le CLI:

      1. Connectez-vous en tant qu’utilisateur avec des privilèges cluster-admin.
      2. Editez la ressource project.config.openshift.io/cluster:

        $ oc edit project.config.openshift.io/cluster
        Copy to Clipboard Toggle word wrap
  2. Actualisez la section Spécifications pour inclure le paramètre projectRequestMessage et définissez la valeur à votre message personnalisé:

    Configuration du projet ressource avec message personnalisé de demande de projet

    apiVersion: config.openshift.io/v1
    kind: Project
    metadata:
    # ...
    spec:
      projectRequestMessage: <message_string>
    # ...
    Copy to Clipboard Toggle word wrap

    À titre d’exemple:

    apiVersion: config.openshift.io/v1
    kind: Project
    metadata:
    # ...
    spec:
      projectRequestMessage: To request a project, contact your system administrator at projectname@example.com.
    # ...
    Copy to Clipboard Toggle word wrap
  3. Après avoir enregistré vos modifications, essayez de créer un nouveau projet en tant que développeur ou compte de service qui n’est pas en mesure d’auto-provisionner des projets pour vérifier que vos modifications ont été appliquées avec succès.
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