Zbudowany w celu rozwiązania infrastruktury jako Code (IAC), Terraform obsługuje wielu dostawców usług w chmurze. Jest to narzędzie open source opracowane przez Hashicorp. Korzystając z IAC, możemy zarządzać konfiguracją infrastruktury za pomocą plików konfiguracyjnych. Na przykład możemy wdrażać, aktualizować i zarządzać naszą infrastrukturą, definiując wymagane zasoby.
W tym przewodniku zobaczymy, w jaki sposób możemy utworzyć użytkownika AWS i dołączyć do niego zasady za pomocą Terraform. Zacznijmy najpierw od instalacji Terraform na Ubuntu 20.04.
Instalowanie Terraform
Hashicorp zapewnia oficjalny pakiet Terraform dla Ubuntu/Debian, Centos/Rhel, Fedora i Amazon Linux. Oprócz tego utrzymuje również skompilowane wstępnie binarne i można go również opracować ze źródła. Do tego przewodnika używamy domyślnego pakietu dostarczonego przez repozytorium pakietu Debian, aby zainstalować Terraform na Ubuntu 20.04.
Krok 1. Zainstaluj pakiety GNUPG, oprogramowanie-properties i curl, aby zweryfikować podpis GPG Hashicorp i zainstaluj wymagane repozytorium:
$ sudo apt-get aktualizacja && sudo apt-get install -y gnupg oprogramowanie-properties-common curl
Krok 2. Dodaj klawisz Hashicorp GPG za pomocą polecenia:
$ curl -fssl https: // apt.wydania.Hashicorp.com/gpg | sudo apt-key add -
Krok 3. Kontynuuj, dodając wymagane repozytorium.
$ sudo apt-add-repozytory „deb [arch = amd64] https: // apt.wydania.Hashicorp.com $ (lsb_release -cs) main ”
Krok 4. Uruchom polecenie aktualizacji, aby dodać repozytorium i zainstalować TerraForm.
$ sudo apt-get aktualizacja && sudo apt-get instaluj terraform
Krok 5. Sprawdź, czy Terraform jest zainstalowany przez uruchamianie polecenia:
$ terraform -version
Nasz terraform jest instalowany na naszym komputerze lokalnym, dzięki czemu możemy kontynuować nasze zadanie w pracy z AWS. Jak wspomniano wcześniej, Terraform używa kilku plików konfiguracyjnych do dostarczania zasobów. Każdy z tych plików musi znajdować się w odpowiednim folderze/katalogu roboczym. Utwórzmy katalog w tym celu.
Zrób folder zawierający pliki konfiguracyjne i zmień katalog na ten folder:
$ mkdir linuxhint-terraform && cd Linuxhint-Terraform
1. Tworzenie użytkownika IAM za pomocą Terraform
Mamy teraz tylko jednego użytkownika IAM:
Zrobimy teraz „user_create.tf„Plik, który będzie używany do tworzenia naszego użytkownika„ Demouser ”:
$ nano user_create.tf
Teraz umieść w nim następującą konfigurację:
TerraformTworzenie zasady i dołączanie go do użytkownika IAM za pomocą Terraform
Utworzymy listę S3 wszystkich zasad i dołączymy ją do naszego użytkownika IAM. Teraz dołącz powyższy plik do tego kodu:
Zasób „aws_iam_user_policy” „IAM”Ten plik zawiera całą konfigurację do wdrożenia za pomocą Terraform. Wystarczy zastąpić odważny tekst własnymi szczegółami konfiguracji. Zbadajmy każdą z sekcji użytych w powyższym pliku:
Atrybut wersji definiuje wersję dostawcy, której chcesz użyć.
Aby zweryfikować lub zweryfikować konfigurację, użyj polecenia:
$ Terraform potwierdza
Inicjowanie katalogu Terraform
Aby pobrać i zainstalować dostawcę, który zdefiniowaliśmy w naszej konfiguracji i innych plikach, musimy zainicjować katalog zawierający ten plik:
$ Terraform init
Jak widać na powyższym zdjęciu, nasze polecenie init jest udane i są tutaj również nowe pliki. Jest też jeszcze jedno polecenie: „Plan Terraform”. Chociaż używanie go nie jest obowiązkowe, ma pewne korzyści. Na przykład.:
1. Możesz zobaczyć, jak Akcje, które Terraform będzie wykonywać.
2. Może wskazywać błędy składniowe w plikach konfiguracyjnych.
Terraform nie wspomina o tym poleceniu w dokumentacji, ponieważ po uruchomieniu polecenia „Terraform”, ten sam plan zostanie ponownie przedstawiony.
Budowanie infrastruktury
Aby zbudować naszą infrastrukturę, użyj polecenia:
$ Terraform Zastosuj
Najpierw wyprowadzi to plan wykonania opisujący zadania, które Terraform wykona, aby wprowadzić stan infrastruktury do tej zdefiniowanej w pliku konfiguracyjnym. Następnie zatrzyma się i poprosi o potwierdzenie planu kontynuowania. Jeśli wszystko jest ustawione zgodnie z pragnieniem, wpisz „tak”, aby kontynuować:
Jeśli jesteś gotowy, wpisz „Tak”. Zauważ, że ukończenie procesu zajmuje trochę czasu. Po zakończeniu tego procesu pojawi się poniższa wiadomość:
Aby wyświetlić poświadczenia bezpieczeństwa, otwórz „Terraform.plik tfstate 'i poszukaj atrybutu wartości pod „secret_key” i „access_key”:
W Twojej konsoli zarządzania IAM AWS użytkownik IAM zostanie tam wymieniony:
Aby sprawdzić, które zasady są dołączone do tego użytkownika IAM, kliknij nazwę użytkownika IAM. Z poniższego zrzutu ekranu widzimy, że lub „Demouser” ma zasadę „testową” załączoną z tym samym uprawnieniem, które dołączyliśmy wcześniej w pliku Terraform.
Weryfikacja polityki
Aby sprawdzić, czy nasza załączona zasada działa zgodnie z oczekiwaniami, połącz się z użytkownikiem IAM i uruchom polecenie:
$ AWS S3 LS
Jeśli wszystko zostało skonfigurowane poprawnie, zobaczysz listę swoich wiader:
Niszczenie zasobów
Po zakończeniu i nie potrzebujesz już utworzonych zasobów AWS, możesz po prostu je usunąć za pomocą polecenia:
$ Terraform niszczy
Wniosek
W tym przewodniku dowiedzieliśmy się o dołączeniu zasady IAM do użytkownika AWS za pomocą Terraform. Możesz także spróbować dołączyć różne zasady do użytkownika lub rolę w ten sam sposób.