Construit aux fins de l'infrastructure en tant que solution de code (IAC), Terraform prend en charge plusieurs fournisseurs de services cloud. C'est un outil open source développé par Hashicorp. En utilisant IAC, nous pouvons gérer la configuration des infrastructures avec des fichiers de configuration. Par exemple, nous pouvons déployer, mettre à jour et gérer notre infrastructure en définissant les ressources requises.
Dans ce guide, nous verrons comment nous pouvons créer un utilisateur AWS et y attacher une stratégie en utilisant Terraform. Laissez-nous d'abord par l'installation de Terraform sur Ubuntu 20.04.
Installation de Terraform
Hashicorp fournit le package Terraform officiel pour Ubuntu / Debian, Centos / Rhel, Fedora et Amazon Linux. À côté de cela, il maintient également le binaire pré-compilé et peut également être compilé à partir de la source. Pour ce guide, nous utilisons le package par défaut fourni par le référentiel de la package Debian pour installer Terraform sur Ubuntu 20.04.
Étape 1. Installez GNUPG, Software-Properties-Common et Curl Packages pour vérifier la signature GPG de Hashicorp et installer le référentiel requis:
$ sudo apt-get update && sudo apt-get install -y gnupg logiciel-properties-commun curl
Étape 2. Ajoutez la clé GPG Hashicorp à l'aide de la commande:
$ curl -fssl https: // apt.sorties.hashicorp.com / gpg | sudo apt-key ajouter -
Étape 3. Continuez en ajoutant le référentiel requis.
$ sudo apt-add-repository "deb [arch = amd64] https: // apt.sorties.hashicorp.com $ (lsb_release -cs) Main "
Étape 4. Exécutez la commande de mise à jour pour ajouter le référentiel et installer Terraform.
$ sudo apt-get update && sudo apt-get install terraform
Étape 5. Vérifiez si Terraform est installé en exécutant la commande:
$ Terraform - Version
Notre terraform est installé sur notre machine locale, nous pouvons donc continuer notre tâche à travailler avec AWS. Comme mentionné précédemment, Terraform utilise plusieurs fichiers de configuration pour l'approvisionnement des ressources. Chacun de ces fichiers doit résider dans son dossier / répertoire de travail respectif. Créons un répertoire à cet effet.
Créez un dossier pour contenir vos fichiers de configuration et modifier le répertoire dans ce dossier:
$ Mkdir Linuxhint-Terraform && CD Linuxhint-Terraform
1. Création d'un utilisateur IAM à l'aide de Terraform
Nous n'avons qu'un seul utilisateur IAM en ce moment:
Nous allons maintenant faire un 'User_Create.TF'Fichier qui sera utilisé pour créer notre utilisateur «Demouser»:
$ nano user_create.TF
Maintenant, mettez la configuration suivante à l'intérieur:
TerraformCréer une stratégie et l'attacher à l'utilisateur IAM à l'aide de Terraform
Nous allons créer une stratégie S3 List All Bodets et l'attacher à notre utilisateur IAM. Ajoutez maintenant le fichier ci-dessus avec ce code:
ressource "aws_iam_user_policy" "iam"Ce fichier contient toute la configuration à déployer à l'aide de Terraform. Remplacez simplement le texte en gras par vos propres détails de configuration. Explorons chacune des sections utilisées dans le fichier ci-dessus:
L'attribut de version définit la version du fournisseur que vous souhaitez utiliser.
Pour valider ou vérifier votre configuration, utilisez la commande:
$ Terraform Valider
Initialisation du répertoire Terraform
Pour télécharger et installer le fournisseur que nous avons défini dans notre configuration et autres fichiers, nous devons initialiser le répertoire contenant ce fichier:
$ Terraform init
Comme vous pouvez le voir sur l'image ci-dessus, notre commande init est réussie et il y a également de nouveaux fichiers créés ici. Il y a aussi une autre commande: `` Plan Terraform '. Bien qu'il ne soit pas obligatoire de l'utiliser, il a certains avantages. Par exemple.:
1. Vous pouvez voir les actions que Terraform va effectuer.
2. Il peut souligner les erreurs syntaxiques dans vos fichiers de configuration.
Terraform ne mentionne pas cette commande dans sa documentation car lorsque vous exécutez la commande `` Terraform Apply '', le même plan sera à nouveau présenté.
Construire l'infrastructure
Pour construire notre infrastructure, utilisez la commande:
$ terraform s'applique
Cela sortira d'abord le plan d'exécution décrivant les tâches que Terraform effectuera pour amener l'état de votre infrastructure à celui défini dans votre fichier de configuration. Après cela, il s'arrête et vous demandera de confirmer le plan de continuer. Si tout est défini comme vous le souhaitez, tapez «oui» pour continuer:
Si vous êtes prêt à continuer, tapez «oui». Notez que la réalisation du processus prend un certain temps. Une fois ce processus terminé, le message ci-dessous apparaît:
Pour afficher vos informations d'identification de sécurité, ouvrez le 'Terraform.Fichier tfState 'et recherchez l'attribut de valeur sous le "Secret_key" et "Access_key":
Sur votre console de gestion AWS IAM, l'utilisateur IAM y sera répertorié:
Afin de vérifier quelle stratégie est attachée à cet utilisateur IAM, cliquez sur le nom de l'utilisateur IAM. À partir de la capture d'écran ci-dessous, nous pouvons voir cela ou «Demouser» a une stratégie de «test» qui lui est attachée avec la même autorisation que nous avons jointe plus tôt dans le fichier Terraform.
Vérifier la politique
Pour voir si notre stratégie jointe fonctionne comme prévu, connectez-vous à l'utilisateur IAM et exécutez la commande:
$ aws s3 ls
Si tout a été configuré correctement, vous verrez la liste de vos seaux ici:
Détruire les ressources
Lorsque vous avez terminé et que vous n'avez plus besoin des ressources AWS que vous avez créées, vous pouvez simplement les supprimer en utilisant la commande:
$ terraform détruire
Conclusion
Dans ce guide, nous avons appris à attacher une politique IAM à un utilisateur AWS utilisant Terraform. Vous pouvez également essayer d'attacher différentes politiques à un utilisateur ou un rôle de la même manière.