Für den Zweck der Infrastruktur als Codelösung (IAC) erstellt. Es ist ein Open -Source -Tool, das von Hashicorp entwickelt wurde. Mit IAC können wir das Infrastruktur -Setup mit Konfigurationsdateien verwalten. Zum Beispiel können wir unsere Infrastruktur bereitstellen, aktualisieren und verwalten, indem wir die erforderlichen Ressourcen definieren.
In diesem Handbuch werden wir sehen, wie wir einen AWS -Benutzer erstellen und eine Richtlinie mit Terraform anhängen können. Beginnen wir zunächst mit der Installation von Terraform auf Ubuntu 20.04.
Terraform installieren
Hashicorp bietet das offizielle Terraform -Paket für Ubuntu/Debian, Centos/Rhel, Fedora und Amazon Linux. Darüber hinaus hält es auch vorgefertigte Binärdatoren und kann auch aus der Quelle zusammengestellt werden. Für diese Anleitung verwenden wir das Standardpaket, das vom Debian -Paket -Repository bereitgestellt wird, um Terraform auf Ubuntu 20 zu installieren.04.
Schritt 1. Installieren Sie GNUPG-, Software-Properties-Common- und Curl-Pakete, um die GPG-Signatur von Hashicorp zu überprüfen und das erforderliche Repository zu installieren:
$ sudo APT-Get Update && sudo apt-Get Install -y GNUPG Software-Properties-Common Curl
Schritt 2. Fügen Sie den Hashicorp -GPG -Schlüssel mit dem Befehl hinzu:
$ curl -fssl https: // apt.Veröffentlichungen.Hashicorp.com/gpg | sudo apt-key add -
Schritt 3. Fahren Sie fort, indem Sie das erforderliche Repository hinzufügen.
$ sudo apt-add-repository "Deb [arch = amd64] https: // apt.Veröffentlichungen.Hashicorp.com $ (lsb_release -cs) main "
Schritt 4. Fügen Sie den Befehl Update aus, um das Repository hinzuzufügen und Terraform zu installieren.
$ sudo apt-Get Update && sudo apt-Get Installieren Sie Terraform
Schritt 5. Überprüfen Sie, ob Terraform durch Ausführen des Befehls installiert ist:
$ terraform -version
Unsere Terraform ist auf unserer lokalen Maschine installiert, sodass wir unsere Aufgabe bei der Arbeit mit AWS fortsetzen können. Wie bereits erwähnt, verwendet Terraform mehrere Konfigurationsdateien für Bereitstellungsressourcen. Jede dieser Dateien muss sich in ihrem jeweiligen Arbeitsordner/Verzeichnis befinden. Lassen Sie uns für diesen Zweck ein Verzeichnis erstellen.
Erstellen Sie einen Ordner für Ihre Konfigurationsdateien und ändern Sie das Verzeichnis in diesen Ordner:
$ mkdir linuxHint-terraform && cd linuxHint-terraform
1. Erstellen von IAM -Benutzer mit Terraform
Wir haben momentan nur einen IAM -Benutzer:
Wir werden jetzt eine machen 'user_create.tf'Datei, die zum Erstellen unseres Benutzers "Demouser" verwendet wird:
$ nano user_create.tf
Stellen Sie nun die folgende Konfiguration hinein:
TerraformErstellen einer Richtlinie und das Anhängen an dem IAM -Benutzer mit Terraform
Wir erstellen eine S3 -Liste Alle Buckets -Richtlinien und fügen sie unserem IAM -Benutzer bei. Gehen Sie nun die obige Datei mit diesem Code an:
Ressource "aws_iam_user_policy" "iam"Diese Datei enthält die gesamte Konfiguration, die mit Terraform bereitgestellt werden soll. Ersetzen Sie einfach den fetthaltigen Text durch Ihre eigenen Konfigurationsdetails. Lassen Sie uns jeden der in der obigen Datei verwendeten Abschnitte untersuchen:
Das Versionsattribut definiert die Version des Anbieters, den Sie verwenden möchten.
Um Ihre Konfiguration zu validieren oder zu überprüfen, verwenden Sie den Befehl:
$ Terraform Validate
Initialisierung des Terraform -Verzeichnisses
Um den in unserer Konfiguration und anderen Dateien definierten Anbieter herunterzuladen und zu installieren, müssen wir das Verzeichnis mit dieser Datei initialisieren:
$ terraform init
Wie Sie aus dem obigen Bild sehen können, ist unser Init -Befehl erfolgreich und es werden hier auch einige neue Dateien erstellt. Es gibt auch noch einen Befehl: "Terraformplan". Obwohl es nicht obligatorisch ist, es zu verwenden, hat es einige Vorteile. Zum Beispiel.:
1. Sie können sehen, dass die Aktionen, die Terraform ausführen wird.
2. Es kann auf syntaktische Fehler in Ihren Konfigurationsdateien hinweisen.
Terraform erwähnt diesen Befehl in seiner Dokumentation nicht, da beim Ausführen des Befehls "Terraform Apply" derselbe Plan erneut präsentiert wird.
Aufbau der Infrastruktur
Verwenden Sie den Befehl, um unsere Infrastruktur aufzubauen:
$ Terraform gelten
Dadurch wird zunächst den Ausführungsplan ausgegeben, der die Aufgaben beschreibt, die Terraform ausführen wird. Danach wird es innehalten und Sie bitten, den Plan zu bestätigen, fortzufahren. Wenn alles so eingestellt ist, wie Sie es gewünscht haben, geben Sie "Ja" ein, um fortzufahren:
Wenn Sie bereit sind, fortzufahren, geben Sie "Ja" ein,. Beachten Sie, dass das Abschluss des Vorgangs einige Zeit dauert. Wenn dieser Vorgang abgeschlossen ist, wird die folgende Nachricht angezeigt:
Öffnen Sie die Terraform, um Ihre Sicherheitsanmeldeinformationen anzuzeigen.TFState 'Datei und suchen Sie nach dem Wert -Attribut unter "Secret_key" und "Access_key":
Auf Ihrer AWS -IAM -Verwaltungskonsole wird der IAM -Benutzer dort aufgeführt:
Um zu überprüfen, welche Richtlinien diesem IAM -Benutzer beigefügt sind, klicken Sie auf den Namen des IAM -Benutzers. Aus dem folgenden Screenshot können wir sehen, dass oder Demouser eine "Test" -Richtlinie mit derselben Berechtigung mit derselben Berechtigung in die Terraformdatei beigefügt ist.
Überprüfung der Richtlinie
Um festzustellen, ob unsere beigefügte Richtlinie wie erwartet funktioniert, stellen Sie eine Verbindung zum IAM -Benutzer her und führen Sie den Befehl aus:
$ aws s3 ls
Wenn alles richtig eingerichtet wurde, sehen Sie die Liste Ihrer Eimer hier:
Zerstörung der Ressourcen
Wenn Sie fertig sind und die von Ihnen erstellten AWS -Ressourcen nicht mehr benötigen, können Sie sie einfach mit dem Befehl löschen:
$ Terraform zerstören
Abschluss
In diesem Leitfaden haben wir erfahren, dass ein AWS -Benutzer eine IAM -Richtlinie mit Terraform angehängt hat. Sie können auch versuchen, auf die gleiche Weise verschiedene Richtlinien an einen Benutzer oder eine Rolle anzubringen.