Nutzen Sie die AWS STS Assume Role-Privilegien zur Verwaltung von AWS

Bist du damit beschäftigt, den Zugriff auf deine AWS-Ressourcen zu verwalten, während deine Organisation wächst? Keine Sorge! Der AWS Security Token Service (STS) ist hier, um den Tag zu retten.

Mit den Berechtigungen zum Annahme von Rollen durch AWS STS kannst du temporären Zugriff auf deine AWS-Ressourcen für Benutzer und Anwendungen gewähren, ohne langfristige Anmeldeinformationen zu benötigen. In diesem Tutorial lernst du, deine Ressourcen effizienter zu verwalten und gleichzeitig sicher zu halten.

Lesen weiter und erhalte vollständige Kontrolle über deine AWS-Infrastruktur und Ressourcen mit Leichtigkeit!

Voraussetzungen

Dieses Tutorial wird eine praktische Demonstration sein. Um mitzumachen, stelle sicher, dass du über ein aktives AWS-Konto mit aktivierter Abrechnung verfügst, aber ein kostenloses Kontingent-Konto ist ausreichend.

Erstellen eines IAM-Benutzers ohne Zugriff

Bevor du die Berechtigungen zum Annahme von Rollen durch AWS STS nutzen kannst, musst du zuerst einen IAM-Benutzer ohne zugewiesene Berechtigungen erstellen. Diese Aktion mag kontraintuitiv erscheinen, ist jedoch entscheidend, da IAM-Benutzer Rollen nicht direkt übernehmen können. Sie müssen zuerst temporäre Sicherheitsanmeldeinformationen erhalten, indem sie eine Rolle über den AWS STS-Dienst übernehmen.

Um einen IAM-Benutzer ohne Berechtigungen zu erstellen, befolge diese Schritte:

1. Öffnen Sie Ihren bevorzugten Webbrowser und melden Sie sich im AWS Management Console mit Ihrem Root-AWS-Konto an.

2. Suchen Sie als Nächstes nach IAM und wählen Sie es aus der Liste der Dienste aus, um auf die IAM-Konsole zuzugreifen.

Accessing the IAM console

3. Navigieren Sie auf der IAM-Konsole zu Benutzer (linke Seite) und klicken Sie auf Benutzer hinzufügen, um einen neuen Benutzer hinzuzufügen.

Initiating adding a new user

4. Konfigurieren Sie nun die Benutzerdetails unten. Diese Aktion ermöglicht es Ihrem IAM-Benutzer, sich mit ihrem Benutzernamen und Passwort bei der AWS Management Console anzumelden.

  • Benutzername – Geben Sie einen Namen für den neuen Benutzer ein und aktivieren Sie das Kontrollkästchen unten, um dem Benutzer Zugriff auf die AWS Management Console zu gewähren.
  • Wählen Sie die Option Ich möchte einen IAM-Benutzer erstellen aus, da Sie einen IAM-Benutzer erstellen.
  • Konsolenpasswort – Wählen Sie die Option Autogeneriertes Passwort, um ein Passwort zu generieren, das Sie später ändern können.

Wenn konfiguriert, klicken Sie auf Weiter, um die Erstellung des IAM-Benutzers fortzusetzen.

Configuring the user details

5. Auf der nächsten Seite belassen Sie die Standardeinstellungen und klicken auf Weiter, um die Benutzerberechtigungen nicht festzulegen.

Es ist nicht erforderlich, diesem Benutzer Berechtigungen zuzuweisen, da Sie einen Benutzer ohne Berechtigungen und Zugriff auf die AWS Management Console erstellen.

Benutzer ohne Berechtigungen werden daran gehindert, Maßnahmen zu ergreifen, bis sie eine Rolle übernehmen, die ihnen die erforderlichen Berechtigungen gewährt.

Skipping setting permissions

6. Überprüfen Sie als Nächstes Ihre konfigurierten Benutzerdetails und klicken Sie auf Benutzer erstellen, um die Erstellung des IAM-Benutzers abzuschließen.

Finalizing creating the new IAM user

7. Kopieren und speichern Sie die Anmelde-URL und das Passwort des IAM-Benutzers. Sie benötigen diese Informationen später, um sich mit dem IAM-Benutzer anzumelden.

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

8. Gehen Sie nun zurück zur IAM-Konsole, navigieren Sie zur Benutzerseite (linke Seite) und klicken Sie auf den Namen des neu erstellten Benutzers, um auf dessen Zusammenfassungsseite zuzugreifen.

Accessing the newly-created user’s summary page

9. Notieren Sie sich abschließend auf der Zusammenfassungsseite die Amazon-Ressourcennamen (ARN) des Benutzers, die eindeutige Kennung des Benutzers. Sie benötigen diesen ARN später, wenn Sie dem Benutzer eine Rolle zuweisen.

Noting down the newly-created user’s ARN

Vorbereitung einer benutzerdefinierten Vertrauensrichtlinie

Mit einem dedizierten IAM-Benutzer erstellt, sind Sie bereit, die Rolle anzunehmen und Zugriff auf AWS-Ressourcen zu gewähren. Aber damit ein IAM-Benutzer eine Rolle annehmen kann, muss die Rolle zuerst dem Benutzer vertrauen.

Indem Sie eine benutzerdefinierte Vertrauensrichtlinie erstellen, werden Sie eine „Vertrauensbeziehung“ zwischen dem IAM-Benutzer und der Rolle herstellen. Diese Vertrauensbeziehung legt fest, welche Benutzer oder Konten die Rolle annehmen können und unter welchen Bedingungen.

Um eine benutzerdefinierte Vertrauensrichtlinie vorzubereiten, befolgen Sie diese Schritte:

1. Navigieren Sie zu Rollen (linke Seite) in der IAM-Konsole und klicken Sie auf Rolle erstellen, um das Erstellen einer neuen Rolle zu initiieren.

Initiating creating a new role

2. Klicken Sie dann auf die Option Benutzerdefinierte Vertrauensrichtlinie, um eine benutzerdefinierte Richtlinie zu erstellen.

Choosing to create a custom trust policy

3. Geben Sie die folgende Richtlinie in das Textfeld ein, wie unten gezeigt, und klicken Sie auf Weiter. Ersetzen Sie YOUR_ARN durch den ARN Ihres IAM-Benutzers, den Sie im letzten Schritt des Abschnitts „Erstellen eines IAM-Benutzers ohne Zugriff“ notiert haben.

Hier ist ein grundlegendes Beispiel für eine benutzerdefinierte Vertrauensrichtlinie, die einem bestimmten IAM-Benutzer oder -Rolle ermöglicht, eine bestimmte IAM-Rolle mit den folgenden Feldern anzunehmen:

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. Auf der nächsten Seite suchen Sie nach AmazonEC2FullAccess und wählen Sie es aus der Liste der Richtlinien aus, die angezeigt wird, und klicken Sie auf Weiter. Diese Richtlinie gewährt vollen Zugriff auf alle EC2-Ressourcen.

Selecting the AmazonEC2FullAccess policy

5. Geben Sie anschließend einen Namen für Ihre benutzerdefinierte Vertrauensrichtlinie ein (z.B. AWSEC2FULLACCESS).

provide a name for your custom trust policy

6. Behalten Sie die anderen Einstellungen bei und klicken Sie auf Rolle erstellen, um die Erstellung der Rolle abzuschließen.

Zu diesem Zeitpunkt sollte die Rolle vom IAM (sts_user) annehmbar sein. Wenn angenommen, hat der Benutzer Zugriff auf alle EC2-Ressourcen, wie das Auflisten, Erstellen und Löschen von EC2-Instanzen usw.

Creating the new role

7. Klicken Sie auf die neu erstellte Rolle, wie unten gezeigt, um ihre Details anzuzeigen.

Accessing the role’s details

8. Kopieren Sie letztendlich den Link zum Wechseln der Rollen in der Konsole und speichern Sie ihn. Sie benötigen diesen Link später, um in der Konsole die Rollen zu wechseln, wenn Sie sich mit dem IAM-Benutzer (sts_user) anmelden.

Copying the link to switch roles in the console

Wechseln und Übernehmen einer Rolle mit einem IAM-Benutzer

Nachdem Sie eine Rolle erstellt haben, können Sie die Rolle nun mit Ihrem dedizierten IAM-Benutzer übernehmen. Melden Sie sich bei der AWS-Konsole mit Ihrem IAM-Benutzer an und wechseln Sie zur erstellten Rolle, um den Zugriff auf EC2 zu testen.

Um zu sehen, wie Sie mit einem IAM-Benutzer eine Rolle wechseln und übernehmen können:

1. Navigieren Sie zur Anmelde-URL, die Sie im siebten Schritt des Abschnitts „Erstellen eines IAM-Benutzers mit Nullzugriff“ notiert haben, und melden Sie sich mit dem Passwort des IAM-Benutzers an.

?Vermeiden Sie Konflikte mit Ihrem Root-Konto, indem Sie sich mit einem anderen Browser oder einem Inkognito-Fenster anmelden.

Logging into the AWS Management Console with the IAM user

2. Sobald Sie angemeldet sind, navigieren Sie zur EC2-Konsole, und Sie werden viele API-Fehler in Rot sehen, wie unten dargestellt. Diese Fehler zeigen an, dass der IAM-Benutzer keine Berechtigung zum Zugriff auf die EC2-Ressourcen hat.

Um diese Fehler zu beheben, müssen Sie die Rolle übernehmen, die Sie im nächsten Schritt erstellt haben, um Zugriff auf alle EC2-Ressourcen (AWSEC2FULLACCESS) zu erhalten. Wenn Sie eine Rolle in AWS übernehmen, übernehmen Sie vorübergehend die Berechtigungen, die dieser Rolle zugeordnet sind.

Getting errors due to lack of permissions

3. Öffnen Sie einen neuen Browser-Tab, und navigieren Sie zur „Link zum Wechseln der Rollen“, den Sie im letzten Schritt des Abschnitts „Vorbereiten einer benutzerdefinierten Vertrauensrichtlinie“ notiert haben.

Dieser Link ist eine spezielle URL, die Sie direkt zur Seite „Rolle wechseln“ in der AWS Management Console führt. Die Seite „Rolle wechseln“ ermöglicht es Ihnen, eine andere Rolle anzunehmen, eine Reihe von Berechtigungen, die bestimmen, auf welche AWS-Ressourcen Sie zugreifen können.

4. Geben Sie nun einen aussagekräftigen Anzeigenamen für die Sitzung ein, und klicken Sie auf „Rolle wechseln“, um die Rolle anzunehmen. Der Anzeigename hilft Ihnen, Ihre aktiven Sitzungen im Blick zu behalten.

Nachdem Sie die Rolle übernommen haben, leitet Ihr Browser Sie zur AWS Management Console mit den Berechtigungen der ausgewählten Rolle weiter.

Switching roles

5. Navigieren Sie erneut zur EC2-Konsole, um zu bestätigen, dass Ihrem IAM-Benutzer der Zugriff auf EC2-Ressourcen gewährt wurde.

Wenn alles gut läuft, sollten Sie die API-Fehler, die Sie zuvor gesehen haben, nicht mehr sehen, da Sie jetzt mit den Berechtigungen der Rolle angemeldet sind, einschließlich des Zugriffs auf EC2-Ressourcen.

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

6. Klicken Sie abschließend auf den Anzeigenamen Ihrer Sitzung (oben rechts) und wählen Sie „Zurückwechseln“, um zum ursprünglichen IAM-Benutzer zurückzukehren.

Sie werden von Ihrer aktuellen Sitzung abgemeldet und als Ihr ursprünglicher IAM-Benutzer mit seinem ursprünglichen Satz von Berechtigungen angemeldet. Diese Aktion ist bewährte Praxis, um das Risiko unbeabsichtigter Aktionen zu minimieren.

Switching back to the original IAM user

Schlussfolgerung

Das Annahme einer Rolle in AWS ist eine leistungsstarke Funktion, die es Ihnen ermöglicht, temporären Zugriff auf Ressourcen zu gewähren, ohne Ihre dauerhaften Anmeldeinformationen weiterzugeben. Und im Verlauf dieses Tutorials haben Sie gelernt, AWS STS Annahme von Rollenprivilegien zu nutzen.

An diesem Punkt können Sie selbstbewusst eine Rolle mit begrenzten Berechtigungen annehmen, um die Sicherheit Ihrer Ressourcen zu gewährleisten und die potenziellen Auswirkungen unbeabsichtigter oder bösartiger Aktionen zu minimieren.

Die AWS Management Console ist ein ausgezeichneter Einstieg in AWS-Dienste wie das Übernehmen von Rollen. Aber warum nicht versuchen, eine Rolle über die AWS-Befehlszeilenschnittstelle (CLI) zu übernehmen? Die Erkundung und Integration der AWS CLI in Ihre Automatisierungsskripte kann fortgeschrittenere Funktionen und Möglichkeiten bieten.

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