Jak przyjąć rolę IAM za pomocą interfejsu CLI AWS?

Jak Przyjac Role Iam Za Pomoca Interfejsu Cli Aws



Ponieważ AWS zapewnia szereg usług i ogromne korzyści, naturalne jest, że eksperci IT zgłosili obawy dotyczące bezpieczeństwa. Aby rozwiązać te problemy związane z bezpieczeństwem, AWS wprowadziło usługę IAM. AWS IAM to jedna z podstawowych usług internetowych, która pozwala użytkownikom zabezpieczać zasoby AWS. IAM zapewnia funkcjonalność centralnego zarządzania dostępem do usług AWS poprzez definiowanie uprawnień dla różnych użytkowników.

Szybki zarys

W tym artykule dowiesz się o:







Jaka jest rola IAM w AWS?
Jaka jest rola pełniona w AWS?
Jak przyjąć rolę IAM za pomocą interfejsu CLI AWS?



Końcowe przemyślenia



Dzięki rolom i uprawnieniom IAM możemy określić uwierzytelniony i autoryzowany dostęp do usług AWS. Te role i uprawnienia może przypisać wyłącznie użytkownik root (właściciel) konta AWS.





Jaka jest rola IAM w AWS?

Rola IAM to tożsamość utworzona przez użytkownika root na koncie AWS. Do tej tożsamości przypisane są określone uprawnienia, które definiują zakres dostępu roli IAM do zasobów AWS. Uprawnienia te mogą być zarządzane przez AWS lub zdefiniowane przez użytkownika root.

Rola IAM jest bardzo podobna do użytkownika IAM, z tym wyjątkiem, że rola IAM to tożsamość z określonymi uprawnieniami, podczas gdy użytkownik może przyjąć te role w celu wykonywania określonych funkcji. Uprawnienia nadane roli definiują, jakie działania można podjąć w przypadku tej tożsamości (rola IAM).



Jaka jest rola pełniona w AWS?

Asume Role to jedna z funkcjonalności usługi AWS IAM, która umożliwia użytkownikowi korzystanie z usług AWS, mimo że uprawnienia dostępu do zasobu lub manipulowania nim nie są przypisane do użytkownika. Uprawnienia te są pośrednio przypisywane użytkownikowi po przyjęciu roli. Aby uzyskać dostęp do zasobów AWS, używany jest zestaw tymczasowych poświadczeń wraz z logowaniem opartym na sesji.

Te tymczasowe poświadczenia obejmują tajny klucz dostępu, identyfikator klucza dostępu i token bezpieczeństwa. Role IAM utworzone przez użytkownika root AWS mogą przejąć inni użytkownicy w ramach konta AWS lub ci użytkownicy, których ARN jest wymieniony w polityce roli. Polityka zawierająca ARN użytkowników lub zasobów jest znana jako Polityka zaufania .

Jaka jest różnica między polityką uprawnień a polityką zaufania?

Przed zaimplementowaniem funkcji przyjmowania roli różnymi metodami użytkownik musi zrozumieć dwie podstawowe koncepcje. W usłudze IAM istnieją dwa rodzaje zasad:

    • Polityka zaufania: Polityka zaufania określa, kto może przyjąć określoną rolę IAM. W przypadku roli, którą ma przyjąć użytkownik, ARN użytkownika jest wymieniony w polityce zaufania roli IAM. Ta polityka zaufania określa, czy użytkownik lub zasoby są podmiotem zaufanym do przyjęcia tej roli.
    • Polityka uprawnień: Ta zasada określa, co użytkownik może zrobić i jakie akcje można wykonać w ramach tej roli.

Jak przyjąć rolę IAM za pomocą interfejsu CLI AWS?

Przyjęcie roli przypomina przebranie się za innego użytkownika, który jest uwierzytelniony i upoważniony do wykonywania określonych czynności. Przyjmując tożsamość, AWS zapewnia nienaruszone bezpieczeństwo.

Przyjrzyjmy się działaniu funkcji Przyjmij rolę, rozważając następujący przykład.

Na przykład, na koncie AWS istnieje użytkownik, któremu nie przypisano żadnych uprawnień do segmentu S3. The „Dostęp tylko do odczytu” nazywa się polityką uprawnień powiązaną z rolą IAM. Aby użytkownik mógł przyjąć tę rolę, jego numer ARN jest wymieniony w zasadach dotyczących roli IAM. Ta polityka nazywa się teraz tzw „polityka zaufania” i różni się od polityki uprawnień. Polityka zaufania jest kluczowa, ponieważ pomaga AWS określić, czy użytkownik jest podmiotem uprawnionym, czy nie.

Należy pamiętać, że numer ARN jest wymieniony w zasadach zaufania, a nie w zasadach uprawnień roli IAM. Przyjmując rolę, użytkownik może wykonać kilka czynności administracyjnych określonych w polityce uprawnień tej roli. Działania te obejmują dodawanie, usuwanie, modyfikowanie lub przywracanie zasobu itp.

Poniżej znajdują się trzy metody przyjmowania roli w interfejsie CLI AWS:

Metoda 1: Korzystanie z STS (usługi tokena zabezpieczającego)

Użytkownicy mogą przyjąć rolę, wykonując polecenia w sekcji STS (Secure Token Service), która zwraca zestaw tymczasowych poświadczeń. Tymczasowe poświadczenia służą do ustanowienia logowania opartego na sesji w celu wykonywania wywołań API do zasobów. Jednakże istnieją dwa wyjątki podczas korzystania z STS, tj. PobierzToken Federacji I Pobierz token sesji.

Użytkownik ma ograniczony dostęp do tych tokenów w celu zabezpieczenia poufnych informacji tokenów sesyjnych i federacyjnych. Aby bezpieczeństwo nie zostało zagrożone w żadnych okolicznościach. Przyjmując rolę, użytkownik może podnieść przypisane mu uprawnienia.

W tej części artykułu poprosimy o zestaw tymczasowych poświadczeń za pomocą poleceń STS. Poniżej znajdują się kroki:

Krok 1: Utwórz użytkownika i zasady użytkownika

Po pierwsze, zrobimy to utwórz użytkownika IAM bez żadnych uprawnień. W tym celu otwórz plik CMD z menu Start systemu Windows:


Tylko użytkownik root Móc tworzyć jakiś Użytkownik IAM na koncie AWS. Dlatego zaloguj się na konto root AWS za pomocą następującego polecenia:

och, skonfiguruj


Poświadczenia są już skonfigurowane w interfejsie CLI dla tej wersji demonstracyjnej, jak pokazano w wynikach polecenia:


Ucz się więcej:

Do utwórz użytkownika IAM , wprowadź następujące polecenie do CLI:

aws, utworzyłem użytkownika --nazwa użytkownika użytkownik demonstracyjny


Zastąp użytkownik demonstracyjny z Twoim Nazwa użytkownika uprawnień.

Zapisz „Arn” podane na wyjściu polecenia, tak jak będzie wymagany Kiedy tworzenie the Polityka zaufania :


Czytaj więcej:

Następnym krokiem jest zezwolenie użytkownik (użytkownik demo ) Do przyjąć rolę . W tym celu utwórz plik plik JSON używając dowolnego Edytor tekstu ty preferujesz. W tym demo użyliśmy Notatnik jak określono w poniższym poleceniu:

Dla Windowsa

notatnik user-policy.json


Zastąp polityka użytkownika z nazwą zasad IAM.

Dla systemu operacyjnego Linux

ponieważ user-policy.json


W tej chwili w tej wersji demonstracyjnej używamy systemu operacyjnego Windows:


Spowoduje to otwarcie notatnika. Wklej poniższą politykę do notatnika i naciśnij „CTRL + S” z klawiatury, aby zapisać zmiany:

{
'Wersja' : „2012-10-17” ,
'Oświadczenie' : [
{
'Efekt' : 'Umożliwić' ,
'Działanie' : [
„ec2:Opisz*” ,
„iam:ListaRoli” ,
„sts:Przyjmij rolę”
] ,
'Ratunek' : „*”
}
]
}


Poniżej znajduje się krótki opis określonej polityki:

    • ec2:Opisz: To uprawnienie określa, że ​​użytkownik może przeglądać lub wyświetlać listę wszystkich AMI, migawek lub instancji EC2
    • iam:ListaRole: To uprawnienie określa, że ​​użytkownik może wyświetlić listę wszystkich ról w usłudze IAM.
    • sts:Załóż rolę: To uprawnienie oznacza, że ​​użytkownik może przyjąć rolę zdefiniowaną w usłudze IAM.

Tutaj polityka została edytowana w notatniku i zapisana:


Każdy AWS ratunek przypisany jest Nazwa zasobu dostępu (ARN) Który jednoznacznie identyfikuje zasób. Aby określić ARN polisy, użyj poniższego polecenia.

och, utworzyłem politykę --nazwa-polityki polityka użytkownika --dokument-polityki plik: // user-policy.json


W powyższym poleceniu:

    • –nazwa-polityki: Zastąp wartość „polityka użytkownika” z dowolną nazwą polisy według własnych preferencji.
    • –dokument-polityka: W tym polu zamień „ user-policy.json” z nazwą pliku json, który zawiera politykę dla użytkownika.

Dane wyjściowe powyższego polecenia są następujące. Zapisz „Arn” wymienione w wynikach polityki, ponieważ będzie to wymagane podczas dołączania tej polityki do użytkownika:

Krok 2: Dołącz Politykę do Użytkownika

Ta polityka umożliwi użytkownikowi wystawienie listy Instancje EC2 , Przyjaciele itp. Gdy użytkownik przyjmie rolę z innymi uprawnieniami, będzie mógł wykonać tylko tę konkretną akcję, na którą pozwalają zasady uprawnień.

Aby dołączyć profil do użytkownika utworzonego wcześniej w tej sekcji, użyj następującego polecenia:

aws, załączam politykę użytkownika --nazwa użytkownika użytkownik demonstracyjny --polityka-arn „arn:aws:iam::123456789:polityka/polityka użytkownika”


W powyższym poleceniu:

    • -nazwa użytkownika: Zastąp „użytkownik demonstracyjny” w -nazwa użytkownika pole z nazwą użytkownika IAM.
    • –polityka-arn: Podobnie w –polityka-arn, określić „Arn” z wyniku poprzedniego polecenia, tj. –create-policy.

Wykonanie polecenia po dokonaniu wymaganych zmian oznacza, że ​​profil został pomyślnie dołączony do użytkownika:


Aby sprawdzić, czy profil został dołączony do użytkownika, wprowadź w interfejsie CLI następujące polecenie:

aws iam list-attached-user-policies --nazwa użytkownika użytkownik demonstracyjny


Zastąp użytkownik demonstracyjny ze swoim IAM nazwa użytkownika określone podczas tworzenia użytkownika.

Dane wyjściowe następującego polecenia sprawdzają, czy polityka została pomyślnie dołączona do użytkownika:

Krok 3: Utwórz politykę zaufania i rolę IAM

Relacja zaufania jest ustanawiana, gdy w polityce określony jest zasób lub ARN użytkownika. Ta funkcjonalność umożliwia następnie użytkownikom lub podmiotom wykonanie określonych działań, ponieważ zgodnie z polityką są oni uznawani za zaufanych.

Na tym etapie utworzymy politykę ustanawiającą relację zaufania pomiędzy rolą IAM a użytkownikiem. Ta zasada zaufania zostanie dołączona do roli IAM. Rolę IAM przejmie wówczas użytkownik, co pośrednio pozwoli mu na wykonanie działań określonych w polityce.

Aby utworzyć politykę zaufania, wydawane są następujące polecenia:

Dla Windowsa

notatnik zaufanie-roli-policy.json


Zastąp zaufanie-roli-policy.json z nazwą preferowanej polisy.

Dla systemu operacyjnego Linux

ponieważ zaufanie-roli-policy.json


Zastąp zaufanie-roli-policy.json z nazwą preferowanej polisy.

Polityka zaufania jest zgodna z formacie JSON jak określono w .json rozszerzenie w następującym poleceniu:


Spowoduje to otwarcie notatnika. Pasta następujące polityka w notatniku i naciśnij „CTRL + S” na klawiaturze, aby zapisać zmiany. ARN użytkownika można również skopiować z panelu użytkownika w konsoli IAM. W tym celu odwiedź panel IAM i kliknij nazwę użytkownika. Z wyświetlonej konfiguracji skopiuj ARN użytkownika wyświetlony w sekcji Podsumowanie.:

{
'Wersja' : „2012-10-17” ,
'Oświadczenie' : {
'Efekt' : 'Umożliwić' ,
'Główny' : {
„AWS” : „arn:aws:iam::123456789012:użytkownik/przykładowy użytkownik”
} ,
'Działanie' : „sts:Przyjmij rolę”
}
}


W powyższej polityce:

    • AWS-a: Zastąp Wartość pola AWS „arn:aws:iam::123456789012:user/example-user ”z ARN użytkownika który został wyświetlony w wynikach polecenia –create-user.

Użytkownik może uniemożliwić innym użytkownikom przyjmowanie roli IAM, podając ARN użytkownika w pliku „AWS” pole:


Czytaj więcej:

Teraz utwórz rolę IAM i dołącz do niej politykę zaufania. Aby utworzyć rolę IAM, użyj poniższego polecenia:

och, utworzyłem rolę --nazwa-roli rola użytkownika --załóż-rolę-dokument-polityki plik: // zaufanie-roli-policy.json


Poniżej znajduje się opis powyższych pól:

    • –nazwa-roli: To pole służy do wprowadzenia nazwy, która zostanie przypisana do tej roli IAM. Zastąp wartość „rola użytkownika” wybraną nazwą roli IAM.
    • – dokument-założenia-roli-polityki: W tym polu podaj ścieżkę podaną w poleceniu. Zastąp plik trust-role-policy.json nazwą zasady określoną przez Ciebie w poprzedniej sekcji.

Wykonanie tego polecenia zwróci na wyjściu kilka informacji, np. ARN, ścieżkę, identyfikator itp.:


Czytaj więcej:

Po przyjęciu tej roli użytkownik będzie mógł wykonywać m.in „Dostęp tylko do odczytu” akcja z wiadrem S3. Polecenie wydawane jest w następujący sposób:

aws, dołączam-role-policy --nazwa-roli rola użytkownika --polityka-arn „arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess”


W powyższym poleceniu:

    • –nazwa-roli: Zastępować ' rola użytkownika' w polu –nazwa-roli za pomocą Nazwa roli IAM które określiłeś wcześniej w tym samouczku.
    • –polityka-arn: Arn określony w –policy-arn odnosi się do uprawnienia ReadOnlyAccess dla segmentu S3.

Na tym obrazku roli przypisano uprawnienie ReadOnlyAccess dla segmentu S3:


Aby sprawdzić, czy uprawnienia zostały przypisane do roli, czy też nie, użyj następującego polecenia:

aws, mam listę dołączonych zasad-roli --nazwa-roli rola użytkownika


Zastąp 'rola użytkownika' z nazwą Twojej roli IAM.

The „AmazonS3Dostęp tylko do odczytu” uprawnienie zostało przypisane do roli IAM. Dane wyjściowe polecenia są podane w następujący sposób:

Krok 4: Utwórz klucze dostępu

W tej sekcji utworzymy klucze dostępu dla użytkownika. Klucze dostępu będą wykorzystywane do logowania się do Konta AWS:

aws utworzyłem klucz dostępu --nazwa użytkownika użytkownik demonstracyjny


Zastąp użytkownik demonstracyjny z nazwą użytkownika IAM podaną podczas tworzenia użytkownika.

W tym przypadku polecenie zwróciło zestaw par kluczy dostępu (AccessKeyId i tajny klucz dostępu) z dodatkowymi szczegółami, takimi jak data utworzenia, status itp. Ratować AccessKeyId i SecretAccessKey, ponieważ są one wymagane w dalszej części samouczka:


Czytaj więcej:

Krok 5: Skonfiguruj klucz dostępu i zweryfikuj użytkownika IAM

Aby skonfigurować klucz dostępu, wprowadź następujące polecenie w CMD, a następnie wprowadź identyfikator klucza dostępu i tajny klucz dostępu:

och, skonfiguruj


Podaj identyfikator klucza dostępu i tajny klucz dostępu do interfejsu CLI utworzonego w kroku 4 tej sekcji. Dla regionu zachowaliśmy ustawienia domyślne. Użytkownicy mogą skonfigurować dowolny format wyjściowy jako domyślny format wyjściowy. W tym demo określiliśmy plik JSON format:


Aby sprawdzić, czy użytkownik IAM został skonfigurowany, wprowadź do CLI następującą komendę:

aws sts get-caller-tożsamość


Dane wyjściowe polecenia wskazują, że „użytkownik demonstracyjny” został pomyślnie skonfigurowany i jest obecnie zalogowany na konto AWS:


Aby ustalić, czy użytkownik IAM może wyświetlić listę instancji EC2 i nie ma obecnie dostępu do segmentu S3, użyj następującego polecenia:

aws ec2 opisuje instancje --zapytanie „Rezerwacje[*].Instancje[*].[VpcId, InstanceId, ImageId, InstanceType]”


Dane wyjściowe polecenia są podane w następujący sposób:


Teraz wprowadź następujące polecenie, aby sprawdzić, czy użytkownik może uzyskać dostęp do segmentu S3:

och, s3 ls


Spowoduje to wyświetlenie 'Brak dostępu' błąd wskazujący, że użytkownik nie ma dostępu do segmentu S3:

Krok 6: Przyjmij rolę IAM

Użytkownik ma uprawnienia do wyświetlania ról IAM na koncie AWS. Dlatego, aby przyjąć Rolę, najpierw zdobędziemy niezbędne informacje, takie jak ARN, wykonując następujące polecenie:

och, mam listę ról --zapytanie „Roles[?RoleName == 'rola-użytkownika'].[RoleName, Arn]'


Zastąp „rolę użytkownika” nazwą roli IAM w polu „RoleName”.

ARN został podany na wyjściu powyższego polecenia:


Teraz, gdy mamy już ARN roli IAM, możemy przyjąć tę rolę, używając następującego polecenia:

aws sts przejmuje rolę --role-arn „arn:aws:iam::123456789012:rola/przykładowa rola” --nazwa-sesji-roli Sesja AWSCLI


W powyższym poleceniu:

    • –rola-arn: Zamień wspomnianą wartość –role-arn na ARN roli IAM.
    • –nazwa-sesji-roli: Użytkownik może podać dowolną preferowaną nazwę w tym polu.

Wykonanie powyższego polecenia powoduje zwrócenie zestawu tymczasowych poświadczeń. Te tymczasowe poświadczenia zostaną użyte do przyjęcia roli IAM z żądanymi uprawnieniami, tj. ReadOnlyAccess. AccessKeyId i SecretAccessKey zostaną użyte podczas konfigurowania tych tymczasowych poświadczeń:


Oto krótki opis wyników polecenia:

    • Token sesji: Token sesji służy do tworzenia logowania opartego na sesji. Zapisz wartość tego pola, ponieważ będzie ona wymagana podczas konfigurowania poświadczeń.
    • Wygaśnięcie: Token sesji ma datę i godzinę ważności. Po upływie określonego czasu Token będzie bezużyteczny i użytkownik nie będzie mógł objąć swojej roli.

Krok 7: Skonfiguruj zmienną środowiskową

Aby skonfigurować tymczasowe poświadczenia, użyjemy polecenia „set” dla systemu Windows, a następnie podamy wartość identyfikatora klucza dostępu, tajnego klucza dostępu, tokena sesji itp.:

Dla Windowsa

ustawić AWS_ACCESS_KEY_ID =RolaAccessKeyID


Zastąp RoleAccessKeyID identyfikatorem klucza dostępu zwróconym przez polecenie w kroku 6.

Dla systemu operacyjnego Linux

eksport AWS_ACCESS_KEY_ID =RolaAccessKeyID


Zastąp RoleAccessKeyID identyfikatorem klucza dostępu zwróconym przez polecenie w kroku 6.

Klucz dostępu został skonfigurowany:


Następnie skonfigurujemy tajny klucz dostępu za pomocą polecenia „set” dla systemu Windows:

Dla Windowsa

ustawić AWS_SECRET_ACCESS_KEY =RolaSecretKey


Zastąp RoleSecretKey wartością tajnego klucza dostępu zwróconą przez polecenie w kroku 6.

Dla systemu operacyjnego Linux

eksport AWS_SECRET_ACCESS_KEY =RolaSecretKey


Zastąp AWS_SECRET_ACCESS_KEY tajnym kluczem dostępu, który został zwrócony przez polecenie w kroku 6.

Tajny klucz dostępu został pomyślnie skonfigurowany:


Na koniec skonfigurujemy token sesji, aby ustanowić logowanie oparte na sesji. W tym celu użyj poniższego polecenia:

Dla Windowsa

ustawić AWS_SESSION_TOKEN =Token sesji roli


Zastąp RoleSessionToken wartością tokenu sesji zwróconą przez polecenie w kroku 6.

Dla systemu operacyjnego Linux

eksport AWS_SESSION_TOKEN =Token sesji roli


Zastąp RoleSessionToken wartością tokenu sesji zwróconą przez polecenie w kroku 6.

Wartość tokena sesji została pomyślnie skonfigurowana:


Aby skopiować wartość tokena sesji z CMD, naciśnij „CTRL + SHIFT + C” .

Po skonfigurowaniu zmiennych środowiskowych sprawdź za pomocą poniższego polecenia, czy użytkownik przyjął tę rolę:

aws sts get-caller-tożsamość


Dane wyjściowe polecenia sprawdzają, czy rola IAM została przypisana pomyślnie założone przez użytkownika, tak jak jest to zwrot ARN „arn:aws:sts::123456789012:przyjęta rola/rola-użytkownika/sesja-AWSCLI” zamiast „arn:aws:iam::123456789012:użytkownik/użytkownik-demo”:


Ponieważ rola zawiera uprawnienie ReadOnlyAccess, użytkownik powinien mieć teraz możliwość zarejestrowania zasobników. W tym celu wprowadź do CLI następującą komendę:

och, s3 ls


Dane wyjściowe polecenia pomyślnie zarejestrowały cały segment S3 aktualnie skonfigurowany na koncie AWS:


Jednakże użytkownik nie będzie mógł uzyskać dostępu do usługi EC2, ponieważ przyjęta rola nie ma uprawnień do usługi EC2. Aby to sprawdzić, użyj następującego polecenia:

aws ec2 opisuje instancje --zapytanie „Rezerwacje[*].Instancje[*].[VpcId, InstanceId, ImageId, InstanceType]”


Wcześniej użytkownik miał dostęp do informacji serwisowych EC2. Jednakże po wykonaniu powyższego polecenia an 'Brak dostępu' wystąpił błąd. Użytkownik pomyślnie przyjął rolę IAM:


To wszystko z tego działu.

Dodatkowa wskazówka: odznacz zmienne środowiskowe

Aby powrócić do użytkownika IAM, tj. użytkownika demonstracyjnego, użytkownik może usunąć zmienne środowiskowe, ustawiając zmienne środowiskowe na puste ciągi. Oto wydane polecenia:

Dla Windowsa

USTAWIĆ AWS_ACCESS_KEY_ID =
USTAWIĆ AWS_SECRET_ACCESS_KEY =
USTAWIĆ AWS_SESSION_TOKEN =


Dla Linuksa

Użyj poniższego polecenia:

nieoprawny AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN


Powyższe polecenia usuną zmienne środowiskowe:


Po wykonaniu powyższych poleceń konsola powinna teraz zwrócić plik „użytkownik demonstracyjny” jako aktualnie zalogowany użytkownik zamiast przyjętej roli, czyli roli użytkownika. W tym celu użyjemy następującego polecenia:

aws sts get-caller-tożsamość


Dane wyjściowe polecenia wskazują, że aktualnie zalogowany użytkownik jest użytkownikiem demo:


Podobnie, aby zalogować się jako użytkownik root, postępuj zgodnie z instrukcją „C:\Users%USERPROFILE%.aws” ścieżkę i kliknij plik poświadczeń:


W pliku poświadczeń zastąp wartości klucza dostępu i tajnego klucza dostępu danymi dostępu i tajnym kluczem dostępu użytkownika root:


Wprowadź następujące polecenie w interfejsie CLI, aby sprawdzić, czy poświadczenia są poprawnie skonfigurowane:

och, skonfiguruj


Tutaj, na poniższym obrazku, widzimy, że klucz dostępu i tajny klucz dostępu użytkownika root zostały pomyślnie skonfigurowane:


To wszystko w tej części samouczka.

Metoda 2: Użycie parametru –profile

Inną metodą przyjęcia roli jest użycie pola „–profile” w interfejsie CLI. W tej części artykułu przedstawiono praktyczną implementację przejęcia roli w AWS poprzez –profile. Poniżej znajdują się kroki, które należy wykonać:

Krok 1: Utwórz użytkownika IAM

Aby utworzyć użytkownika IAM, zaloguj się na konto użytkownika root poprzez CLI, używając następującego polecenia:

och, skonfiguruj


Poświadczenia są już skonfigurowane w interfejsie CLI dla tej wersji demonstracyjnej, jak pokazano w wynikach polecenia:


Ucz się więcej:

Aby utworzyć użytkownika IAM, wprowadź następujące polecenie w interfejsie CLI:

aws, utworzyłem użytkownika --nazwa użytkownika użytkownik-profil


Użytkownik został pomyślnie utworzony. Zapisz ARN użytkownika, jak pokazano na poniższym obrazku. Numer ARN tego użytkownika IAM zostanie użyty w dalszej części tego samouczka. Obecnie z tym użytkownikiem IAM nie są powiązane żadne uprawnienia:


Czytaj więcej:

Krok 2: Utwórz klucz dostępu

W AWS każdemu użytkownikowi przypisana jest para kluczy dostępu do logowania. Aby utworzyć klucze dostępu dla tego użytkownika, wprowadź dla niego następującą komendę:

aws utworzyłem klucz dostępu --nazwa użytkownika użytkownik-profil


To polecenie zwraca zestaw kluczy dostępu. Ratować the Identyfikator klucza dostępu I Tajny klucz dostępu gdyż będzie to wymagane przy logowaniu się do konta AWS:


Teraz, jeśli zalogujemy się do interfejsu CLI AWS przy użyciu tych AccessKeyId i SecretAccessKey i uzyskamy dostęp do dowolnego zasobu, np. Łyżka S3, 'Brak dostępu' wystąpi błąd. Dzieje się tak, ponieważ obecnie z użytkownikiem IAM nie są powiązane żadne uprawnienia. Aby zalogować się do interfejsu CLI AWS, użyj następującego polecenia i podaj identyfikator klucza dostępu oraz tajny klucz dostępu, utworzone wcześniej:

och, skonfiguruj --profil użytkownik-profil


Zastąp „użytkownik profilu” z nazwą użytkownika IAM, którą podałeś podczas tworzenia użytkownika.

Tutaj pomyślnie zalogowaliśmy się do interfejsu CLI AWS jako użytkownik IAM:


Aby sprawdzić, czy ten użytkownik ma uprawnienia tylko do odczytu do zasobnika S3, wprowadź następujące polecenie w interfejsie CLI:

och, s3 ls --profil użytkownik-profil


Zastąp użytkownika profilu nazwą użytkownika IAM podaną podczas tworzenia użytkownika.

Ponieważ użytkownikowi root nie przydzielono żadnych uprawnień, spowoduje to wyświetlenie komunikatu „ Brak dostępu ' błąd:

Krok 3: Utwórz politykę zaufania i rolę IAM

Polityka zaufania określa, czy użytkownik lub zasób AWS jest jednostką zaufaną do przyjęcia roli i uzyskania uprawnień. Ta relacja zaufania jest tworzona poprzez określenie ARN użytkownika IAM lub zasobu AWS w Polityce uprawnień.

Aby utworzyć politykę zaufania w ramach uprawnień, wprowadź następujące polecenie w interfejsie CLI:

Dla Windowsa

notatnik-polityka-zaufania.json


Zastąp polityka zaufania.json z nazwą preferowanej polisy.

Dla systemu operacyjnego Linux

ponieważ zaufanie-roli-policy.json


Zastąp polityka zaufania.json z nazwą preferowanej polisy.

Użytkownicy mogą korzystać z dowolnego edytora tekstu według własnych preferencji. W tym demo używamy notatnika:


Spowoduje to otwarcie notatnika umożliwiającego utworzenie polityki zaufania. Wklej poniższą politykę do notatnika i naciśnij „CTRL + S” z klawiatury, aby zastosować i zapisać zmiany:

{
'Wersja' : „2012-10-17” ,
'Oświadczenie' : {
'Efekt' : 'Umożliwić' ,
'Główny' : {
„AWS” : „arn:aws:iam::012345678910:użytkownik/użytkownik-profilu”
} ,
'Działanie' : „sts:Przyjmij rolę”
}
}


W powyższej polityce: AWS-a: Zastąp wartość „arn:aws:iam::012345678910:user/policy-user” numerem ARN użytkownika IAM utworzonego wcześniej w tej sekcji.

Polityka została edytowana w notatniku:


Następnie utworzymy rolę IAM i dołączymy do niej powyższą politykę zaufania. Użyj następującego polecenia, aby utworzyć rolę IAM:

och, utworzyłem rolę --nazwa-roli moja rola --załóż-rolę-dokument-polityki plik: // polityka zaufania.json


W powyższym poleceniu:

    • –nazwa-roli: Zastąp 'moja rola' z wybraną nazwą roli IAM.
    • – dokument-założenia-roli-polityki: W tym polu zastąp termin „polityka-zaufania.json” z nazwą polityki zaufania IAM

Rola IAM została pomyślnie utworzona. Zapisz rolę uprawnień. Zapisz ARN roli IAM, jak pokazano na poniższej ilustracji. Ten ARN zostanie wykorzystany podczas konfigurowania profilu użytkownika:


Polityka zaufania dołączona do uprawnień określa, czy użytkownik jest zaufany, czy nie, w związku z przyjęciem danej roli. Polityka uprawnień określa, czy rola IAM ma wymagane uprawnienia do wykonania określonej akcji z usługami AWS, czy nie.

Ponieważ do roli IAM dołączono politykę zaufania, kolejnym krokiem jest dołączenie polityki uprawnień do roli IAM. Poniższe polecenie zostanie użyte do dołączenia polityki uprawnień do roli IAM:

aws, dołączam-role-policy --nazwa-roli moja rola --polityka-arn „arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess”


Tutaj polityka uprawnień została dołączona do roli IAM poprzez CLI:

Krok 4: Skonfiguruj profil

Aby użytkownik mógł przyjąć tę rolę, najpierw skonfigurujemy ten profil w ramach poświadczeń AWS. Aby dołączyć te tymczasowe poświadczenia, wprowadź następujące polecenie:

notatnik ~ / och / konfiguracja


Dodatkowa wskazówka: rozwiąż problem „Nie określono ścieżki” w Notatniku

Plik konfiguracyjny będzie zawierał [domyślne] ustawienie interfejsu CLI AWS. Jeżeli jednak w notatniku wyświetli się komunikat „System nie może odnaleźć podanej ścieżki”, wpisz poniższą komendę:

notatnik.och / konfiguracja


Użytkownicy Linuksa mogą korzystać z 'ponieważ' edytor do konfiguracji profilu. Użytkownicy mogą użyć dowolnego edytora, aby otworzyć plik konfiguracyjny AWS na komputerze lokalnym:


W pliku konfiguracyjnym otwartym w Notatniku dokonaj edycji następujących zmian:

[ profil profil-użytkownik ]
rola_arn = arn:aws:iam::012345678910:rola / moja rola
profil_źródłowy =użytkownik profilu


W powyższym fragmencie:

    • rola_arn: Zastąp wartość „arn:aws:iam::012345678910:role/myrole” numerem ARN roli IAM.
    • profil_źródłowy: W tym polu podaj nazwę użytkownika IAM, który został utworzony w kroku 1 tej metody.

Po dokonaniu niezbędnych zmian naciśnij „CTRL + S” z klawiatury, aby zastosować i zapisać zmiany:


Teraz, aby sprawdzić, czy użytkownik może teraz wyświetlić segmenty S3, czy nie, wprowadź następujące polecenie w interfejsie CLI:

och, s3 ls --profil użytkownik-profil


W powyższym poleceniu: –użytkownik profilu: W tym polu zastąp wartość „profile-use” nazwą podaną w pliku konfiguracyjnym.

Ponieważ w pliku konfiguracyjnym określiliśmy „profile-user”, będziemy używać tej samej nazwy z poleceniem w CLI. Wcześniej użytkownik nie mógł uzyskać dostępu do usługi S3 AWS, ponieważ nie przypisywano do niej żadnych uprawnień. Rola IAM ma uprawnienia „ReadOnlyAccess” segmentu S3, dlatego też przyjmując tę ​​rolę, użytkownik może wyświetlić listę segmentów z panelu S3 Dashboard:


To wszystko z tej metody samouczka.

Metoda 3: Korzystanie z usługi MFA (uwierzytelnianie wieloskładnikowe)

Włączając uwierzytelnianie wieloskładnikowe, użytkownik może skonfigurować dodatkową warstwę zabezpieczeń swojego konta. Po włączeniu usługi MFA nieautoryzowani użytkownicy nie mogą uzyskać dostępu do konta użytkownika, nawet jeśli podają hasło i nazwę użytkownika. MFA to sześciocyfrowy kod wymagany do zalogowania się do konta. Aby dowiedzieć się więcej na temat uwierzytelniania wieloskładnikowego, zapoznaj się z tym artykułem:

Poniżej przedstawiono kroki, aby przyjąć rolę w usłudze MFA za pośrednictwem interfejsu CLI:

Krok 1: Utwórz użytkownika IAM i włącz usługę MFA

Na tym etapie użytkownik może użyć interfejsu CLI do utworzenia użytkownika lub uzyskać dostęp do konsoli zarządzania AWS. Zaloguj się na konto użytkownika root za pomocą następującego polecenia:

och, skonfiguruj


Dane wyjściowe polecenia są podane w następujący sposób:


Aby utworzyć użytkownika, wprowadź następujące polecenie w CLI:

aws, utworzyłem użytkownika --nazwa użytkownika użytkownik mfa


W powyższym poleceniu: -nazwa użytkownika: Zastąp „użytkownik mfa” z wybraną przez Ciebie nazwą użytkownika IAM.

Użytkownik został pomyślnie utworzony. Zapisz ARN użytkownika, ponieważ będzie to wymagane w dalszej części tej sekcji. Obecnie temu użytkownikowi nie przypisano żadnych uprawnień:


Aby włączyć usługę MFA, odwiedź konsolę zarządzania AWS i wyszukaj usługę IAM. Kliknij na niego w wyświetlonych wynikach:


Kliknij opcję Użytkownicy w lewym panelu nawigacyjnym usługi IAM. Na pulpicie nawigacyjnym Użytkownicy kliknij nazwę użytkownika, aby skonfigurować usługę MFA:


W następnym interfejsie dotknij „Poświadczenia bezpieczeństwa” opcja:


Przewiń w dół do Uwierzytelnianie wieloskładnikowe sekcję i kliknij przycisk „Przypisz urządzenie MFA” przycisk:


Podaj A znaczące imię w Nazwa urządzenia pole tekstowe na wyświetlonym interfejsie:


Przewiń w dół do sekcji urządzenia MFA. Użytkownikowi dostępne są różne opcje włączenia MFA, takie jak skanowanie kodu QR, użycie klucza bezpieczeństwa lub sprzętowego tokena TOTP. W przypadku tej wersji demonstracyjnej wybierz „Aplikacja uwierzytelniająca” opcja:


Stuknij w 'Następny' przycisk na dole interfejsu, aby przejść dalej:


Kliknij „Pokaż kod QR” jak pokazano na poniższym obrazku:


Uruchom aplikację na telefonie komórkowym lub laptopie, aby zeskanować kod QR. Stuknij w „+” opcja z interfejsu Symantec VIP:


W Sklepie Play nazwa Symantec VIP nosi nazwę VIP Access.

W następnym interfejsie Symantec VIP kliknij przycisk Skanowania QR code przycisk na dole interfejsu:


Zeskanuj kod QR z AWS MFA Interfejs aplikacji Authenticator wystawiany. Kod ten wygeneruje serię kodów, które będą potrzebne do zalogowania się do konsoli użytkownika IAM:


Wygeneruje się aplikacja Symantec VIP sześciocyfrowe OTP po zeskanowaniu kodu QR. Kody te będą pojawiać się po każdym 30 sekund . Poniższy zrzut ekranu przedstawia dwa wygenerowane kody:


Podaj kody do Kod MSZ 1 I Kod MSZ 2 pola tekstowe w interfejsie aplikacji uwierzytelniającej usługi MFA. Kliknij „Dodaj MSZ” przycisk później, aby włączyć tę funkcję:


Usługa MFA została pomyślnie włączona dla użytkownika IAM. Można to zweryfikować poprzez „Uwierzytelnianie wieloskładnikowe (MFA)” sekcja „Poświadczenia bezpieczeństwa” zakładka Użytkownik IAM . Z tej sekcji zapisz wartość Identyfikatora, ponieważ będzie ona wymagana przy przyjęciu roli:

Krok 2: Dołącz politykę do użytkownika

Aby użytkownik mógł przyjąć rolę, musi mieć możliwość wyszczególnienia roli IAM, aby określić, którą rolę przyjąć, oraz pozwolenie na przyjęcie tej roli. Aby wyposażyć użytkownika w wymagane uprawnienia, wykonaj następujące czynności metody 1 w tym samouczku

Krok 3: Utwórz politykę zaufania i rolę IAM

Następnym krokiem jest utworzenie polityki zaufania w celu ustalenia, czy użytkownik jest podmiotem zaufanym, czy nie. Niniejsza Polityka zaufania zostanie następnie dołączona do roli IAM. Aby utworzyć politykę zaufania i rolę IAM, przejdź do wiersza poleceń i postępuj zgodnie z instrukcjami metody 1 w tym artykule.

Krok 4: Utwórz klucz dostępu

Aby użytkownik mógł zostać autoryzowany i uwierzytelniony, generowana jest para kluczy dostępu, które są globalnie unikalne na platformie AWS. Te pary kluczy są używane w momencie logowania się na konto AWS. Aby utworzyć klucze dostępu dla użytkownika IAM, postępuj zgodnie z instrukcjami metody 1 w tym artykule.

Krok 5: Skonfiguruj poświadczenia

Użytkownik AWS może uzyskać dostęp do zasobów i usług AWS tylko wtedy, gdy poświadczenia są poprawnie skonfigurowane. W tej części metody skonfigurujemy poświadczenia użytkownika IAM, podając klucz dostępu i tajny klucz dostępu do interfejsu wiersza poleceń. W tym celu należy postępować zgodnie z metody 1 tego samouczka.

Krok 6: Przyjmij rolę IAM

Po pomyślnym dołączeniu roli IAM i wdrożeniu polityki zaufania użytkownik może teraz przyjąć rolę IAM. W tym celu wprowadź w CLI następującą komendę:

aws utworzyłem klucz dostępu --nazwa użytkownika użytkownik mfa


Tutaj klucz został pomyślnie utworzony dla użytkownika IAM. Zapisz AccessKeyId i SecretAccessKey, ponieważ będą one wymagane do zalogowania się na konto AWS:


Następnym krokiem jest skonfigurowanie kluczy dostępu w interfejsie CLI AWS. Użyj poniższego polecenia do skonfigurowania CLI:

och, skonfiguruj


Podaj klucz dostępu i tajny klucz dostępu do interfejsu CLI w celu konfiguracji:


Aby sprawdzić, czy użytkownik IAM zalogował się do interfejsu CLI AWS, użyj następującego polecenia:

aws sts get-caller-tożsamość


Dane wyjściowe polecenia są następujące i wskazują, że użytkownik pomyślnie zalogował się do konsoli AWS:


Użytkownik ma uprawnienia do wyświetlania ról IAM na koncie AWS. Polecenie podane poniżej służy do wylistowania ról IAM:

och, mam listę ról --zapytanie 'Roles[?RoleName == 'mfa-role'].[RoleName, Arn]


W powyższym poleceniu: Nazwa roli: W tym polu zastąp wartość „mfa-role” nazwą swojej roli IAM.

Dane wyjściowe polecenia są podane w następujący sposób:


Aby przyjąć rolę IAM za pomocą usługi MFA, użyj polecenia zakładania roli z dodatkowymi parametrami, takimi jak numer seryjny i kod tokenu. Wprowadź następujące polecenie w interfejsie CLI:

aws sts przejmuje rolę --role-arn „arn:aws:iam::123456789012:rola/m-rola” --nazwa-sesji-roli Sesja AWSCLI --numer seryjny „arn:aws:iam::012345678910:mfa/admindevice” --kod autoryzacji „123456”


W powyższym poleceniu:

    • –rola-arn: Zastąp wartość tego pola numerem ARN swojej roli IAM.
    • –nazwa-sesji-roli: W tym polu użytkownik może podać dowolną nazwę sesji.
    • -numer seryjny: Zastąp wartość tego pola wartością Identyfikatora z interfejsu MFA, która została zapisana wcześniej.
    • -kod autoryzacji: Wartość tę należy zastąpić bieżącym kodem wyświetlanym w interfejsie Symantec VIP.

Bieżący kod wyświetlany w Symantec VIP jest podany w następujący sposób. Ten sam kod zostanie użyty w wartości –token-code polecenia:


Dane wyjściowe polecenia będą zawierać tymczasowe poświadczenia, takie jak token sesji, klucz dostępu, tajny klucz dostępu itp.:

Krok 7: Skonfiguruj zmienne środowiskowe

Zwrócone klucze dostępu i token sesji zostaną teraz użyte do ustanowienia logowania opartego na sesji i przejęcia tej roli. Szczegółową implementację konfiguracji środowiska omówiono w metody 1.

Końcowe przemyślenia

Aby przyjąć rolę za pomocą interfejsu CLI, można skorzystać z trzech metod, tj. za pomocą STS (usługi tokenu zabezpieczającego), parametru –profile lub MFA (uwierzytelnianie wieloskładnikowe). Aby użytkownik mógł przyjąć rolę, należy najpierw ustalić politykę zaufania. Ta polityka zaufania określa, czy użytkownik jest jednostką zaufaną, czy nie. Ta funkcjonalność jest konieczna, ponieważ uwzględnia problemy bezpieczeństwa ekspertów IT i osób prywatnych. Co więcej, użytkownik może przyjąć tę rolę tylko wtedy, gdy posiada wymagane uprawnienia.

Kiedy użytkownik przyjmuje rolę w AWS, tworzone jest logowanie oparte na sesji, aby zapewnić użytkownikowi ograniczony czasowo dostęp z pożądanymi uprawnieniami. Generowany jest token, który wygasa po określonym czasie i tym samym użytkownik nie może już wykonywać zadań administracyjnych z zasobami AWS. W tym artykule przedstawiono praktyczną implementację trzech metod przyjmowania roli w interfejsie CLI AWS.