Maak gebruik van AWS STS Assumerolbevoegdheden om AWS te beheren

Heb je moeite om toegang tot je AWS-resources te beheren naarmate je organisatie groeit? Vrees niet! AWS Security Token Service (STS) staat klaar om de dag te redden.

Met de privileges van het aannemen van een rol in AWS STS kun je tijdelijke toegang verlenen tot je AWS-resources aan gebruikers en applicaties zonder langdurige referenties nodig te hebben. En in deze handleiding leer je om je resources efficiënter te beheren terwijl je ze veilig en beveiligd houdt.

Lees verder en verkrijg volledige controle over je AWS-infrastructuur en -resources met gemak!

Vereisten

Deze handleiding zal een praktische demonstratie zijn. Zorg ervoor dat je een AWS-account hebt met actieve facturering ingeschakeld, maar een gratis laag account is voldoende.

Het maken van een IAM-gebruiker zonder toegang

Voordat je de privileges van het aannemen van een rol in AWS STS kunt gebruiken, moet je eerst een IAM-gebruiker maken waarvoor geen machtigingen zijn toegewezen. Deze actie lijkt misschien tegenstrijdig, maar het is cruciaal omdat IAM-gebruikers niet rechtstreeks rollen kunnen aannemen. Ze moeten eerst tijdelijke beveiligingsreferenties verkrijgen door een rol aan te nemen via de AWS STS-service.

Volg deze stappen om een IAM-gebruiker zonder machtigingen te maken:

1. Open je favoriete webbrowser en log in op de AWS Management Console met je root AWS-account.

2. Zoek vervolgens IAM op in de lijst met services om toegang te krijgen tot de IAM-console.

Accessing the IAM console

3. Ga op de IAM-console naar Gebruikers (linkerpaneel) en klik op Gebruiker toevoegen om een nieuwe gebruiker toe te voegen.

Initiating adding a new user

4. Configureer nu de gebruikersgegevens hieronder. Met deze actie kan je IAM-gebruiker zich aanmelden bij de AWS Management Console met hun gebruikersnaam en wachtwoord.

  • Gebruikersnaam – Geef een naam op voor de nieuwe gebruiker en vink het selectievakje hieronder aan om gebruikerstoegang tot de AWS Management Console te verlenen.
  • Selecteer de optie Ik wil een IAM-gebruiker maken aangezien je een IAM-gebruiker aanmaakt.
  • Consolewachtwoord – Kies de optie Autogegenereerd wachtwoord om een wachtwoord te genereren dat je later kunt wijzigen.

Zodra geconfigureerd, klik op Volgende om de creatie van de IAM-gebruiker voort te zetten.

Configuring the user details

5. Op de volgende pagina laat je de standaardinstellingen zoals ze zijn en klik je op Volgende om door te gaan zonder gebruikersmachtigingen in te stellen.

Er is geen noodzaak om enige machtigingen toe te wijzen aan deze gebruiker aangezien je er een aanmaakt zonder machtigingen en toegang tot de AWS Management Console.

Met nul machtigingen worden gebruikers ervan weerhouden actie te ondernemen totdat ze een rol aannemen die hen de nodige machtigingen verleent.

Skipping setting permissions

6. Bekijk vervolgens je geconfigureerde gebruikersgegevens en klik op Gebruiker maken om de creatie van de IAM-gebruiker af te ronden.

Finalizing creating the new IAM user

7. Kopieer en bewaar de aanmeldings-URL en het wachtwoord van de IAM-gebruiker. U heeft deze informatie later nodig om u aan te melden bij de IAM-gebruiker.

Taking note of the IAM user’s sign-in URL and password

8. Ga nu terug naar de IAM-console, navigeer naar de pagina Gebruikers (linkerpaneel) en klik op de naam van de nieuw aangemaakte gebruiker om toegang te krijgen tot de Samenvattingspagina.

Accessing the newly-created user’s summary page

9. Ten slotte, op de Samenvattingspagina, noteer de Amazon Resource Name (ARN) van de gebruiker, de unieke identificator van de gebruiker. U heeft deze ARN later nodig wanneer u een rol aan de gebruiker toewijst.

Noting down the newly-created user’s ARN

Het voorbereiden van een aangepast vertrouwensbeleid

Met een speciale IAM-gebruiker aangemaakt, bent u klaar om de rol aan te nemen en toegang te verlenen tot AWS-resources. Maar voor een IAM-gebruiker om een rol aan te nemen, moet de rol eerst vertrouwen hebben in de gebruiker.

Door een aangepast vertrouwensbeleid te maken, zult u een “vertrouwensrelatie” tot stand brengen tussen de IAM-gebruiker en de rol. Deze vertrouwensrelatie specificieert welke gebruikers of accounts de rol kunnen aannemen en onder welke voorwaarden.

Om een aangepast vertrouwensbeleid voor te bereiden, volgt u deze stappen:

1. Navigeer naar Rollen (linkerpaneel) in de IAM-console en klik op Rol maken om het maken van een nieuwe rol te starten.

Initiating creating a new role

2. Klik vervolgens op de optie Aangepast vertrouwensbeleid om een aangepast beleid te maken.

Choosing to create a custom trust policy

3. Voer het volgende beleid in het tekstveld in, zoals hieronder weergegeven, en klik op Volgende. Vervang YOUR_ARN door de ARN van uw IAM-gebruiker die u hebt genoteerd in de laatste stap van de sectie “Een IAM-gebruiker aanmaken zonder toegang”.

Hieronder volgt een basisvoorbeeld van een aangepast vertrouwensbeleid dat een gespecificeerde IAM-gebruiker of -rol toestaat om een specifieke IAM-rol aan te nemen met de volgende velden:

Field Function
Version Specifies the version of the policy language.
Statement Contains the policy statement(s).
Effect Specifies whether the statement allows or denies access, with Allow, in this case, granting access.
Principal Specifies the entity allowed to assume the role; in this example, it is an empty string.
Action Specifies the action the IAM user or role is allowed to perform. The sts:AssumeRole value allows the user to assume the specified IAM role.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
               "AWS": "YOUR_ARN"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
Creating a custom trust policy

4. Op de volgende pagina zoekt u naar en selecteert u AmazonEC2FullAccess uit de lijst met beleidsregels die verschijnt, en klikt u op Volgende. Dit beleid verleent volledige toegang tot alle EC2-resources.

Selecting the AmazonEC2FullAccess policy

5. Geef vervolgens een naam op voor uw aangepaste vertrouwensbeleid (bijv. AWSEC2FULLACCESS).

provide a name for your custom trust policy

6. Laat andere instellingen zoals ze zijn en klik op Rol maken om het maken van de rol af te ronden.

Op dit punt zou de rol overneembaar moeten zijn door de IAM (sts_user). Wanneer overgenomen, zal de gebruiker toegang hebben tot alle EC2-resources, zoals het vermelden, maken en verwijderen van EC2-instanties, enzovoort.

Creating the new role

7. Klik op de nieuw aangemaakte rol, zoals hieronder weergegeven, om de details te bekijken.

Accessing the role’s details

8. Kopieer uiteindelijk de link om van rol te wisselen in de console en sla deze op. U heeft deze link later nodig om van rol te wisselen in de console wanneer u zich aanmeldt met de IAM-gebruiker (sts_user).

Copying the link to switch roles in the console

Wisselen en aannemen van een rol met een IAM-gebruiker

Na het aanmaken van een rol kunt u nu de rol aannemen met uw toegewijde IAM-gebruiker. U logt in op de AWS-console met uw IAM-gebruiker en schakelt over naar de rol die u heeft gemaakt om de toegang tot EC2 te testen.

Om te zien hoe u kunt schakelen en een rol kunt aannemen met een IAM-gebruiker:

1. Ga naar de inlog-URL die je hebt genoteerd in stap zeven van de sectie “Een IAM-gebruiker aanmaken zonder toegang” en log in met het wachtwoord van de IAM-gebruiker.

?Vermijd conflicten met je rootaccount door in te loggen met een andere browser of in een incognitovenster.

Logging into the AWS Management Console with the IAM user

2. Als je bent ingelogd, ga naar de EC2-console en je zult veel API-fouten in het rood zien, zoals hieronder weergegeven. Deze fouten geven aan dat de IAM-gebruiker geen toestemming heeft om toegang te krijgen tot de EC2-resources.

Om deze fouten op te lossen, moet je de rol aannemen die je hebt aangemaakt om toegang te krijgen tot alle EC2-resources (AWSEC2FULLACCESS) in de volgende stap. Wanneer je een rol aanneemt in AWS, neem je tijdelijk de machtigingen over die aan die rol zijn gekoppeld.

Getting errors due to lack of permissions

3. Open een nieuw browsertabblad en ga naar de “koppeling om van rol te wisselen” die je hebt genoteerd in de laatste stap van de sectie “Een aangepast vertrouwensbeleid voorbereiden”.

Deze link is een speciale URL die je rechtstreeks naar de pagina Switch Role in de AWS Management Console brengt. De Switch Role-pagina stelt je in staat om een andere rol aan te nemen, een set van machtigingen die bepalen welke AWS-resources je kunt openen.

4. Geef nu een beschrijvende weergavenaam voor de sessie en klik op Switch Role om de rol aan te nemen. De weergavenaam helpt je bij het bijhouden van je actieve sessies.

Nadat je de rol hebt aangenomen, wordt je browser omgeleid naar de AWS Management Console met de machtigingen van de geselecteerde rol.

Switching roles

5. Ga opnieuw naar de EC2-console om te controleren of je IAM-gebruiker toegang heeft gekregen tot EC2-resources.

Als alles goed gaat, zul je geen API-fouten meer zien zoals eerder, omdat je nu bent ingelogd met de permissies van de rol, inclusief toegang tot EC2-resources.

Confirming the IAM user has been successfully granted access to EC2 resources

6. Klik ten slotte op de weergavenaam van je sessie (rechtsboven) en selecteer Overschakelen om terug te schakelen naar de oorspronkelijke IAM-gebruiker.

Je wordt afgemeld bij je huidige sessie en ingelogd als je oorspronkelijke IAM-gebruiker met zijn oorspronkelijke set permissies. Deze actie is de beste praktijk om het risico op het per ongeluk uitvoeren van onbedoelde acties te verminderen.

Switching back to the original IAM user

Conclusie

Het aannemen van een rol in AWS is een krachtige functie waarmee je tijdelijke toegang kunt verlenen tot resources zonder je permanente referenties te delen. En gedurende deze tutorial heb je geleerd hoe je AWS STS rol aanneemt.

Op dit punt kun je met vertrouwen een rol aannemen met beperkte permissies om de beveiliging van je resources te waarborgen en het potentiële effect van eventuele onbedoelde of kwaadwillige acties te minimaliseren.

De AWS Management Console is een uitstekende manier om te beginnen met AWS-services zoals het aannemen van rollen. Maar waarom probeer je niet om een rol aan te nemen via de AWS Command Line Interface (CLI)? Het verkennen en integreren van AWS CLI in je automatiseringsscripts kan meer geavanceerde functies en mogelijkheden bieden.

Source:
https://adamtheautomator.com/aws-sts-assume-role/