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
Configurez un pod pour utiliser un jeton de compte de service lié en utilisant la projection de volume.
Créez un fichier appelé pod-projected-svc-token.yaml avec les contenus suivants:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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.
NoteAfin 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.
Créer le pod:
oc create -f pod-projected-svc-token.yaml
$ oc create -f pod-projected-svc-token.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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.
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.