12.2. Configuration des jetons de compte de service liés en utilisant la projection de volume


En utilisant la projection de volume, vous pouvez configurer des pods pour demander des jetons de compte de service liés.

Conditions préalables

  • En tant qu’utilisateur, vous avez accès au cluster avec le rôle d’administrateur dédié.
  • C’est vous qui avez créé un compte de service. Cette procédure suppose que le compte de service est nommé build-robot.

Procédure

  1. Configurez un pod pour utiliser un jeton de compte de service lié en utilisant la projection de volume.

    1. Créez un fichier appelé pod-projected-svc-token.yaml avec les contenus suivants:

      apiVersion: v1
      kind: Pod
      metadata:
        name: nginx
      spec:
        securityContext:
          runAsNonRoot: true 
      1
      
          seccompProfile:
            type: RuntimeDefault 
      2
      
        containers:
        - image: nginx
          name: nginx
          volumeMounts:
          - mountPath: /var/run/secrets/tokens
            name: vault-token
          securityContext:
            allowPrivilegeEscalation: false
            capabilities:
              drop: [ALL]
        serviceAccountName: build-robot 
      3
      
        volumes:
        - name: vault-token
          projected:
            sources:
            - serviceAccountToken:
                path: vault-token 
      4
      
                expirationSeconds: 7200 
      5
      
                audience: vault 
      6
      Copy to Clipboard Toggle word wrap
      1
      Empêche les conteneurs de fonctionner comme racine pour minimiser les risques de compromis.
      2
      Définit le profil seccomp par défaut, limitant les appels système essentiels, afin de réduire les risques.
      3
      La référence à un compte de service existant.
      4
      Le chemin relatif au point de montage du fichier pour projeter le jeton dans.
      5
      Définissez en option l’expiration du jeton de compte de service, en quelques secondes. La valeur par défaut est de 3600 secondes (1 heure), et cette valeur doit être d’au moins 600 secondes (10 minutes). Le kubelet commence à essayer de faire pivoter le jeton si le jeton est supérieur à 80% de son temps à vivre ou si le jeton est plus de 24 heures.
      6
      Définissez en option l’audience prévue du jeton. Le destinataire d’un jeton doit vérifier que l’identité du destinataire correspond à la revendication d’audience du jeton, et devrait autrement rejeter le jeton. L’audience par défaut à l’identifiant du serveur API.
      Note

      Afin d’éviter les échecs inattendus, OpenShift Dedicated remplace la valeur d’expirationSeconds pour être un an à partir de la génération de jetons initiale avec la valeur --service-account-extend-token-expiration de true. Il n’est pas possible de modifier ce paramètre.

    2. Créer le pod:

      $ oc create -f pod-projected-svc-token.yaml
      Copy to Clipboard Toggle word wrap

      Le kubelet demande et stocke le jeton pour le compte du pod, met le jeton à la disposition du pod sur un chemin de fichier configurable, et actualise le jeton à mesure qu’il approche de l’expiration.

  2. L’application qui utilise le jeton lié doit gérer le rechargement du jeton lorsqu’il tourne.

    Le kubelet tourne le jeton s’il est plus de 80 pour cent de son temps de vivre, ou si le jeton est plus de 24 heures.

Retour au début
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. Découvrez nos récentes mises à jour.

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 le Blog 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.

Theme

© 2025 Red Hat