4.2. Création d’une configuration OpenID Connect
Lorsque vous utilisez un cluster hébergé par Red Hat, vous pouvez créer une configuration OpenID Connect (OIDC) gérée ou non en utilisant le service Red Hat OpenShift sur AWS (ROSA) CLI, rosa. La configuration OIDC gérée est stockée dans le compte AWS de Red Hat, tandis qu’une configuration OIDC non gérée générée est stockée dans votre compte AWS. La configuration OIDC est enregistrée pour être utilisée avec OpenShift Cluster Manager. Lors de la création d’une configuration OIDC non gérée, le CLI vous fournit la clé privée.
Création d’une configuration OpenID Connect
Lorsque vous utilisez un Red Hat OpenShift Service sur AWS cluster, vous pouvez créer la configuration OpenID Connect (OIDC) avant de créer votre cluster. Cette configuration est enregistrée pour être utilisée avec OpenShift Cluster Manager.
Conditions préalables
- Les prérequis AWS pour le service OpenShift Red Hat sont complétés sur AWS.
- Dans votre installation, vous avez installé et configuré le dernier service Red Hat OpenShift sur AWS (ROSA) CLI, rosa.
Procédure
Afin de créer votre configuration OIDC à côté des ressources AWS, exécutez la commande suivante:
$ rosa create oidc-config --mode=auto --yesCette commande renvoie les informations suivantes.
Exemple de sortie
? Would you like to create a Managed (Red Hat hosted) OIDC Configuration Yes I: Setting up managed OIDC configuration I: To create Operator Roles for this OIDC Configuration, run the following command and remember to replace <user-defined> with a prefix of your choice: rosa create operator-roles --prefix <user-defined> --oidc-config-id 13cdr6b If you are going to create a Hosted Control Plane cluster please include '--hosted-cp' I: Creating OIDC provider using 'arn:aws:iam::4540112244:user/userName' ? Create the OIDC provider? Yes I: Created OIDC provider with ARN 'arn:aws:iam::4540112244:oidc-provider/dvbwgdztaeq9o.cloudfront.net/13cdr6b'Lors de la création de votre cluster, vous devez fournir l’identifiant de configuration OIDC. La sortie CLI fournit cette valeur pour --mode auto, sinon vous devez déterminer ces valeurs en fonction de la sortie CLI aws pour --mode manuel.
Facultatif : vous pouvez enregistrer l’identifiant de configuration OIDC en tant que variable à utiliser ultérieurement. Exécutez la commande suivante pour enregistrer la variable:
$ export OIDC_ID=<oidc_config_id>1 - 1
- Dans l’exemple de sortie ci-dessus, l’IDC de configuration ID est 13cdr6b.
Afficher la valeur de la variable en exécutant la commande suivante:
$ echo $OIDC_IDExemple de sortie
13cdr6b
La vérification
Il est possible de répertorier les configurations OIDC possibles pour vos clusters associés à votre organisation utilisateur. Exécutez la commande suivante:
$ rosa list oidc-configExemple de sortie
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
Des options de paramètres pour créer votre propre configuration OpenID Connect
Les options suivantes peuvent être ajoutées à la commande rosa create oidc-config. Ces paramètres sont tous facultatifs. L’exécution de la commande rosa créer oidc-config sans paramètres crée une configuration OIDC non gérée.
Il vous est demandé d’enregistrer la configuration OIDC non gérée en affichant une demande à /oidc_configs via OpenShift Cluster Manager. Dans la réponse, vous recevez une pièce d’identité. Cet ID permet de créer un cluster.
fichiers bruts
Il vous permet de fournir des fichiers bruts pour la clé RSA privée. Cette clé s’appelle rosa-private-key-oidc-<random_label_of_length_4>.key. De plus, vous recevez un document de découverte, nommé Discovery-document-oidc-<random_label_of_length_4>.json, et un jeu de clés Web JSON, nommé jwks-oidc-<random_label_of_length_4>.json.
Ces fichiers sont utilisés pour configurer le point de terminaison. Ce point de terminaison répond à /.well-known/openid-configuration avec le document de découverte et sur keys.json avec le JSON Web Key Set. La clé privée est stockée dans Amazon Web Services (AWS) Secrets Manager Service (SMS) sous forme de texte clair.
Exemple :
$ rosa create oidc-config --raw-files
le mode
Il vous permet de spécifier le mode pour créer votre configuration OIDC. Avec l’option manuelle, vous recevez des commandes AWS qui configurent la configuration OIDC dans un seau S3. Cette option stocke la clé privée dans le Gestionnaire des secrets. Avec l’option manuelle, l’URL OIDC Endpoint est l’URL du seau S3. Il faut récupérer l’ARN du Gestionnaire Secrets pour enregistrer la configuration OIDC avec OpenShift Cluster Manager.
Lors de l’utilisation de l’option automatique, vous recevez la même configuration OIDC et les mêmes ressources AWS que le mode manuel. La différence significative entre les deux options est que lors de l’utilisation de l’option automatique, ROSA appelle AWS, de sorte que vous n’avez pas besoin de prendre d’autres actions. L’URL OIDC Endpoint est l’URL du seau S3. Le CLI récupère l’ARN Secrets Manager, enregistre la configuration OIDC avec OpenShift Cluster Manager, et rapporte la deuxième commande rosa que l’utilisateur peut exécuter pour continuer avec la création du cluster STS.
Exemple :
$ rosa create oidc-config --mode=<auto|manual>
géré
Crée une configuration OIDC hébergée sous le compte AWS de Red Hat. Cette commande crée une clé privée qui répond directement avec un identifiant de configuration OIDC que vous pouvez utiliser lors de la création du cluster STS.
Exemple :
$ rosa create oidc-config --managed
Exemple de sortie
W: For a managed OIDC Config only auto mode is supported. However, you may choose the provider creation mode
? OIDC Provider creation mode: auto
I: Setting up managed OIDC configuration
I: Please run the following command to create a cluster with this oidc config
rosa create cluster --sts --oidc-config-id 233jnu62i9aphpucsj9kueqlkr1vcgra
I: Creating OIDC provider using 'arn:aws:iam::242819244:user/userName'
? Create the OIDC provider? Yes
I: Created OIDC provider with ARN 'arn:aws:iam::242819244:oidc-provider/dvbwgdztaeq9o.cloudfront.net/233jnu62i9aphpucsj9kueqlkr1vcgra'