1.5. Configuration d’un fournisseur d’identité et octroi d’un accès au cluster
Le service OpenShift Red Hat sur AWS (ROSA) inclut un serveur OAuth intégré. Après la création de votre cluster ROSA, vous devez configurer OAuth pour utiliser un fournisseur d’identité. Ensuite, vous pouvez ajouter des membres à votre fournisseur d’identité configuré pour leur accorder l’accès à votre cluster.
Il est également possible d’accorder aux utilisateurs du fournisseur d’identité des privilèges de cluster-admin ou d’administration dédié au besoin.
Configuration d’un fournisseur d’identité
Il est possible de configurer différents types de fournisseurs d’identité pour votre cluster Red Hat OpenShift Service sur AWS (ROSA). Les types pris en charge incluent GitHub, GitHub Enterprise, GitLab, Google, LDAP, OpenID Connect et les fournisseurs d’identité htpasswd.
L’option fournisseur d’identité htpasswd n’est incluse que pour activer la création d’un seul utilisateur d’administration statique. htpasswd n’est pas pris en charge en tant que fournisseur d’identité à usage général pour Red Hat OpenShift Service sur AWS.
La procédure suivante configure un fournisseur d’identité GitHub comme exemple.
Procédure
- Accédez à github.com et connectez-vous à votre compte GitHub.
- Dans le cas où vous n’avez pas une organisation GitHub existante à utiliser pour le provisionnement d’identité pour votre cluster ROSA, créez-en un. Suivez les étapes de la documentation GitHub.
Configurez un fournisseur d’identité GitHub pour votre cluster qui est limité aux membres de votre organisation GitHub.
Configurez un fournisseur d’identité en utilisant le mode interactif:
$ rosa create idp --cluster=<cluster_name> --interactive1 - 1
- <cluster_name> par le nom de votre cluster.
Exemple de sortie
I: Interactive mode enabled. Any optional fields can be left empty and a default will be selected. ? Type of identity provider: github ? Identity provider name: github-1 ? Restrict to members of: organizations ? GitHub organizations: <github_org_name>1 ? To use GitHub as an identity provider, you must first register the application: - Open the following URL: https://github.com/organizations/<github_org_name>/settings/applications/new?oauth_application%5Bcallback_url%5D=https%3A%2F%2Foauth-openshift.apps.<cluster_name>/<random_string>.p1.openshiftapps.com%2Foauth2callback%2Fgithub-1&oauth_application%5Bname%5D=<cluster_name>&oauth_application%5Burl%5D=https%3A%2F%2Fconsole-openshift-console.apps.<cluster_name>/<random_string>.p1.openshiftapps.com - Click on 'Register application' ...- 1
- Remplacez <github_org_name> par le nom de votre organisation GitHub.
Suivez l’URL dans la sortie et sélectionnez Enregistrer l’application pour enregistrer une nouvelle application OAuth dans votre organisation GitHub. En enregistrant l’application, vous activez le serveur OAuth intégré dans ROSA pour authentifier les membres de votre organisation GitHub dans votre cluster.
NoteLes champs dans l’enregistrement d’un nouveau formulaire d’application OAuth GitHub sont automatiquement remplis avec les valeurs requises via l’URL définie par le ROSA CLI.
Employez les informations de votre page d’application GitHub OAuth pour remplir les instructions interactives de rosa restantes.
Exemple continu de sortie
... ? Client ID: <github_client_id>1 ? Client Secret: [? for help] <github_client_secret>2 ? GitHub Enterprise Hostname (optional): ? Mapping method: claim3 I: Configuring IDP for cluster '<cluster_name>' I: Identity Provider 'github-1' has been created. It will take up to 1 minute for this configuration to be enabled. To add cluster administrators, see 'rosa grant user --help'. To login into the console, open https://console-openshift-console.apps.<cluster_name>.<random_string>.p1.openshiftapps.com and click on github-1.NoteIl peut prendre environ deux minutes pour que la configuration du fournisseur d’identité devienne active. Lorsque vous avez configuré un utilisateur cluster-admin, vous pouvez regarder les pods OAuth redéployer avec la configuration mise à jour en exécutant oc get pods -n openshift-authentication --watch.
Entrez la commande suivante pour vérifier que le fournisseur d’identité a été configuré correctement:
$ rosa list idps --cluster=<cluster_name>Exemple de sortie
NAME TYPE AUTH URL github-1 GitHub https://oauth-openshift.apps.<cluster_name>.<random_string>.p1.openshiftapps.com/oauth2callback/github-1
B) Ressources supplémentaires
- Des étapes détaillées pour configurer chacun des types de fournisseurs d’identité pris en charge, voir Configuration des fournisseurs d’identité pour STS.
Accorder l’accès de l’utilisateur à un cluster
Il est possible d’accorder à un utilisateur un accès à votre cluster Red Hat OpenShift Service sur AWS (ROSA) en les ajoutant à votre fournisseur d’identité configuré.
Il est possible de configurer différents types de fournisseurs d’identité pour votre cluster ROSA. La procédure d’exemple suivante ajoute un utilisateur à une organisation GitHub qui est configurée pour la fourniture d’identité au cluster.
Procédure
- Accédez à github.com et connectez-vous à votre compte GitHub.
- Invitez les utilisateurs qui ont besoin d’accéder au cluster ROSA à votre organisation GitHub. Dans Inviter les utilisateurs à rejoindre votre organisation dans la documentation GitHub.
Accorder des privilèges d’administrateur à un utilisateur
Après avoir ajouté un utilisateur à votre fournisseur d’identité configuré, vous pouvez accorder aux utilisateurs des privilèges d’administration ou d’administration dédiés pour votre cluster Red Hat OpenShift Service sur AWS (ROSA).
Procédure
Configurer les privilèges cluster-admin pour un utilisateur du fournisseur d’identité:
Accorder à l’utilisateur cluster-admin privilèges:
$ rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>1 - 1
- <idp_user_name> et <cluster_name> par le nom de l’utilisateur du fournisseur d’identité et le nom de votre cluster.
Exemple de sortie
I: Granted role 'cluster-admins' to user '<idp_user_name>' on cluster '<cluster_name>'Assurez-vous que l’utilisateur est listé en tant que membre du groupe cluster-admins:
$ rosa list users --cluster=<cluster_name>Exemple de sortie
ID GROUPS <idp_user_name> cluster-admins
Configurer des privilèges dédiés-admin pour un utilisateur du fournisseur d’identité:
Accorder à l’utilisateur des privilèges d’administration dédiés:
$ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>Exemple de sortie
I: Granted role 'dedicated-admins' to user '<idp_user_name>' on cluster '<cluster_name>'Assurez-vous que l’utilisateur est répertorié en tant que membre du groupe admins dédiés:
$ rosa list users --cluster=<cluster_name>Exemple de sortie
ID GROUPS <idp_user_name> dedicated-admins