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.
Tableau 19.1. Matrice de soutien au mode CCO
Fournisseur d'informatique en nuageMenthePassageManuel

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

 
  1. 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.

Note

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

  1. Connectez-vous à la console web de OpenShift Container Platform en tant qu'utilisateur ayant le rôle cluster-admin.
  2. Naviguez jusqu'à Administration Cluster Settings.
  3. Sur la page Cluster Settings, sélectionnez l'onglet Configuration.
  4. Sous Configuration resource, sélectionnez CloudCredential.
  5. Sur la page CloudCredential details, sélectionnez l'onglet YAML.
  6. 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.
    Important

    Pour déterminer la configuration spécifique d'un cluster AWS ou GCP dont l'adresse spec.credentialsMode est '', Mint, ou Manual, 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.

  7. 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 :

    1. Naviguez jusqu'à Workloads Secrets et recherchez le secret racine de votre fournisseur de cloud.

      Note

      Assurez-vous que la liste déroulante Project est réglée sur All Projects.

      Plate-formeNom secret

      AWS

      aws-creds

      PCG

      gcp-credentials

    2. 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.

  8. 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.

    Note

    Assurez-vous que la liste déroulante Project est réglée sur All Projects.

    Plate-formeNom 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é.
  9. 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.

    1. Naviguez jusqu'à Administration Cluster Settings.
    2. Sur la page Cluster Settings, sélectionnez l'onglet Configuration.
    3. Sous Configuration resource, sélectionnez Authentication.
    4. Sur la page Authentication details, sélectionnez l'onglet YAML.
    5. 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'utilitaire ccoctl.

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.

Note

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

  1. Connectez-vous à oc sur le cluster en tant qu'utilisateur ayant le rôle cluster-admin.
  2. 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.
    Important

    Pour déterminer la configuration spécifique d'un cluster AWS ou GCP dont l'adresse spec.credentialsMode est '', Mint, ou Manual, 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.

  3. 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 }'

    <secret_name> est aws-creds pour AWS ou gcp-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.

  4. 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

    <secret_name> est aws-creds pour AWS ou gcp-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.

  5. 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 cluster Authentication.

    • 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.

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.

19.1.4. Ressources complémentaires

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.

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 leBlog 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.

© 2024 Red Hat, Inc.