Das IAM in AWS kann eine Herausforderung bei der Nutzung und dem Verständnis darstellen, besonders für neue Benutzer. Keine Sorge jedoch! Wenn Sie Schwierigkeiten haben, zu verstehen, wie IAM die Benutzerberechtigungen in AWS verwaltet, sind Sie hier genau richtig, um zu erfassen, was mit IAM möglich ist.
In diesem Tutorial lernen Sie die grundlegenden Konzepte von IAM kennen, indem Sie durch eine Reihe von Beispielen geführt werden, die aufeinander aufbauen.
Bereit? Atmen Sie tief ein und tauchen Sie ein!
Voraussetzungen
Dieses Tutorial wird eine praktische Demonstration sein. Wenn Sie mitmachen möchten, stellen Sie sicher, dass Sie einen PC und ein AWS-Konto haben. Wenn Sie kein AWS-Konto haben, steht ein kostenfreies Kontingent zur Verfügung.
Erstellung von IAM-Benutzern in AWS
Bevor Sie sich mit der Funktionsweise von IAM befassen, starten Sie dieses Tutorial, indem Sie Benutzer erstellen. Benutzer können für allerlei Dinge verwendet werden. Aber für dieses Tutorial erstellen Sie Benutzer, die keine Berechtigungen haben, keiner Gruppe angehören und überhaupt keinen Zugriff auf irgendetwas haben.
1. Melden Sie sich bei der AWS Console an. In dieser Demo wird ein Benutzername namens cloud_user verwendet, aber Ihr Benutzername wird unterschiedlich sein.

2. In der AWS-Konsole geben Sie IAM in das Suchfeld ein und klicken Sie dann auf den IAM-Dienst, der unten angezeigt wird. Ihr Browser leitet Sie zum IAM-Dashboard weiter.

IAM ist ein globaler Dienst, was bedeutet, dass Benutzer und ihre Berechtigungen auf Ihr gesamtes AWS-Konto/Region angewendet werden. Wenn mehrere Personen ein AWS-Konto teilen (was sehr häufig vorkommt, z. B. im Fall eines unternehmensweiten Entwicklungsteams), müssen Sie sicherstellen, dass die IAM-Arbeitskräfte ordnungsgemäß rotieren.
Sie können auch eine EC-Instanz innerhalb der Region us-east erstellen. Instanzen sind regional. Die AWS Identity and Access Management-Steuerungen sind jedoch nicht regional. Die Berechtigungen, die einem Benutzer zugewiesen sind, gelten unabhängig von der Region, in der die EC-Instanz, mit der sich die Benutzer verbinden, sich befindet.

4. Klicken Sie im IAM-Dashboard im linken Bereich auf Benutzer und dann oben rechts auf der Seite auf Benutzer hinzufügen, um das Hinzufügen von Benutzern zu initialisieren.

Konfigurieren Sie nun die Benutzerdetails wie folgt:
- Geben Sie einen Benutzernamen in das Feld Benutzername ein, das unten angezeigt wird. Für dieses Beispiel ist der Benutzername auf Benutzer-1 eingestellt.
- Aktivieren Sie die Option Passwort – AWS-Managementkonsole-Zugriff, um Benutzern das Anmelden bei der AWS-Managementkonsole zu ermöglichen.
- Wählen Sie die Option Benutzerdefiniertes Passwort für das Konsolenpasswort aus und geben Sie ein sicheres Passwort in das Textfeld ein.
- Deaktivieren Sie die Option Passwortänderung erforderlich, damit der Benutzer beim nächsten Anmelden nicht aufgefordert wird, ein neues Passwort zu erstellen, und klicken Sie dann auf Weiter: Berechtigung.

5. Überspringen Sie die Berechtigungseinstellung und klicken Sie auf Weiter: Tags, da Sie einen Benutzer erstellen, der keine Berechtigungen hat.

6. Fügen Sie auch keine Tags hinzu und klicken Sie auf Weiter: Überprüfung.

7. Überprüfen Sie die Benutzerdetails und klicken Sie auf Benutzer erstellen, um die Erstellung des Benutzers abzuschließen.

Nachdem Sie den Benutzer erstellt haben, erhalten Sie einen Erfolg-Bildschirm wie den untenstehenden.

8. Gehen Sie nun zur Benutzer-Seite in Ihrem IAM-Dashboard zurück und klicken Sie auf den neu erstellten Benutzer (Benutzer-1), um die Benutzerinformationen anzuzeigen. Öffnen Sie Ihren Benutzer-1

Unten, unter dem Berechtigungen– und Gruppen-Tab, können Sie sehen, dass Benutzer-1 keine Berechtigungen hat und kein Mitglied von Gruppen ist.


Im Sicherheitsanmeldeinformationen-Tab sehen Sie verschiedene Zugriffsschlüssel, die Benutzer-1 haben könnte. Sie können einen SSH-Public Key auf diesem Tab hochladen, was großartig für Ihre AWS EC2-Instanzen ist.

Der Zugriffsberater-Tab zeigt Ihnen die Dienste an, auf die Benutzer-1 entweder direkt oder über andere Dienste zugegriffen hat, sowie wann Benutzer-1 zuletzt auf diesen Dienst zugegriffen hat.

9. Wiederholen Sie abschließend den Prozess (Schritte drei bis sieben), um zwei weitere Benutzer (Benutzer-2 und Benutzer-3) zu erstellen. Kehren Sie zur Benutzer-Seite Ihres IAM-Dashboards zurück, und Sie sehen eine Liste ähnlich der untenstehenden.

Erstellung der Benutzergruppen
Jetzt, da Sie die Benutzer erstellt haben, ist es an der Zeit, Gruppen zu erstellen. Sie erstellen Gruppen mithilfe der von AWS verwalteten Richtlinie und einer JSON-Datei.
Für dieses Tutorial erstellen Sie drei Gruppen:
- EC2-Admin: Gewährt Berechtigungen zum Anzeigen, Starten und Stoppen von EC2-Instanzen
- EC2-Support: Bietet schreibgeschützten Zugriff auf EC2
- S3-Support: Bietet schreibgeschützten Zugriff auf S3
Um mit der Erstellung von Benutzergruppen zu beginnen:
1. Klicken Sie in Ihrem IAM-Dashboard auf Benutzergruppen im linken Bereich und dann auf Gruppe erstellen.
2. Geben Sie auf der Seite Benutzergruppe erstellen einen Namen für die Benutzergruppe (EC2-Admin) ein, wie unten gezeigt.

Behalten Sie die Standardberechtigungen bei und klicken Sie auf Gruppe erstellen, um die Erstellung der EC2-Admin-Gruppe abzuschließen.

Nachdem Sie die neue Gruppe erstellt haben, erhalten Sie die Meldung EC2-Admin-Benutzergruppe erstellt oben auf der Seite, wie unten gezeigt. Ihr Browser leitet Sie dann automatisch zur Seite Benutzergruppen weiter (Schritt drei).

3. Klicken Sie auf die Gruppe EC2-Admin unter der Spalte Gruppenname, um die Zusammenfassungsinformationen der Gruppe anzuzeigen, in der Sie Inline-Richtlinien hinzufügen können (Schritt vier).

4. Klicken Sie nun auf den Tab Berechtigungen -> Berechtigungen hinzufügen -> Inline-Richtlinie erstellen, um eine Inline-Richtlinie zu erstellen. Inline-Richtlinien sind normalerweise direkt mit Benutzern verbunden und werden in der Regel für Berechtigungen in einmaligen Situationen verwendet.
Beispiel: Ihr Team migriert eine alte EC2-Umgebung in eine neue. Sie möchten sicherstellen, dass der Administrator der alten EC2-Instanz Zugriff hat, um diese zu starten/stoppen und die Sicherheitsgruppeneinstellungen auf die neue EC2-Instanz zu kopieren.

5. Auf der Seite Richtlinie erstellen klicken Sie auf die Registerkarte JSON, um einen JSON-Editor zu öffnen, in dem Sie eine Richtlinie erstellen.

6. Fügen Sie den Code (die Richtlinie) unten in das Editorfeld ein und klicken Sie auf Richtlinie überprüfen, um eine Inline-Richtlinie zu erstellen. Diese Inline-Richtlinie wurde entweder von AWS vorab erstellt oder von einem Administrator in Ihrem AWS-Konto erstellt, die Sie verwenden, anpassen oder bearbeiten können, um Ihren genauen Anforderungen zu entsprechen.
Mit dieser Richtlinie dürfen Mitglieder der EC2-Admin-Gruppe EC2-Instanzen starten ("ec2:StartInstances"
), stoppen ("ec2:StopInstances"
) und anzeigen ("ec2:Describe*"
). Sie sind berechtigt ("Effect": "Allow"
), Aktionen auf alle Ressourcen ("Resource": "*"
) auszuführen. Diese Aktionen sind im Wesentlichen mit den programmatischen oder API-Aufrufen von AWS verknüpft.
Mitglieder der EC2-Admin-Gruppe haben auch die Berechtigung, alle elastischen Lastenausgleiche anzuzeigen (Aktion": "elasticloadbalancing:Describe
), Metriken aufzulisten (cloudwatch:ListMetrics
), Metrikenstatistiken abzurufen cloudwatch:GetMetricStatistics
und Metriken zu beschreiben (cloudwatch:Describe
).
CloudWatch-Metriken werden automatisch mit Ihrer EC-Instanz konfiguriert, und dasselbe gilt für den Auto Scaling-Dienst.

7. Überprüfen Sie die Zusammenfassung der Richtlinie und klicken Sie auf Änderungen speichern, um die Richtlinie zu speichern.

8. Jetzt navigieren Sie erneut zu Ihrem IAM-Dashboard und beginnen Sie mit der Erstellung einer Gruppe, wie Sie es im zweiten Schritt getan haben. Dieses Mal benennen Sie jedoch den Benutzergruppennamen als EC2-Support.
Scrollen Sie nach unten, suchen Sie nach AmazonEC2ReadOnlyAccess im Suchfeld für Berechtigungsrichtlinien anhängen, um diese Richtlinie an die Gruppe (EC2-Support) anzuhängen:
AmazonEC2ReadOnlyAccess ist eine verwaltete Richtlinie, ähnlich wie eine Inline-Richtlinie, da sie auch an mehrere Benutzer oder Benutzergruppen angehängt werden kann. Im Gegensatz zur Inline-Richtlinie ist diese Art von Richtlinie, die von Administratoren erstellt wurde, wiederverwendbar und kann in Ihrer Organisation oder mit allen AWS-Konten in Ihrem Konto geteilt werden.
A managed policy is a shared policy. As a result, all users or groups of users who use the shared policy will have updated permissions automatically when the policy is updated.
Diese automatische Aktualisierungsfunktion macht die verwalteten Richtlinien attraktiver als Inline-Richtlinien. Bei Inline-Richtlinien muss jede Berechtigung vom Administrator aktualisiert werden, wenn sich die Richtlinie ändert.
Markieren Sie die Option AmazonEC2ReadOnlyAccess und klicken Sie auf Gruppe erstellen, um die Gruppe zu erstellen.

10. Wiederholen Sie nun die Schritte acht bis neun, um die Gruppe S3-Support mit einer verwalteten Richtlinie AmazonS3ReadOnlyAccess zu erstellen. Sobald Sie die Gruppe S3-Support erstellt haben, haben Sie eine Liste von Gruppen ähnlich der untenstehenden, die die Berechtigungen für jede Gruppe anzeigen.

Hinzufügen von Benutzern zu ihren entsprechenden Gruppen
Sie haben die Benutzer und Gruppen mit definierten Berechtigungen erstellt. Jetzt ist es an der Zeit, die Benutzer ihren entsprechenden Gruppen hinzuzufügen. Sie öffnen die Zusammenfassungsseite jeder Gruppe und fügen manuell einen Benutzer zu dieser Gruppe hinzu.
In der untenstehenden Tabelle sind die entsprechenden Gruppen aufgeführt, zu denen Sie jeden Benutzer hinzufügen werden:
Users | In-group | Permissions |
---|---|---|
user-1 | S3-Support | Read-only access to S3 Bucket |
user-2 | EC2-Support | Read-only access to EC2 Instance |
user-3 | EC2-Admin | Full EC2 Access (View/Start/Stop) |
1. In Ihrem IAM-Dashboard navigieren Sie zur Seite Benutzergruppen und klicken Sie auf die unten angezeigte S3-Support-Gruppe, um auf die Zusammenfassungsseite der Gruppe zuzugreifen.

2. Klicken Sie anschließend auf den Tab Benutzer -> Benutzer hinzufügen, um das Hinzufügen von Benutzern zur Gruppe zu initialisieren. Ihr Browser leitet Sie auf eine Seite um, auf der Sie eine Liste von Benutzern sehen, die noch keiner Gruppe angehören (Schritt drei).

3. Aktivieren Sie das Kontrollkästchen vor Benutzer-1 und klicken Sie auf Benutzer hinzufügen, um den Benutzer zur S3-Support-Gruppe hinzuzufügen. Ihr Browser leitet Sie automatisch zur Zusammenfassungsseite der S3-Support-Gruppe um.

Unten sehen Sie, dass Benutzer-1 jetzt Teil der S3-Support-Gruppe ist.

4. Wiederholen Sie die Schritte eins bis drei, um Benutzer-2 und Benutzer-3 ihren entsprechenden Gruppen hinzuzufügen.
5. Navigieren Sie schließlich zur Seite Benutzergruppen, und Sie sehen, dass die Gruppen jetzt jeweils einen Benutzer haben, wie im Screenshot unten.

Überprüfung der Benutzerberechtigungen
Sie haben Benutzer in ihren eigenen Gruppen mit definierten Berechtigungen erstellt. Aber wie wissen Sie, ob es funktioniert? Es ist Zeit zu überprüfen, ob die Berechtigungen wie beabsichtigt funktionieren, und es gibt verschiedene Möglichkeiten, dies zu tun. Eine der häufigsten Methoden ist die Verwendung der webbasierten AWS Management Console.
1. Navigieren Sie zu Ihrem IAM-Dashboard und kopieren Sie die IAM-Benutzer-Anmelde-URL im rechten Bereich, wie unten gezeigt.

2. Gehen Sie in Ihrem Webbrowser zur zuvor notierten Anmelde-URL (Schritt eins) und melden Sie sich mit den Anmeldeinformationen von Benutzer-1 an. Google Chrome und Firefox sind für diese Aufgabe am besten geeignet.

3. Geben Sie S3 in das Suchfeld ein und klicken Sie auf den unten angezeigten Link S3, um zur Seite der Amazon S3 Buckets zuzugreifen.

4. Klicken Sie nun auf Bucket erstellen, um die Initialisierung eines S3 Bucket zu starten.

5. Geben Sie unter dem Abschnitt Allgemeine Konfiguration einen Bucket-Namen ein und klicken Sie auf Bucket erstellen, um die Erstellung eines S3-Buckets zu versuchen.


Wenn Sie sich erinnern, haben Sie die Richtlinie AmazonS3ReadOnlyAccess an Benutzer-1 angehängt, die Benutzer-1 nur Leseberechtigungen für das Anzeigen von S3-Buckets gibt. Wenn Benutzer-1 versucht, einen S3-Bucket zu erstellen, zu löschen oder zu aktualisieren, wird die unten angezeigte Fehlermeldung angezeigt.
Die unten stehende Fehlermeldung zeigt an, dass die Berechtigung, die Sie Benutzer-1 zugewiesen haben, ordnungsgemäß funktioniert.

Beachten Sie, dass Benutzer-1 auch keine EC2-Berechtigungen hat. Gehen Sie zur Überprüfung zu Ihrem EC2-Dashboard, und Sie erhalten viele API-Fehler, die wie im Screenshot unten angezeigt werden.
Sie erhalten diese Fehler aufgrund des Prinzips der minimalen Rechte (PoLP). PoLP ist das Konzept, dass ein bestimmtes Betriebssystembenutzerkonto oder -prozess nur die absolut notwendigen Berechtigungen haben sollte, um eine Aufgabe abzuschließen.

6. Melden Sie sich jetzt von Benutzer-1 ab und melden Sie sich als Benutzer-2 an, und navigieren Sie zu Ihrem EC2-Dashboard.

7. Klicken Sie auf eine laufende EC2-Instanz, um die Berechtigungen von Benutzer-2 anzuzeigen. Wie unten gezeigt, erhalten Sie Informationen über die Instanz wie Instanz-ID, Öffentliche IPv4-Adresse und so weiter.

8. Klicken Sie auf den Instanzzustand am rechten Rand der Seite und wählen Sie entweder die Option Instanz anhalten, Instanz neu starten oder Instanz beenden, um zu testen, ob die Berechtigung von Benutzer-2 funktioniert.

Denken Sie daran, dass Benutzer-2 nur Lesezugriff für EC2-Instanzen hat (AmazonEC2ReadOnlyAccess). Wenn ein Benutzer versucht, eine EC2-Instanz zu manipulieren, erscheint die folgende Fehlermeldung.
Das Erhalten des unten stehenden Fehlers zeigt an, dass die Berechtigung von Benutzer-2 korrekt funktioniert.

9. Melden Sie sich schließlich von Benutzer-2 ab, melden Sie sich dann als Benutzer-3 an und versuchen Sie, eine beliebige laufende EC2-Instanz in Ihrem Konto zu manipulieren. Da Benutzer-3 volle EC2-Berechtigung hat, können Sie eine Instanz starten, anhalten oder beenden, ohne eine Fehlermeldung zu erhalten.
Zusammenfassung
Während dieses Tutorials haben Sie gelernt, wie Sie IAM-Benutzer und -Benutzergruppen mit definierten Richtlinien erstellen. Sie haben auch darauf eingegangen, wie Sie überprüfen können, ob Berechtigungen wie beabsichtigt funktionieren, indem Sie versuchen, den Zustand einer EC2-Instanz zu ändern und einen S3-Bucket zu erstellen.
Zu diesem Zeitpunkt haben Sie Ihre grundlegende Einrichtung für IAM-Benutzer und -Gruppen zur Verwaltung von Benutzerberechtigungen. Natürlich können Sie jederzeit weitere Benutzer zu Ihrem Konto hinzufügen und weitere Richtlinien anwenden, wie Sie es für angemessen halten.
Was ist nun der nächste Schritt, um Ihr neu gewonnenes Wissen auszubauen? Vielleicht sollten Sie sich mit dem Einrichten Ihrer EC2-Dienste für Auto-Scaling befassen, um mit IAM zu arbeiten.