Jak převzít roli IAM pomocí AWS CLI?

Jak Prevzit Roli Iam Pomoci Aws Cli



Vzhledem k tomu, že AWS poskytuje několik služeb a obrovské výhody, je přirozené, že odborníci na IT vznesli obavy o bezpečnost. K vyřešení těchto bezpečnostních problémů byla AWS představena služba IAM. AWS IAM je jednou ze základních webových služeb, která uživatelům umožňuje zabezpečit zdroje AWS. IAM poskytuje funkci centrální správy přístupu ke službám AWS definováním oprávnění pro různé uživatele.

Rychlý přehled

V tomto článku se dozvíte o:







Jaká je role AWS IAM?
Jaká je převzatá role v AWS?
Jak převzít roli IAM pomocí AWS CLI?



Závěrečné myšlenky



Pomocí rolí a oprávnění IAM můžeme určit ověřený a autorizovaný přístup ke službám AWS. Tyto role a oprávnění může přiřadit pouze uživatel root (vlastník) účtu AWS.





Jaká je role AWS IAM?

Role IAM je identita vytvořená uživatelem root v rámci účtu AWS. Této identitě jsou přiřazena specifická oprávnění, která definují rozsah přístupu role IAM k prostředkům AWS. Tato oprávnění mohou být buď spravovaná AWS, nebo uživatelsky definovaná uživatelem root.

Role IAM je velmi podobná uživateli IAM kromě toho, že role IAM je identita s určitými oprávněními, zatímco uživatel může tyto role převzít a provádět určité funkce. Oprávnění udělená roli definují, jaké akce lze provést s touto identitou (role IAM).



Jaká je převzatá role v AWS?

Assume Role je jednou z funkcí služby AWS IAM, která umožňuje uživateli jednat se službami AWS, ačkoli oprávnění pro přístup nebo manipulaci se zdrojem v rámci služby nejsou uživateli přiřazena. Tato oprávnění jsou uživateli přiřazena nepřímo při převzetí role. Pro přístup k prostředkům AWS se používá sada dočasných přihlašovacích údajů spolu s přihlášením na základě relace.

Tyto dočasné přihlašovací údaje zahrnují tajný přístupový klíč, ID přístupového klíče a bezpečnostní token. Role IAM vytvořené uživatelem root AWS mohou převzít ostatní uživatelé v rámci účtu AWS nebo ti uživatelé, jejichž ARN je uvedeno v zásadách role. Zásada, která obsahuje ARN uživatelů nebo prostředků, je známá jako Politika důvěry .

Jaký je rozdíl mezi zásadami povolení a zásadami důvěry?

Před implementací funkce převzetí role prostřednictvím různých metod existují dva základní koncepty, kterým musí uživatel porozumět. Ve službě IAM existují dva druhy zásad:

    • Zásady důvěry: Zásady důvěryhodnosti určují, kdo může převzít konkrétní roli IAM. Pro roli, kterou má převzít uživatel, je ARN uživatele uvedeno v zásadách důvěryhodnosti role IAM. Tato zásada důvěryhodnosti určuje, zda uživatel nebo prostředky jsou důvěryhodnou entitou pro převzetí této role.
    • Zásady povolení: Tato zásada určuje, co může uživatel dělat nebo jaké akce lze s rolí provádět.

Jak převzít roli IAM pomocí AWS CLI?

Převzít roli je podobné jako přestrojit se za jiného uživatele, který je ověřený a oprávněný provádět určité akce. Při převzetí identity AWS zajistilo, že zabezpečení zůstane nedotčeno.

Pojďme pochopit fungování funkce Assume-role zvážením následujícího příkladu.

Například, v rámci účtu AWS existuje uživatel, kterému nebyla přidělena žádná oprávnění pro segment S3. The 'Přístup pouze pro čtení' se nazývá politika oprávnění, která je připojena k roli IAM. Aby uživatel mohl tuto roli převzít, je ARN uživatele uvedeno v zásadách role IAM. Tato politika se nyní nazývá jako 'politika důvěry' a liší se od zásad povolení. Zásady důvěry jsou klíčové, protože pomáhají AWS určit, zda je uživatel oprávněnou entitou či nikoli.

Všimněte si, že ARN je uvedeno v zásadách důvěryhodnosti a nikoli v zásadách oprávnění role IAM. Převzetím role může uživatel provést několik administrativních akcí definovaných zásadami oprávnění dané role. Tyto akce zahrnují přidání, odstranění, úpravu nebo obnovení zdroje atd.

Níže jsou uvedeny tři metody pro převzetí role s AWS CLI:

Metoda 1: Použití STS (Security Token Service)

Uživatelé mohou převzít roli provedením příkazů v sekci STS (Secure Token Service), která vrátí sadu dočasných přihlašovacích údajů. Dočasná pověření se používají k vytvoření přihlášení založeného na relaci, aby bylo možné provádět volání rozhraní API ke zdrojům. Nicméně existují dvě výjimky při používání STS, tj. GetFederationToken a GetSessionToken.

Uživatel má omezený přístup k těmto tokenům za účelem zabezpečení důvěrných informací tokenů relace a federace. Aby bezpečnost nebyla za žádných okolností ohrožena. Převzetím role může uživatel zvýšit svá přidělená oprávnění.

V této části článku si vyžádáme sadu dočasných přihlašovacích údajů pomocí příkazů STS. Níže jsou uvedeny kroky:

Krok 1: Vytvořte zásady pro uživatele a uživatele

Za prvé, budeme vytvořit uživatele IAM bez oprávnění. Za tímto účelem otevřete CMD z nabídky Start systému Windows:


Pouze uživatel root umět vytvořit an uživatel IAM v rámci účtu AWS. Proto se přihlaste ke kořenovému účtu AWS pomocí následujícího příkazu:

aws konfigurovat


Přihlašovací údaje jsou již nakonfigurovány v rozhraní CLI pro toto demo, jak je znázorněno ve výstupu příkazu:


Další informace:

Na vytvořit uživatele IAM , poskytněte CLI následující příkaz:

aws iam create-user --uživatelské-jméno demo-uživatel


Nahradit demo-uživatel s tvým Uživatelské jméno IAM.

Zachraň 'Arn' zadané ve výstupu příkazu tak, jak to bude Požadované když vytváření a Zásady důvěry :


Přečtěte si více:

Dalším krokem je povolení uživatel (demo-user ) na převzít roli . Za tímto účelem vytvořte a soubor JSON pomocí libovolného textový editor upřednostňuješ. Pro toto demo jsme použili poznámkový blok jak je uvedeno v níže uvedeném příkazu:

Pro Windows

notepad user-policy.json


Nahradit uživatelská politika s názvem vaší zásady IAM.

Pro OS Linux

protože user-policy.json


V tuto chvíli používáme pro tuto ukázku operační systém Windows:


Tím se otevře poznámkový blok. Vložte následující zásadu do poznámkového bloku a stiskněte 'CTRL + S' z klávesnice pro uložení změn:

{
'Verze' : '2012-10-17' ,
'Prohlášení' : [
{
'Účinek' : 'Dovolit' ,
'Akce' : [
'ec2:Describe*' ,
'iam:ListRoles' ,
'sts:AssumeRole'
] ,
'zdroj' : '*'
}
]
}


Níže je uveden stručný popis specifikovaných zásad:

    • ec2:Popište: Toto oprávnění určuje, že uživatel může zobrazit nebo vypsat všechny AMI, snímky nebo instance EC2
    • iam:ListRoles: Toto oprávnění určuje, že uživatel může uvést všechny role v rámci služby IAM.
    • sts:AssumeRole: Toto oprávnění představuje, že uživatel může převzít roli definovanou v rámci služby IAM.

Zde byla zásada upravena v poznámkovém bloku a uložena:


Každý AWS zdroj je přiřazena an Název zdroje přístupu (ARN) který jednoznačně identifikuje zdroj. Chcete-li zjistit ARN zásady, použijte níže uvedený příkaz.

aws iam create-policy --název-zásady uživatelská politika --policy-document soubor: // user-policy.json


Ve výše uvedeném příkazu:

    • –název-zásady: Nahraďte hodnotu 'uživatelské zásady' s libovolným názvem zásady podle vašich preferencí.
    • – dokument o zásadách: V tomto poli nahraďte „ user-policy.json” s názvem souboru json, který obsahuje zásady pro uživatele.

Výstup výše uvedeného příkazu je následující. Zachraň 'Arn' uvedeno ve výstupu zásady, protože bude vyžadováno při připojení této zásady k uživateli:

Krok 2: Připojte zásady s uživatelem

Tato zásada umožní uživateli vypsat seznam EC2 instance , Přátelé atd. Když uživatel převezme roli s jiným oprávněním, bude moci provést pouze tu konkrétní akci, kterou povolují zásady oprávnění.

Chcete-li připojit zásadu s uživatelem vytvořeným dříve v této části, použijte následující příkaz:

aws iam connect-user-policy --uživatelské-jméno demo-uživatel --policy-arn 'arn:aws:iam::123456789:policy/user-policy'


Ve výše uvedeném příkazu:

    • – uživatelské jméno: Nahradit 'demo-uživatel' v – uživatelské jméno pole s vaším uživatelským jménem IAM.
    • – politika-arn: Podobně v – politika-arn, specifikovat 'Arn' z výstupu předchozího příkazu, tj. –create-policy.

Spuštěním příkazu po provedení požadovaných změn byla zásada úspěšně připojena k uživateli:


Chcete-li ověřit, zda byla zásada připojena k uživateli, zadejte do CLI následující příkaz:

aws iam seznam-přiložený-uživatelské-zásady --uživatelské-jméno demo-uživatel


Nahradit demo-uživatel s vaším IAM uživatelské jméno specifikované při vytváření uživatele.

Výstup následujícího příkazu ověří, že politika byla úspěšně připojena k uživateli:

Krok 3: Vytvořte zásady důvěryhodnosti a roli IAM

Vztah důvěryhodnosti je vytvořen, když je v zásadě specifikován zdroj nebo ARN uživatele. Tato funkce pak umožňuje uživatelům nebo entitě provádět určité akce, protože je politika považuje za důvěryhodné.

V tomto kroku vytvoříme politiku, která vytvoří vztah důvěryhodnosti mezi rolí IAM a uživatelem. Tato zásada důvěryhodnosti bude připojena k roli IAM. Roli IAM pak převezme uživatel, což mu nepřímo umožní provádět akce specifikované v zásadě.

Chcete-li vytvořit zásadu důvěryhodnosti, příkazy jsou zadány takto:

Pro Windows

notepad trust-role-policy.json


Nahradit trust-role-policy.json s názvem vaší preference pro zásady.

Pro OS Linux

protože trust-role-policy.json


Nahradit trust-role-policy.json s názvem vaší preference pro zásady.

Politika důvěry se řídí formát JSON jak je uvedeno v .json rozšíření v následujícím příkazu:


Tím se otevře poznámkový blok. Vložit následující politika v poznámkovém bloku a stiskněte 'CTRL + S' tlačítko na klávesnici pro uložení změn. ARN uživatele lze také zkopírovat z uživatelského panelu konzoly IAM. Za tímto účelem navštivte panel IAM a klikněte na jméno uživatele. Ze zobrazené konfigurace zkopírujte ARN uživatele, který je zobrazen v sekci Souhrn.:

{
'Verze' : '2012-10-17' ,
'Prohlášení' : {
'Účinek' : 'Dovolit' ,
'Hlavní, důležitý' : {
'AWS' : 'arn:aws:iam::123456789012:user/example-user'
} ,
'Akce' : 'sts:AssumeRole'
}
}


Ve výše uvedených zásadách:

    • AWS: Nahradit Hodnota pole AWS „arn:aws:iam::123456789012:user/example-user“ s ARN uživatele který byl zobrazen ve výstupu příkazu –create-user.

Uživatel může zabránit jiným uživatelům v převzetí role IAM zadáním ARN uživatele v 'AWS' pole:


Přečtěte si více:

Nyní vytvořte roli IAM a připojte k ní zásady důvěryhodnosti. Chcete-li vytvořit roli IAM, použijte níže uvedený příkaz:

aws iam vytvořit-role --název-role uživatelskou roli --assume-role-policy-document soubor: // trust-role-policy.json


Níže je uveden popis výše uvedených polí:

    • – název-role: Toto pole se používá k zadání názvu, který bude přiřazen této roli IAM. Nahraďte hodnotu „user-role“ názvem role IAM podle vašeho výběru.
    • –předpokládejte-dokument-zásady-role: V tomto poli zadejte cestu, jak je uvedena v příkazu. Nahraďte soubor trust-role-policy.json názvem zásady, který jste určili v předchozí části.

Provedením tohoto příkazu vrátí několik informací ve výstupu, např. ARN, cestu, ID atd.:


Přečtěte si více:

Po převzetí této role bude uživatel moci provádět 'ReadOnlyAccess' akce s lopatou S3. Příkaz je zadán následovně:

aws iam připojit-role-policy --název-role uživatelskou roli --policy-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Ve výše uvedeném příkazu:

    • – název-role: Nahradit ' uživatelská role“ v poli –název-role s příponou Název role IAM které jste zadali dříve v tomto tutoriálu.
    • – politika-arn: Parametr arn zadaný v parametru –policy-arn odkazuje na oprávnění ReadOnlyAccess pro segment S3.

Na tomto obrázku je roli přiřazeno oprávnění ReadOnlyAccess pro segment S3:


Chcete-li ověřit, zda bylo oprávnění přiřazeno k roli nebo ne, použijte následující příkaz:

aws iam seznam-attached-role-polities --název-role uživatelskou roli


Nahradit 'uživatelská role' s názvem vaší role IAM.

The 'AmazonS3ReadOnlyAccess' oprávnění bylo připojeno k roli IAM. Výstup příkazu je dán následovně:

Krok 4: Vytvořte přístupové klíče

V této části vytvoříme přístupové klíče pro uživatele. Přístupové klíče budou použity k přihlášení k účtu AWS:

aws iam vytvořit-přístupový-klíč --uživatelské-jméno demo-uživatel


Nahradit demo-uživatel s vaším uživatelským jménem IAM uvedeným při vytváření uživatele.

Zde příkaz vrátil sadu párů přístupových klíčů (AccessKeyId a Secret Access Key) s dalšími podrobnostmi, jako je datum vytvoření, stav atd. Uložit AccessKeyId a SecretAccessKey, jak jsou vyžadovány později v tutoriálu:


Přečtěte si více:

Krok 5: Nakonfigurujte přístupový klíč a ověřte uživatele IAM

Chcete-li nakonfigurovat přístupový klíč, poskytněte CMD následující příkaz a poté zadejte ID přístupového klíče a tajný přístupový klíč:

aws konfigurovat


Zadejte ID přístupového klíče a tajný přístupový klíč CLI, které byly vytvořeny v kroku 4 této části. Pro region jsme ponechali výchozí nastavení. Uživatelé mohou nakonfigurovat libovolný výstupní formát pro výchozí výstupní formát. Pro toto demo jsme specifikovali JSON formát:


Chcete-li ověřit, zda byl uživatel IAM nakonfigurován, zadejte do CLI následující příkaz:

aws sts získat identitu volajícího


Výstup příkazu indikuje, že 'demo-uživatel' byl úspěšně nakonfigurován a aktuálně je přihlášen k účtu AWS:


Chcete-li zjistit, že uživatel IAM může vypsat instance EC2 a nemá aktuálně přístup k bloku S3, použijte následující příkaz:

aws ec2 popisují instance --dotaz 'Rezervace[*].Instance[*].[VpcId, InstanceId, ImageId, InstanceType]'


Výstup příkazu je dán následovně:


Nyní zadejte následující příkaz k ověření, zda má uživatel přístup k bloku S3:

aws s3 ls


Tím se zobrazí 'Přístup odepřen' chyba, která označuje, že uživatel nemá povolen přístup k bucketu S3:

Krok 6: Převezměte roli IAM

Uživatel má oprávnění k seznamu rolí IAM v rámci účtu AWS. Proto, abychom převzali roli, nejprve získáme potřebné informace, jako je ARN, provedením následujícího příkazu:

aws iam seznam rolí --dotaz 'Role[?RoleName == 'uživatelská-role'].[RoleName, Arn]'


Nahraďte „uživatelskou roli“ názvem role IAM v poli „Název role“.

ARN bylo uvedeno ve výstupu výše uvedeného příkazu:


Nyní, když máme ARN role IAM, můžeme roli převzít pomocí následujícího příkazu:

aws sts převzít roli --role-arn 'arn:aws:iam::123456789012:role/example-role' --role-session-name AWSCLI-relace


Ve výše uvedeném příkazu:

    • – role-arn: Nahraďte uvedenou hodnotu pro –role-arn ARN role IAM.
    • –název-relace-role: Uživatel může pro toto pole zadat libovolný název preference.

Provedením výše uvedeného příkazu byla vrácena sada dočasných přihlašovacích údajů. Tyto dočasné přihlašovací údaje budou použity k převzetí role IAM s požadovaným oprávněním, tj. ReadOnlyAccess. Při konfiguraci těchto dočasných přihlašovacích údajů budou použity AccessKeyId a SecretAccessKey:


Zde je stručný popis výstupu příkazu:

    • SessionToken: Token relace se používá k vytvoření přihlášení založeného na relaci. Uložte hodnotu tohoto pole, protože bude vyžadována při konfiguraci přihlašovacích údajů.
    • Vypršení: Token relace má datum a čas vypršení platnosti. Token bude po uplynutí stanovené doby nepoužitelný a uživatel nebude moci převzít roli.

Krok 7: Nakonfigurujte proměnnou prostředí

Ke konfiguraci dočasných přihlašovacích údajů použijeme příkaz „set“ pro Windows a poté poskytneme hodnotu ID přístupového klíče, tajného přístupového klíče, tokenu relace atd.:

Pro Windows

soubor AWS_ACCESS_KEY_ID =RoleAccessKeyID


Nahraďte RoleAccessKeyID ID přístupového klíče, které bylo vráceno příkazem v kroku 6.

Pro OS Linux

vývozní AWS_ACCESS_KEY_ID =RoleAccessKeyID


Nahraďte RoleAccessKeyID ID přístupového klíče, které bylo vráceno příkazem v kroku 6.

Přístupový klíč byl nakonfigurován:


Dále nakonfigurujeme tajný přístupový klíč pomocí příkazu „set“ pro Windows:

Pro Windows

soubor AWS_SECRET_ACCESS_KEY =RoleSecretKey


Nahraďte RoleSecretKey hodnotou tajného přístupového klíče, která byla vrácena příkazem v kroku 6.

Pro OS Linux

vývozní AWS_SECRET_ACCESS_KEY =RoleSecretKey


Nahraďte AWS_SECRET_ACCESS_KEY tajným přístupovým klíčem, který byl vrácen příkazem v kroku 6.

Tajný přístupový klíč byl úspěšně nakonfigurován:


Nakonec nakonfigurujeme token relace pro vytvoření přihlášení založeného na relaci. Pro tento účel použijte níže uvedený příkaz:

Pro Windows

soubor AWS_SESSION_TOKEN =RoleSessionToken


Nahraďte RoleSessionToken hodnotou tokenu relace, která byla vrácena příkazem v kroku 6.

Pro OS Linux

vývozní AWS_SESSION_TOKEN =RoleSessionToken


Nahraďte RoleSessionToken hodnotou tokenu relace, která byla vrácena příkazem v kroku 6.

Hodnota tokenu relace byla úspěšně nakonfigurována:


Chcete-li zkopírovat hodnotu tokenu relace z CMD, stiskněte 'CTRL + SHIFT + C' .

Po konfiguraci proměnných prostředí ověřte pomocí následujícího příkazu, zda roli převzal uživatel:

aws sts získat identitu volajícího


Výstup příkazu ověřuje, že byla role IAM splněna úspěšně předpokládá uživatelem, jako je návrat ARN 'arn:aws:sts::123456789012:předpokládaná-role/uživatelská-role/AWSCLI-Session' namísto 'arn:aws:iam::123456789012:user/demo-user':


Vzhledem k tomu, že role obsahuje oprávnění ReadOnlyAccess, uživatel by měl mít nyní možnost zařadit segmenty. Za tímto účelem poskytněte CLI následující příkaz:

aws s3 ls


Výstup příkazu úspěšně zařadí všechny segmenty S3 aktuálně nakonfigurované v rámci účtu AWS:


Uživatel však nebude mít přístup ke službě EC2, protože předpokládaná role nemá pro službu EC2 oprávnění. Chcete-li to ověřit, použijte následující příkaz:

aws ec2 popisují instance --dotaz 'Rezervace[*].Instance[*].[VpcId, InstanceId, ImageId, InstanceType]'


Dříve měl uživatel přístup k informacím o službě EC2. Po provedení výše uvedeného příkazu se však an 'Přístup odepřen' došlo k chybě. Uživatel úspěšně převzal roli IAM:


To je vše z této sekce.

Bonusový tip: Zrušte nastavení proměnných prostředí

Chcete-li se vrátit k uživateli IAM, tj. demo-uživateli, může uživatel odebrat proměnné prostředí nastavením proměnných prostředí na prázdné řetězce. Zadané jsou následující příkazy:

Pro Windows

SOUBOR AWS_ACCESS_KEY_ID =
SOUBOR AWS_SECRET_ACCESS_KEY =
SOUBOR AWS_SESSION_TOKEN =


Pro Linux

Použijte níže uvedený příkaz:

odstaveno AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN


Výše uvedené příkazy zruší nastavení proměnných prostředí:


Po provedení výše uvedených příkazů by nyní konzola měla vrátit soubor 'demo-uživatel' jako aktuálně přihlášený uživatel namísto předpokládané role, tj. uživatelské role. Pro tento účel použijeme následující příkaz:

aws sts získat identitu volajícího


Výstup příkazu indikuje, že aktuálně přihlášený uživatel je demo-uživatel:


Podobně pro přihlášení jako uživatel root postupujte podle „C:\Users%USERPROFILE%.aws“ cestu a klikněte na soubor pověření:


V souboru pověření nahraďte hodnoty přístupového klíče a tajného přístupového klíče přístupovým a tajným přístupovým klíčem uživatele root:


Zadejte následující příkaz do CLI, abyste ověřili, zda jsou pověření správně nakonfigurována:

aws konfigurovat


Zde na obrázku níže vidíme, že přístupový klíč a tajný přístupový klíč uživatele root byly úspěšně nakonfigurovány:


To je z této části tutoriálu vše.

Metoda 2: Použití parametru –profile

Další metodou převzetí role je použití pole „–profile“ v CLI. Tato část článku představuje praktickou implementaci převzetí role v AWS přes –profile. Níže jsou uvedeny kroky k tomu:

Krok 1: Vytvořte uživatele IAM

Chcete-li vytvořit uživatele IAM, přihlaste se k uživatelskému účtu root pomocí rozhraní CLI pomocí následujícího příkazu:

aws konfigurovat


Přihlašovací údaje jsou již nakonfigurovány v rozhraní CLI pro toto demo, jak je znázorněno ve výstupu příkazu:


Další informace:

Chcete-li vytvořit uživatele IAM, poskytněte CLI následující příkaz:

aws iam create-user --uživatelské-jméno profil-uživatel


Uživatel byl úspěšně vytvořen. Uložte ARN uživatele, jak je zobrazeno na obrázku níže. ARN tohoto uživatele IAM bude použito později v tomto kurzu. V současné době nejsou s tímto uživatelem IAM spojena žádná oprávnění:


Přečtěte si více:

Krok 2: Vytvořte přístupový klíč

V AWS je každému uživateli přiřazena dvojice přístupových klíčů pro přihlášení. Chcete-li vytvořit přístupové klíče pro tohoto uživatele, zadejte mu následující příkaz:

aws iam vytvořit-přístupový-klíč --uživatelské-jméno profil-uživatel


Tento příkaz vrátí sadu přístupových klíčů. Uložit a AccessKeyId a SecretAccessKey jak to bude vyžadováno při přihlašování k účtu AWS:


Nyní, když se přihlásíme do AWS CLI pomocí těchto AccessKeyId a SecretAccessKey, a zpřístupníme jakýkoli zdroj, např. Kbelík S3, 'Přístup odepřen' dojde k chybě. Důvodem je, že v současné době nejsou k uživateli IAM přidružena žádná oprávnění. Chcete-li se přihlásit do AWS CLI, použijte následující příkaz a zadejte ID přístupového klíče a tajný přístupový klíč, jak bylo vytvořeno dříve:

aws konfigurovat --profil profil-uživatel


Nahradit 'profilový uživatel' s uživatelským jménem IAM, které jste zadali při vytváření uživatele.

Zde jsme se úspěšně přihlásili do AWS CLI jako uživatel IAM:


Chcete-li ověřit, zda má tento uživatel nějaká oprávnění pouze pro čtení pro segment S3, zadejte do CLI následující příkaz:

aws s3 ls --profil profil-uživatel


Nahraďte profil-user jménem uživatele IAM, které jste zadali při vytváření uživatele.

Protože tomuto uživateli nebylo uživatelem root přiřazeno žádné oprávnění, bude výsledkem „ Přístup odepřen 'chyba:

Krok 3: Vytvořte zásady důvěryhodnosti a roli IAM

Zásada důvěryhodnosti určuje, zda je uživatel nebo prostředek AWS důvěryhodnou entitou pro převzetí role a získání oprávnění. Tento vztah důvěryhodnosti je vytvořen zadáním ARN uživatele IAM nebo zdroje AWS v rámci zásad oprávnění.

Chcete-li vytvořit zásadu důvěryhodnosti v rámci IAM, poskytněte CLI následující příkaz:

Pro Windows

notepad trust-policy.json


Nahradit trust-policy.json s názvem vaší preference pro zásady.

Pro OS Linux

protože trust-role-policy.json


Nahradit trust-policy.json s názvem vaší preference pro zásady.

Uživatelé mohou použít libovolný textový editor podle svých preferencí. Pro tuto ukázku používáme poznámkový blok:


Tím se otevře poznámkový blok pro vytvoření zásad důvěryhodnosti. Vložte následující zásady do poznámkového bloku a stiskněte 'CTRL + S' z klávesnice pro použití a uložení změn:

{
'Verze' : '2012-10-17' ,
'Prohlášení' : {
'Účinek' : 'Dovolit' ,
'Hlavní, důležitý' : {
'AWS' : 'arn:aws:iam::012345678910:user/profile-user'
} ,
'Akce' : 'sts:AssumeRole'
}
}


Ve výše uvedených zásadách: AWS: Nahraďte hodnotu „arn:aws:iam::012345678910:user/policy-user“ ARN uživatele IAM vytvořeného dříve v této části.

Zásada byla upravena v poznámkovém bloku:


Dále vytvoříme roli IAM a připojíme k ní výše uvedené zásady důvěryhodnosti. K vytvoření role IAM použijte následující příkaz:

aws iam vytvořit-role --název-role moje role --assume-role-policy-document soubor: // trust-policy.json


Ve výše uvedeném příkazu:

    • – název-role: Nahradit 'moje role' s názvem role IAM dle vašeho výběru.
    • –předpokládejte-dokument-zásady-role: V tomto poli nahraďte výraz 'trust-policy.json' s názvem vaší zásady důvěry IAM

Role IAM byla úspěšně vytvořena. Uložte roli IAM. Uložte ARN role IAM, jak je zvýrazněno na následujícím obrázku. Toto ARN bude použito při konfiguraci profilu uživatele:


Zásada důvěry připojená k IAM identifikuje, zda je uživatel důvěryhodný nebo ne pro převzetí role. Zásady oprávnění určují, zda má role IAM požadované oprávnění k provedení určité akce se službami AWS či nikoli.

Protože byla k roli IAM připojena zásada důvěryhodnosti, dalším krokem je připojení zásady oprávnění k roli IAM. Níže uvedený příkaz se použije k připojení zásady oprávnění k roli IAM:

aws iam připojit-role-policy --název-role moje role --policy-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'


Zde byla politika oprávnění připojena k roli IAM prostřednictvím CLI:

Krok 4: Nakonfigurujte profil

Aby uživatel mohl tuto roli převzít, nejprve nakonfigurujeme tento profil v rámci přihlašovacích údajů AWS. Chcete-li připojit tato dočasná pověření, zadejte následující příkaz:

poznámkový blok ~ / .aws / config


Bonusový tip: Vyřešte „Cesta není zadaná“ v Poznámkovém bloku

Konfigurační soubor bude obsahovat [výchozí] nastavení AWS CLI. Pokud však poznámkový blok zobrazí „Systém nemůže najít zadanou cestu“, zadejte níže uvedený příkaz:

poznámkový blok .aws / config


Uživatelé Linuxu mohou používat 'protože' editor pro konfiguraci profilu. Uživatelé mohou použít libovolný editor podle svých preferencí k otevření konfiguračního souboru AWS v místním počítači:


V konfiguračním souboru otevřeném v poznámkovém bloku upravte následující změny:

[ profil profil-uživatel ]
role_arn = arn:aws:iam::012345678910:role / moje role
zdrojový_profil =profil-uživatel


Ve výše uvedeném úryvku:

    • role_arn: Nahraďte hodnotu „arn:aws:iam::012345678910:role/myrole“ ARN role IAM.
    • zdrojový_profil: V tomto poli zadejte jméno uživatele IAM, který byl vytvořen v kroku 1 této metody.

Po provedení požadovaných změn stiskněte 'CTRL + S' z klávesnice pro použití a uložení změn:


Nyní, abyste ověřili, zda uživatel nyní může vypsat segmenty S3, nebo ne, zadejte do CLI následující příkaz:

aws s3 ls --profil profil-uživatel


Ve výše uvedeném příkazu: – profilový uživatel: V tomto poli nahraďte hodnotu „profile-use“ názvem, který zadáte v konfiguračním souboru.

Protože jsme v konfiguračním souboru zadali „profile-user“, použijeme stejný název s příkazem v CLI. Dříve uživatel neměl přístup ke službě S3 AWS, protože k ní nebyla přiřazena žádná oprávnění. Role IAM má oprávnění „ReadOnlyAccess“ segmentu S3, a proto po převzetí této role může uživatel vypsat seznam segmentů z řídicího panelu S3:


To je z této metody tutoriálu vše.

Metoda 3: Použití MFA (Multi-Factor Authentication)

Povolením vícefaktorové autentizace může uživatel nakonfigurovat další vrstvu zabezpečení uživatelského účtu. S povolenou MFA nemají neoprávnění uživatelé přístup k uživatelskému účtu, i když zadají heslo a uživatelské jméno. MFA je šestimístný kód nutný pro přihlášení k účtu. Další informace o vícefaktorovém ověřování naleznete v tomto článku:

Níže jsou uvedeny kroky k převzetí role s MFA prostřednictvím CLI:

Krok 1: Vytvořte uživatele IAM a povolte MFA

V tomto kroku může uživatel buď použít CLI pro vytvoření uživatele, nebo získat přístup k AWS Management Console. Přihlaste se k uživatelskému účtu root pomocí následujícího příkazu:

aws konfigurovat


Výstup příkazu je dán následovně:


Chcete-li vytvořit uživatele, zadejte do CLI následující příkaz:

aws iam create-user --uživatelské-jméno mfa-user


Ve výše uvedeném příkazu: – uživatelské jméno: Nahradit 'mfa-user' s uživatelským jménem IAM dle vašeho výběru.

Uživatel byl úspěšně vytvořen. Uložte ARN uživatele, jak bude požadováno později v této části. V současné době nemá tento uživatel přidělena žádná oprávnění:


Chcete-li povolit MFA, navštivte AWS Management Console a vyhledejte službu IAM. Klikněte na něj ze zobrazených výsledků:


Klikněte na možnost Uživatelé v levém navigačním panelu služby IAM. Na uživatelském panelu klikněte na uživatelské jméno pro konfiguraci MFA:


Na dalším rozhraní klepněte na 'Bezpečnostní údaje' volba:


Přejděte dolů na Multi-Factor Authentication a klikněte na „Přiřadit zařízení MFA“ knoflík:


Poskytněte a smysluplné jméno v Název zařízení textové pole na zobrazeném rozhraní:


Přejděte dolů do části zařízení MFA. Uživateli jsou nabídnuty různé možnosti aktivace MFA, jako je skenování QR kódu, bezpečnostní klíč nebo hardwarový TOTP token. Pro tuto ukázku vyberte 'Aplikace Authenticator' volba:


Klepněte na 'Další' tlačítko ve spodní části rozhraní pro pokračování:


Klikněte na „Zobrazit QR kód“ jak je znázorněno na obrázku níže:


Spusťte aplikace na vašem mobilu nebo notebooku pro naskenování QR kódu. Klepněte na '+' možnost z rozhraní Symantec VIP:


V obchodě Play je Symantec VIP pojmenován jako VIP Access.

V dalším rozhraní Symantec VIP klikněte na Naskenujte QR kód tlačítko ve spodní části rozhraní:


Naskenujte QR kód z AWS MFA Rozhraní aplikace Authenticator zobrazeno. Tento kód vygeneruje řadu kódů, které budou vyžadovány pro přihlášení do uživatelské konzole IAM:


Vygeneruje se aplikace Symantec VIP šestimístné OTP po naskenování QR kódu. Tyto kódy budou přicházet po každém 30 sekund . Níže uvedený snímek obrazovky ukazuje dva generované kódy:


Poskytněte kódy MFA kód 1 a MFA kód 2 textová pole v rozhraní aplikace Authenticator MFA. Klikněte na 'Přidat MFA' poté tlačítko pro aktivaci funkce:


MFA byla pro uživatele IAM úspěšně povolena. To lze ověřit pomocí 'Vícefaktorové ověřování (MFA)' sekce 'Bezpečnostní údaje' záložka uživatel IAM . Z této části uložte hodnotu identifikátoru, protože bude vyžadována při převzetí role:

Krok 2: Připojte zásady s uživatelem

Aby uživatel mohl převzít roli, musí být schopen uvést roli IAM, aby určil, kterou roli má převzít, a oprávnění k převzetí role. Chcete-li vybavit uživatele požadovaným oprávněním, postupujte takto metody 1 v tomto tutoriálu

Krok 3: Vytvořte zásady důvěryhodnosti a roli IAM

Dalším krokem je vytvoření zásady důvěryhodnosti, která určí, zda je uživatel důvěryhodnou entitou či nikoli. Tyto zásady důvěryhodnosti budou poté připojeny k roli IAM. Chcete-li vytvořit zásadu důvěryhodnosti a roli IAM, přejděte na příkazový řádek a postupujte metody 1 v tomto článku.

Krok 4: Vytvořte přístupový klíč

Aby byl uživatel autorizován a ověřen, je vygenerován pár přístupových klíčů, které jsou globálně jedinečné v rámci platformy AWS. Tyto páry klíčů se používají v době přihlášení k účtu AWS. Chcete-li vytvořit přístupové klíče pro uživatele IAM, postupujte takto metody 1 v tomto článku.

Krok 5: Nakonfigurujte přihlašovací údaje

Uživatel AWS má přístup ke zdrojům a službám AWS pouze v případě, že jsou přihlašovací údaje správně nakonfigurovány. V této části Metody nakonfigurujeme přihlašovací údaje uživatele IAM poskytnutím přístupového klíče a tajného přístupového klíče rozhraní příkazového řádku. Pro tento účel postupujte podle metody 1 tohoto návodu.

Krok 6:  Převezměte roli IAM

Po úspěšném připojení role IAM a implementaci zásad důvěryhodnosti může uživatel nyní převzít roli IAM. Za tímto účelem poskytněte CLI následující příkaz:

aws iam vytvořit-přístupový-klíč --uživatelské-jméno mfa-user


Zde byl klíč úspěšně vytvořen pro uživatele IAM. Uložte AccessKeyId a SecretAccessKey, protože budou vyžadovány pro přihlášení k účtu AWS:


Dalším krokem je konfigurace přístupových klíčů v AWS CLI. Pro konfiguraci CLI použijte níže uvedený příkaz:

aws konfigurovat


Poskytněte přístupový klíč a tajný přístupový klíč CLI pro konfigurace:


Chcete-li ověřit, zda se uživatel IAM přihlásil do AWS CLI, použijte následující příkaz:

aws sts získat identitu volajícího


Výstup příkazu je uveden následovně, což znamená, že se uživatel úspěšně přihlásil do konzoly AWS:


Uživatel má oprávnění vypsat seznam rolí IAM v rámci účtu AWS. Níže uvedený příkaz se používá k seznamu rolí IAM:

aws iam seznam rolí --dotaz 'Role[?RoleName == 'mfa-role'].[RoleName, Arn]


Ve výše uvedeném příkazu: Název role: V tomto poli nahraďte hodnotu „mfa-role“ názvem své role IAM.

Výstup příkazu je dán následovně:


Chcete-li převzít roli IAM s MFA, použijte příkaz předpokládat roli s dalšími parametry, jako je sériové číslo a kód tokenu. Zadejte následující příkaz do CLI:

aws sts převzít roli --role-arn 'arn:aws:iam::123456789012:role/m-role' --role-session-name AWSCLI-relace --sériové číslo 'arn:aws:iam::012345678910:mfa/admindevice' --token-kód '123456'


Ve výše uvedeném příkazu:

    • – role-arn: Nahraďte hodnotu tohoto pole ARN vaší role IAM.
    • –název-relace-role: V tomto poli může uživatel zadat libovolný název relace.
    • -sériové číslo: Nahraďte hodnotu tohoto pole hodnotou identifikátoru z rozhraní MFA, která byla uložena dříve.
    • – kód-tokenu: Tato hodnota má být nahrazena aktuálním kódem zobrazeným v rozhraní Symantec VIP.

Aktuální kód zobrazený v Symantec VIP je uveden následovně. Stejný kód bude použit v hodnotě –token-code příkazu:


Výstup příkazu bude obsahovat dočasné pověření, jako je token relace, přístupový klíč, tajný přístupový klíč atd.

Krok 7: Konfigurace proměnných prostředí

Přístupové klíče a vrácený token relace budou nyní použity k vytvoření přihlášení založeného na relaci a převzetí role. Podrobná implementace pro konfiguraci prostředí je diskutována v metody 1.

Závěrečné myšlenky

Chcete-li převzít roli pomocí CLI, existují tři způsoby, tj. prostřednictvím STS (služba bezpečnostního tokenu), parametru –profile nebo MFA (Multi-Factor Authentication). Aby uživatel mohl převzít roli, musí být nejprve vytvořena zásada důvěryhodnosti. Tato zásada důvěryhodnosti určuje, zda je uživatel důvěryhodnou entitou či nikoli. Tato funkce je nezbytná, protože řeší bezpečnostní problémy IT odborníků a jednotlivců. Kromě toho může uživatel převzít roli pouze tehdy, je-li vybaven požadovanými oprávněními.

Když uživatel převezme roli v AWS, vytvoří se přihlášení založené na relaci, které uživateli poskytne omezený přístup s požadovanými oprávněními. Je vygenerován token, jehož platnost vyprší po určité době, a proto uživatel již nemůže provádět administrativní úlohu s prostředky AWS. Tento článek poskytuje praktickou implementaci tří metod pro převzetí role v AWS CLI.