3.5. Exigences d’Open ID Connect (OIDC) pour l’authentification de l’opérateur
Dans le cas des installations ROSA qui utilisent STS, vous devez créer un fournisseur OIDC spécifique à un cluster utilisé par les opérateurs de clusters pour authentifier ou créer votre propre configuration OIDC pour votre propre fournisseur OIDC.
3.5.1. Création d’un fournisseur OIDC à l’aide du CLI Copier lienLien copié sur presse-papiers!
Il est possible de créer un fournisseur OIDC hébergé sur votre compte AWS avec Red Hat OpenShift Service sur AWS (ROSA) CLI, rosa.
Conditions préalables
- La dernière version de la ROSA CLI a été installée.
Procédure
Créer un fournisseur OIDC, en utilisant une configuration OIDC non enregistrée ou enregistrée.
Les configurations OIDC non enregistrées nécessitent de créer le fournisseur OIDC via le cluster. Exécutez ce qui suit pour créer le fournisseur OIDC:
rosa create oidc-provider --mode manual --cluster <cluster_name>
$ rosa create oidc-provider --mode manual --cluster <cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteLorsque vous utilisez le mode manuel, la commande aws est imprimée sur le terminal pour votre examen. Après avoir examiné la commande aws, vous devez l’exécuter manuellement. Alternativement, vous pouvez spécifier --mode auto avec la commande rosa créer pour exécuter la commande aws immédiatement.
Commande de sortie
aws iam create-open-id-connect-provider \ --url https://oidc.op1.openshiftapps.com/<oidc_config_id> \ --client-id-list openshift sts.<aws_region>.amazonaws.com \ --thumbprint-list <thumbprint>
aws iam create-open-id-connect-provider \ --url https://oidc.op1.openshiftapps.com/<oidc_config_id> \
1 --client-id-list openshift sts.<aws_region>.amazonaws.com \ --thumbprint-list <thumbprint>
2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- L’URL utilisée pour atteindre le fournisseur d’identité OpenID Connect (OIDC) après la création du cluster.
- 2
- L’empreinte de pouce est générée automatiquement lorsque vous exécutez la commande rosa créer oidc-fourr. Consultez la documentation AWS pour plus d’informations sur l’utilisation des empreintes digitales avec AWS Identity and Access Management (IAM) des fournisseurs d’identité OIDC.
Les configurations OIDC enregistrées utilisent un identifiant de configuration OIDC. Exécutez la commande suivante avec votre identifiant de configuration OIDC:
rosa create oidc-provider --oidc-config-id <oidc_config_id> --mode auto -y
$ rosa create oidc-provider --oidc-config-id <oidc_config_id> --mode auto -y
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Commande de sortie
I: Creating OIDC provider using 'arn:aws:iam::4540112244:user/userName' I: Created OIDC provider with ARN 'arn:aws:iam::4540112244:oidc-provider/dvbwgdztaeq9o.cloudfront.net/241rh9ql5gpu99d7leokhvkp8icnalpf'
I: Creating OIDC provider using 'arn:aws:iam::4540112244:user/userName' I: Created OIDC provider with ARN 'arn:aws:iam::4540112244:oidc-provider/dvbwgdztaeq9o.cloudfront.net/241rh9ql5gpu99d7leokhvkp8icnalpf'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5.2. Création d’une configuration OpenID Connect Copier lienLien copié sur presse-papiers!
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 --yes
$ rosa create oidc-config --mode=auto --yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cette commande renvoie les informations suivantes.
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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>
$ export OIDC_ID=<oidc_config_id>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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_ID
$ echo $OIDC_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
13cdr6b
13cdr6b
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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-config
$ rosa list oidc-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple 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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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
$ 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>
$ 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
$ rosa create oidc-config --managed
Exemple de sortie