Jak skonfigurować AWS CLI do pracy z wieloma kontami

W tym zadaniu dowiesz się, jak skonfigurować AWS CLI do pracy z wieloma kontami AWS.

Realizując to zdanie, wykonasz wszystkie niezbędne kroki do tego, aby pracować z AWS korzystając z AWS CLI.

Dodatkową możesz wykorzystać moją ulubioną aplikacje Leapp do zarządzania konfiguracją i sesjami AWS IAM Identity Center.

Video tutorial

Co jest Ci potrzebne do wykonania tego zadania:

  • Odpalona i działające organizacja AWS (AWS Organizations),
  • Skonfigurowana usługa AWS IAM Identity Center (dawniej AWS Single Sign-On),
  • Dostęp do kont AWS, do których chcesz skonfigurować AWS CLI,

KROKI DO WYKONANIA TEGO ZADANIA

KROK 1: Instalacja AWS CLI

W pierwszym kroku zainstaluj, na swoim komputerze AWS CLI. W zależności od systemu operacyjnego proces będzie wyglądał trochę inaczej.

Wszystkie niezbędne informacje znajdziesz pod poniższym linkiem:

https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

Efektem końcowym powinna być możliwość wywoływania komend z wiersza poleceń jak np.:

aws --version

Polecam również skonfigurować sobie auto-uzupełnianie poleceń. Opis jak to zrobić znajdziesz tutaj:

https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-completion.html

KROK 2: Integracja awc cli z AWS IAM Identity Center

W tym kroku wykorzystasz “natywny” element konfiguracji aws cli z AWS IAM Identity Center (będę naprzemiennie stosował również skrót SSO). Aby podłączyć się do swojej “instancji” AWS IAM IC, w pierwszym kroku wywołaj poniższe polecenie:

aws configure sso

Następnie podaj wszystkie niezbędne informacje jak:

  • SSO session name (Recommended): – dowolna nazwa dla konfiguracji instancji SSO.
  • SSO start URL: tutaj podajesz URL do Twojej instancji SSO. Jest to link, przez który logujesz się z przeglądarki internetowej do konsoli graficznej.
  • SSO region: tutaj wybierasz region, w którym masz skonfigurowaną swoją instancję AWS IAM Identity Center.
  • SSO registration scopes: zostaw domyślne.

W dalszym kroku nastąpi przekierowanie do przeglądarki celem zalogowania się do SSO. Jeśli całym proces przebiegnie prawidłowo, wróć do command line. W oknie powinna pojawić się lista kont AWS, do których masz dostęp poprzez SSO.

  • Wybierze z listy konto, dla którego chcesz stworzyć profil cli.
  • CLI default client Region: tutaj możesz ustawić domyślny region, w którym chcesz wykonywać polecenia (np. eu-west-1).
  • CLI default output format: tutaj możesz określić format, w jakim będą zwracane rezultaty wykonywanych komend.
  • CLI profile name: tutaj określasz nazwę profilu dla tego konta. Nazwa ta powinna być dość łatwa do przywoływania 😉. Dla każdego konta będzie to inna nazwa. Wywołując dowolne polecenie, będziesz potem wybierał profile (czyli konto AWS) wpisując:
polecenie --profile nazwa_profilu

Na koniec sprawdź, czy wszystko działa, wykonując przykładowe polecenie:

aws s3 ls --profile nazwa_profilu

Generalnie, na koniec całego procesu w plikach konfiguracji aws cli (np. ~/.aws/config) powinno być coś w stylu:

[profile my-dev-profile]
sso_session = my-sso
sso_account_id = 123456789011
sso_role_name = readOnly
region = us-west-2
output = json

[sso-session my-sso]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
sso_registration_scopes = sso:account:access

Gratulacje ✅

W ten sposób udało Ci się dodać pierwszy profil (konto AWS). Teraz jeśli chcesz dodać kolejne konta, musisz powtórzyć powyższe kroki.

KROK 3: Logowanie z wykorzystaniem aplikacji Leapp

To jest opcjonalny krok, w którym możesz skorzystać z zewnętrznej aplikacji do zarządzania połączeniami do Twojego środowiska AWS. Jest to zamiennik tego, co robiliśmy w kroku 2-gim.

Aby zainstalować Leapp, wejdź na stronę i pobierze pakiet instalacyjny.

https://www.leapp.cloud/

Po zainstalowaniu wystarczy uruchomić aplikację i z menu po lewej stronie w sekcji Integrations dodać konfigurację swojej instancji AWS IAM Identity Center.

Konfiguracja jest zbliżona do tego co robiliśmy w kroku 2-gim, czyli:

  • Alias to ta sama nazwa co ➡️ SSO session name,
  • Portal Url: ➡️ SSO start URL,
  • Aws Region: ➡️ SSO region,
  • Auth. method: tutaj określasz, czy logowanie do SSO chcesz wykonywać “wewnątrz” aplikacji czy przez przeglądarkę (tak jak w cli),

GOTOWE!

Teraz zaloguje się na jedno z kont i zobacz czy wszystko działa. Wywołaj jakąś przykładową komendę:

aws s3 ls

🏆 Gratulacje! Udało Ci się skonfigurować aws cli.

Teraz możesz ruszać do pracy z command line 🫡



CloudArmor – Bezpieczne środowisko AWS

CloudArmor to usługa, która pomoże Ci zbudować bezpieczne środowisko AWS, które spełnia najwyższe standardy ochrony danych.

Jeśli szukasz wsparcia w procesie budowania bezpiecznego środowiska AWS, sprawdź szczegóły.