luktom.net
  • blog
  • kontakt
  • english





Konfiguracja profili AWS CLI – szybko i skutecznie

20 lut, 2018
AWS
Brak komentarzy
Odsłony : 2004

Jeśli korzystamy z więcej niż jednego konta AWS to absolutnie niezbędną sprawą jest konfiguracja profili dla AWS CLI.

Konfiguracji dokonujemy w plikach .aws/credentials a także .aws/config. Pierwszy ze wspomnianych plików zawiera klucze do połączenia z AWS – nigdy go nie wersjonujemy! Drugi natomiast zawiera dodatkową konfigurację, jego wersjonować jak najbardziej polecam.

Osobne poświadczenia do każdego z kont

Standardowy przypadek to sytuacja dwu kont, każde z osobnymi poświadczeniami (.aws/credentials):

[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

[user2]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

Oraz odpowiadający mu .aws/config:

[default]
region=eu-west-2
output=json

[profile user2]
region=eu-west-1
output=text

W powyższej konfiguracji konta działają zupełnie niezależnie od siebie, dodatkowo określamy domyślny region a także format wyjścia dla komend AWS CLI.

Konto default, jak sama nazwa wskazuje, jest kontem domyślnym, które używane jest jeśli nie określimy jawnie innego profilu.

Konfiguracja dla Assume Role

Ciekawszym przypadkiem do konfiguracji jest sytuacja w której w ramach jednego konta dokonujemy Assume Role do roli w tym samym lub też zupełnie innym koncie – np. w ramach używania AWS Organzations.

W tym przypadku w pliku .aws/credentials dokonujemy konfiguracji poświadczeń dla głównego konta (w przykładzie dla default), np:

[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Natomiast w .aws/config ustawiamy domyślne ustawienia dla konta głównego a następnie definiujemy profile i role do których AWS CLI ma wykonywać automatycznie assume role:

[default]
region = eu-west-1
output = json

[profile dev]
role_arn = arn:aws:iam::123456789012:role/OrganizationAccountAccessRole
region = eu-central-1
source_profile = default

[profile prod]
role_arn = arn:aws:iam::987654321098:role/OrganizationAccountAccessRole
region = eu-central-1
source_profile = default

Warto zwrócić uwagę na source_profile, dzięki któremu możemy mieć zdefiniowanych kilka „hierarchii” kont.

Używanie profili

Profili można używać na dwa główne sposoby – pierwszy z nich to jawne podanie nazwy profilu w wywołaniu AWS CLI:

aws --profile prod sts get-caller-identity

Powyższy sposób ma zastosowanie głównie w skryptach, w których operujemy na wielu profilach jednocześnie. Do codziennych zastosowań znacznie wygodniej jest ustawić zmienną środowiskową AWS_PROFILE:

export AWS_PROFILE=prod
aws sts get-caller-identity

Podsumowanie

Używanie profili bardzo ułatwia i przyspiesza pracę. Zaprezentowana konfiguracja jest zupełnie wystarczająca na początek, jednak można jeszcze ją ulepszyć – np. dołożyć MFA – ale to temat na kolejny wpis :)

Zachęcam do śledzenia bloga – czy to przez RSS, czy też na Facebooku – aby nie przegapić następnych porad dotyczących pracy z AWS :)



Tagi :   awsaws cli

Powiązane wpisy

  • „Immutable infrastructure: automate VM template creation using Packer and Ansible” – zapraszam na prelekcję

  • Wygodna praca z profilami AWS CLI w Bashu

  • AWS Certificate Manager – walidacja własności dla domeny głównej zamiast subdomen

  • AWS Certificate Manager i walidacja certyfikatów przy użyciu DNS

  • Dodaj komentarz

    Click here to cancel reply

    You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>





    Łukasz Tomaszkiewicz

    Łukasz Tomaszkiewicz

    Pasjonat chmury, szczególnie AWSa, który nieustannie automatyzuje powtarzające się czynności i optymalizuje procesy, przy okazji wdrażając dobre praktyki dotyczące bezpieczeństwa. Jego szerokie doświadczenie w zakresie tworzenia oprogramowania, projektowania baz danych, a także wirtualizacji serwerów i zarządzania infrastrukturą w chmurze pozwala mu spojrzeć przekrojowo na współczesny stack technologiczny.

    W wolnym czasie fotograf, sporadycznie piszący blogger :) a także regularny prelegent na krakowskich grupach związanych z IT.

    Wyznawca Vim'a :)

    Kategorie

    • Ansible
    • AWS
    • C#
    • Chatboty
    • Cloud
    • Daj się poznać 2017
    • Docker
    • Inne
    • Linux
    • Open source
    • Organizacyjne
    • Prelekcje
    • Sieci komputerowe
    • SQL Server
    • Windows
    • Windows Server
    • Wirtualizacja

    Najczęściej czytane

    • Creating single node VSAN cluster
    • SQL Server – walidacja numerów PESEL i NIP
    • Konfiguracja serwera DHCP na routerach Cisco
    • Aktywacja routingu IP w Windows 7 / Windows Server 2008
    • Konwersja maszyn wirtualnych z ESXi do Hyper-V przy użyciu SCVMM 2012
    • Jak podłączyć program R do SQL Servera?

    Tagi

    .net ai ansible asp.net mvc aws aws cli bot builder bot framework c# centos certyfikaty chatbot chatboty cisco cmd docker dsp2017 esxi hyperv kontenery konteneryzacja linux mvc nlp openvpn plssug pobieranie powershell prelekcje rancher redhat router sieci smogbot sql server ssd ssl vmware vsphere windows windows mobile windows server wirtualizacja wit.ai wrzuta

    Copyright © 2006-2018 by Łukasz Tomaszkiewicz. Wszelkie prawa zastrzeżone