Jenkins CI – Identifiants AWS

Jenkins CI – Identifiants AWS

Aujourd’hui, un petit article concernant l’automatisation et l’utilisation des services AWS depuis une instance Jenkins. AWS fournit de nombreux outils permettant l’automatisation de votre infrastructure, de vos déploiements, de vos backups, et j’en passe. On pense notamment au AWS CLI, AWS SDK et AWS CloudFormation. Cependant, il est nécessaire de contrôler la façon dont vous vous identifiez pour utiliser ces outils, par exemple vous pouvez avoir besoin de vous identifier sur plusieurs comptes AWS ou encore gérer différents droits en fonction du type d’environnement.

Tout d’abord, il faut vous munir d’identifiants AWS, liés à un utilisateur qu’il faudra créer :

add_user

Ensuite, rendez-vous sur votre instance Jenkins (si vous n’en avez pas encore, je vous conseille de suivre ce tutoriel). Jenkins permet de centraliser tous vos identifiants nécessaires pour les appels à tous les services externes dont vous avez besoin (Git, SSH, AWS, etc). Afin d’ajouter des identifiants AWS dans ce « Credentials Manager », il faut au préalable installer le CloudBees AWS Credentials Plugin. Il est maintenant possible d’ajouter les identifiants de notre utilisateur AWS :aws_credentials

Vous avez enfin vos identifiants AWS managés par Jenkins. Il ne reste plus qu’à les utiliser dans vos jobs. Pour cela, il faut se rendre dans la section « Build Environment » de votre job et sélectionner l’option « Use secret text(s) or file(s) ». Ajoutez un binding « AWS access key and secret » et choisissez les identifiants de votre choix :

job_aws_credentials

Par défaut, le plugin va ajouter les variables d’environnement AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY au runtime de votre job. Ces variables sont reconnues automatiquement par les outils AWS (CLI et SDK) et vous permettront de réaliser les actions de votre choix sur votre compte AWS (ex : aws s3api list-buckets).

Si cette article vous a été utile, n’hésitez pas à commenter, le partager ou nous contacter. Plus d’articles à venir sur l’automatisation…

Comments

comments

Les commentaires sont clos.