Chapitre 19. Gestion des informations d'identification des fournisseurs de services en nuage
19.1. À propos du Cloud Credential Operator
Le Cloud Credential Operator (CCO) gère les informations d'identification des fournisseurs de cloud sous forme de définitions de ressources personnalisées (CRD). Le CCO se synchronise sur CredentialsRequest
custom resources (CRs) pour permettre aux composants d'OpenShift Container Platform de demander des informations d'identification de fournisseur de cloud avec les autorisations spécifiques requises pour le fonctionnement du cluster.
En définissant différentes valeurs pour le paramètre credentialsMode
dans le fichier install-config.yaml
, le CCO peut être configuré pour fonctionner dans plusieurs modes différents. Si aucun mode n'est spécifié ou si le paramètre credentialsMode
est défini comme une chaîne vide (""
), l'OCC fonctionne dans son mode par défaut.
19.1.1. Modes
En définissant différentes valeurs pour le paramètre credentialsMode
dans le fichier install-config.yaml
, le CCO peut être configuré pour fonctionner en mode mint, passthrough ou manual. Ces options offrent transparence et flexibilité dans la manière dont le CCO utilise les informations d'identification du nuage pour traiter les CR CredentialsRequest
dans le cluster, et permettent au CCO d'être configuré pour répondre aux exigences de sécurité de votre organisation. Tous les modes de CCO ne sont pas pris en charge par tous les fournisseurs de cloud.
- Mint: En mode menthe, le CCO utilise l'identifiant cloud de niveau administrateur fourni pour créer de nouveaux identifiants pour les composants du cluster avec uniquement les autorisations spécifiques requises.
- Passthrough: En mode passthrough, le CCO transmet les informations d'identification du nuage fournies aux composants qui demandent des informations d'identification du nuage.
Manual: En mode manuel, c'est un utilisateur qui gère les informations d'identification du nuage à la place du CCO.
- Manual with AWS Security Token Service: En mode manuel, vous pouvez configurer un cluster AWS pour qu'il utilise le service de jetons de sécurité d'Amazon Web Services (AWS STS). Avec cette configuration, le CCO utilise des informations d'identification temporaires pour différents composants.
- Manual with GCP Workload Identity: En mode manuel, vous pouvez configurer un cluster GCP pour utiliser GCP Workload Identity. Avec cette configuration, le CCO utilise des informations d'identification temporaires pour différents composants.
Fournisseur d'informatique en nuage | Menthe | Passage | Manuel |
---|---|---|---|
Nuage d'Alibaba | X | ||
Amazon Web Services (AWS) | X | X | X |
Microsoft Azure | X [1] | X | |
Google Cloud Platform (GCP) | X | X | X |
IBM Cloud | X | ||
Plate-forme Red Hat OpenStack (RHOSP) | X | ||
Red Hat Virtualization (RHV) | X | ||
VMware vSphere | X |
- Le mode manuel est la seule configuration CCO prise en charge pour Microsoft Azure Stack Hub.
19.1.2. Déterminer le mode de fonctionnement du Cloud Credential Operator
Pour les plates-formes qui prennent en charge l'utilisation du CCO dans plusieurs modes, vous pouvez déterminer le mode dans lequel le CCO est configuré à l'aide de la console Web ou de l'interface de ligne de commande (CLI).
19.1.2.1. Détermination du mode Cloud Credential Operator à l'aide de la console web
Vous pouvez déterminer le mode de fonctionnement du Cloud Credential Operator (CCO) à l'aide de la console web.
Seuls les clusters Amazon Web Services (AWS), Microsoft Azure et Google Cloud Platform (GCP) prennent en charge plusieurs modes de CCO.
Conditions préalables
- Vous avez accès à un compte OpenShift Container Platform avec des permissions d'administrateur de cluster.
Procédure
-
Connectez-vous à la console web de OpenShift Container Platform en tant qu'utilisateur ayant le rôle
cluster-admin
. -
Naviguez jusqu'à Administration
Cluster Settings. - Sur la page Cluster Settings, sélectionnez l'onglet Configuration.
- Sous Configuration resource, sélectionnez CloudCredential.
- Sur la page CloudCredential details, sélectionnez l'onglet YAML.
Dans le bloc YAML, vérifiez la valeur de
spec.credentialsMode
. Les valeurs suivantes sont possibles, bien qu'elles ne soient pas toutes prises en charge sur toutes les plateformes :-
''
: Le CCO fonctionne dans le mode par défaut. Dans cette configuration, le CCO fonctionne en mode "menthe" ou "passthrough", en fonction des informations d'identification fournies lors de l'installation. -
Mint
: Le CCO fonctionne en mode menthe. -
Passthrough
: Le CCO fonctionne en mode "passthrough". -
Manual
: Le CCO fonctionne en mode manuel.
ImportantPour déterminer la configuration spécifique d'un cluster AWS ou GCP dont l'adresse
spec.credentialsMode
est''
,Mint
, ouManual
, vous devez procéder à des recherches plus approfondies.Les clusters AWS et GCP prennent en charge l'utilisation du mode menthe avec le secret racine supprimé.
Un cluster AWS ou GCP qui utilise le mode manuel peut être configuré pour créer et gérer des informations d'identification cloud depuis l'extérieur du cluster à l'aide du service de jetons de sécurité AWS (STS) ou de l'identité de charge de travail GCP. Vous pouvez déterminer si votre cluster utilise cette stratégie en examinant l'objet cluster
Authentication
.-
Les clusters AWS ou GCP qui utilisent la valeur par défaut (
''
) uniquement : Pour déterminer si le cluster fonctionne en mode "mint" ou "passthrough", inspectez les annotations sur le secret racine du cluster :Naviguez jusqu'à Workloads
Secrets et recherchez le secret racine de votre fournisseur de cloud. NoteAssurez-vous que la liste déroulante Project est réglée sur All Projects.
Plate-forme Nom secret AWS
aws-creds
PCG
gcp-credentials
Pour afficher le mode CCO utilisé par le cluster, cliquez sur
1 annotation
sous Annotations, et vérifiez le champ de valeur. Les valeurs suivantes sont possibles :-
Mint
: Le CCO fonctionne en mode menthe. -
Passthrough
: Le CCO fonctionne en mode "passthrough".
Si votre cluster utilise le mode "mint", vous pouvez également déterminer si le cluster fonctionne sans le secret racine.
-
Clusters AWS ou GCP qui utilisent uniquement le mode menthe : Pour déterminer si le cluster fonctionne sans le secret racine, accédez à Workloads
Secrets et recherchez le secret racine de votre fournisseur de cloud. NoteAssurez-vous que la liste déroulante Project est réglée sur All Projects.
Plate-forme Nom secret AWS
aws-creds
PCG
gcp-credentials
- Si vous voyez l'une de ces valeurs, votre cluster utilise le mode mint ou passthrough avec le secret root présent.
- Si vous ne voyez pas ces valeurs, c'est que votre cluster utilise l'OCC en mode menthe avec le secret racine supprimé.
Clusters AWS ou GCP qui utilisent uniquement le mode manuel : Pour déterminer si le cluster est configuré pour créer et gérer des informations d'identification cloud depuis l'extérieur du cluster, vous devez vérifier les valeurs YAML de l'objet cluster
Authentication
.-
Naviguez jusqu'à Administration
Cluster Settings. - Sur la page Cluster Settings, sélectionnez l'onglet Configuration.
- Sous Configuration resource, sélectionnez Authentication.
- Sur la page Authentication details, sélectionnez l'onglet YAML.
Dans le bloc YAML, vérifiez la valeur du paramètre
.spec.serviceAccountIssuer
.-
Une valeur qui contient une URL associée à votre fournisseur de cloud indique que le CCO utilise le mode manuel avec AWS STS ou GCP Workload Identity pour créer et gérer les informations d'identification du cloud depuis l'extérieur du cluster. Ces clusters sont configurés à l'aide de l'utilitaire
ccoctl
. -
Une valeur vide (
''
) indique que le cluster utilise le CCO en mode manuel mais qu'il n'a pas été configuré à l'aide de l'utilitaireccoctl
.
-
Une valeur qui contient une URL associée à votre fournisseur de cloud indique que le CCO utilise le mode manuel avec AWS STS ou GCP Workload Identity pour créer et gérer les informations d'identification du cloud depuis l'extérieur du cluster. Ces clusters sont configurés à l'aide de l'utilitaire
-
Naviguez jusqu'à Administration
19.1.2.2. Détermination du mode Cloud Credential Operator à l'aide de la CLI
Vous pouvez déterminer le mode de configuration du Cloud Credential Operator (CCO) à l'aide de la CLI.
Seuls les clusters Amazon Web Services (AWS), Microsoft Azure et Google Cloud Platform (GCP) prennent en charge plusieurs modes de CCO.
Conditions préalables
- Vous avez accès à un compte OpenShift Container Platform avec des permissions d'administrateur de cluster.
-
Vous avez installé l'OpenShift CLI (
oc
).
Procédure
-
Connectez-vous à
oc
sur le cluster en tant qu'utilisateur ayant le rôlecluster-admin
. Pour déterminer le mode dans lequel le CCO est configuré, entrez la commande suivante :
$ oc get cloudcredentials cluster \ -o=jsonpath={.spec.credentialsMode}
Les valeurs de sortie suivantes sont possibles, bien qu'elles ne soient pas toutes prises en charge sur toutes les plates-formes :
-
''
: Le CCO fonctionne dans le mode par défaut. Dans cette configuration, le CCO fonctionne en mode "menthe" ou "passthrough", en fonction des informations d'identification fournies lors de l'installation. -
Mint
: Le CCO fonctionne en mode menthe. -
Passthrough
: Le CCO fonctionne en mode "passthrough". -
Manual
: Le CCO fonctionne en mode manuel.
ImportantPour déterminer la configuration spécifique d'un cluster AWS ou GCP dont l'adresse
spec.credentialsMode
est''
,Mint
, ouManual
, vous devez procéder à des recherches plus approfondies.Les clusters AWS et GCP prennent en charge l'utilisation du mode menthe avec le secret racine supprimé.
Un cluster AWS ou GCP qui utilise le mode manuel peut être configuré pour créer et gérer des informations d'identification cloud depuis l'extérieur du cluster à l'aide du service de jetons de sécurité AWS (STS) ou de l'identité de charge de travail GCP. Vous pouvez déterminer si votre cluster utilise cette stratégie en examinant l'objet cluster
Authentication
.-
Les clusters AWS ou GCP qui utilisent la valeur par défaut (
''
) uniquement : Pour déterminer si le cluster fonctionne en mode "mint" ou "passthrough", exécutez la commande suivante :$ oc get secret <secret_name> \ -n kube-system \ -o jsonpath \ --template '{ .metadata.annotations }'
où
<secret_name>
estaws-creds
pour AWS ougcp-credentials
pour GCP.Cette commande affiche la valeur du paramètre
.metadata.annotations
dans l'objet secret de la racine du cluster. Les valeurs suivantes sont possibles :-
Mint
: Le CCO fonctionne en mode menthe. -
Passthrough
: Le CCO fonctionne en mode "passthrough".
Si votre cluster utilise le mode "mint", vous pouvez également déterminer si le cluster fonctionne sans le secret racine.
-
Clusters AWS ou GCP qui utilisent uniquement le mode menthe : Pour déterminer si le cluster fonctionne sans le secret racine, exécutez la commande suivante :
$ oc get secret <secret_name> \ -n=kube-system
où
<secret_name>
estaws-creds
pour AWS ougcp-credentials
pour GCP.Si le secret racine est présent, la sortie de cette commande renvoie des informations sur le secret. Une erreur indique que le secret racine n'est pas présent sur le cluster.
Clusters AWS ou GCP qui utilisent uniquement le mode manuel : Pour déterminer si le cluster est configuré pour créer et gérer des informations d'identification cloud depuis l'extérieur du cluster, exécutez la commande suivante :
$ oc get authentication cluster \ -o jsonpath \ --template='{ .spec.serviceAccountIssuer }'
Cette commande affiche la valeur du paramètre
.spec.serviceAccountIssuer
dans l'objet clusterAuthentication
.-
Une sortie d'une URL associée à votre fournisseur de cloud indique que le CCO utilise le mode manuel avec AWS STS ou GCP Workload Identity pour créer et gérer les informations d'identification du cloud depuis l'extérieur du cluster. Ces clusters sont configurés à l'aide de l'utilitaire
ccoctl
. -
Une sortie vide indique que le cluster utilise le CCO en mode manuel mais qu'il n'a pas été configuré à l'aide de l'utilitaire
ccoctl
.
-
Une sortie d'une URL associée à votre fournisseur de cloud indique que le CCO utilise le mode manuel avec AWS STS ou GCP Workload Identity pour créer et gérer les informations d'identification du cloud depuis l'extérieur du cluster. Ces clusters sont configurés à l'aide de l'utilitaire
19.1.3. Comportement par défaut
Pour les plateformes sur lesquelles plusieurs modes sont pris en charge (AWS, Azure et GCP), lorsque l'OCC fonctionne dans son mode par défaut, il vérifie les informations d'identification fournies de manière dynamique afin de déterminer pour quel mode elles sont suffisantes pour traiter les CR CredentialsRequest
.
Par défaut, l'OCC détermine si les informations d'identification sont suffisantes pour le mode menthe, qui est le mode de fonctionnement préféré, et utilise ces informations d'identification pour créer les informations d'identification appropriées pour les composants du cluster. Si les informations d'identification ne sont pas suffisantes pour le mode mint, il détermine si elles sont suffisantes pour le mode passthrough. Si les informations d'identification ne sont pas suffisantes pour le mode passthrough, le CCO ne peut pas traiter correctement les CR CredentialsRequest
.
Si les informations d'identification fournies sont jugées insuffisantes lors de l'installation, celle-ci échoue. Pour AWS, le programme d'installation échoue au début du processus et indique les autorisations requises manquantes. D'autres fournisseurs peuvent ne pas fournir d'informations spécifiques sur la cause de l'erreur jusqu'à ce que des erreurs soient rencontrées.
Si les informations d'identification sont modifiées après une installation réussie et que le CCO détermine que les nouvelles informations d'identification sont insuffisantes, il pose des conditions à toute nouvelle CR CredentialsRequest
pour indiquer qu'il ne peut pas les traiter en raison de l'insuffisance des informations d'identification.
Pour résoudre les problèmes liés à l'insuffisance des informations d'identification, fournissez une information d'identification avec des autorisations suffisantes. Si une erreur s'est produite lors de l'installation, essayez à nouveau de l'installer. Pour les problèmes liés aux nouvelles CR CredentialsRequest
, attendez que le CCO essaie à nouveau de traiter la CR. Vous pouvez également créer manuellement un IAM pour AWS, Azure et GCP.