Wie man AWS IAM mit aws-cli verwaltet

Die Verwaltung von IAM-Benutzern, -Gruppen und -Rollen über dein Terminal ist einfach und interessant, du musst nur die Befehle ausführen, um die Aufgabe zu erfüllen. In diesem Artikel werden wir uns die Befehle zum Erstellen von Benutzern, Gruppen und Rollen ansehen. Außerdem werden wir uns die Befehle ansehen, mit denen wir den erstellten IAM-Benutzern, -Gruppen und -Rollen Richtlinien zuweisen und von ihnen trennen können. Diese Anleitung wird dir dabei helfen, IAM-Ressourcen vom Terminal aus zu verwalten.

Bevor wir fortfahren, wird vorausgesetzt, dass du mit IAM-Benutzern, -Gruppen, -Rollen und -Policies vertraut bist.

Ein paar der Befehle, die wir in diesem Artikel behandelt haben, sind wie folgt.

  1. list-users: Holt eine Liste der vorhandenen Benutzer.
  2. list-groups: Hole eine Liste der existierenden Gruppen.
  3. list-roles: Liefert eine Liste der existierenden Rollen.
  4. create-user: Erzeugt einen neuen Benutzer.
  5. create-group: Erstelle eine neue Gruppe.
  6. create-role: Erstelle eine neue Rolle.
  7. add-user-to-group: Fügt einen Benutzer zu einerexisting Gruppe.
  8. get-group: Holt eine Liste der Benutzer, die in der Gruppe vorhanden sind.
  9. attach-user-policy: Hänge die verwaltete Richtlinie an denexisting Benutzer.
  10. attach-group-policy: Hänge die verwaltete Richtlinie an dieexisting Gruppe an.
  11. attach-role-policy: Verbinde die verwaltete Richtlinie mit derexisting Rolle an.
  12. list-attached-user-policies: Listet die Richtlinien auf, die an den Benutzer angehängt sind.
  13. list-attached-group-policies: Listet die Richtlinien auf, die an die Gruppe angehängt sind.
  14. list-attached-role-policies: Listet die an die Rolle angehängten Richtlinien auf.
  15. detach-user-policy: Entfernt die verwaltete Richtlinie von demexisting Benutzer.
  16. detach-group-policy: Entfernt die verwaltete Richtlinie von derexisting Gruppe.
  17. detach-user-policy: Entferne die verwaltete Richtlinie von derexisting Rolle.
  18. remove-user-from-group: Entfernt einen Benutzer aus den Gruppen
  19. delete-user: Lösche einen IAM-Benutzer.
  20. delete-group: Löscht eine IAM-Gruppe.
  21. delete-role: Lösche eine IAM-Rolle

Besuche die offizielle AWS Dokumentation hier, um alle aws-cli Befehle für IAM zu kennen.

Vorraussetzungen

  1. AWS-Konto (Erstellen, wenn du noch keines hast).
  2. Grundlegendes Verständnis von IAM (Klicke hier , um zu lernen, wie man einen IAM-Benutzer, eine Gruppe und eine Rolle über die AWS-Konsole erstellt).
  3. AWS IAM-Benutzer mit einer AdministratorAccess-Richtlinie und seinen Zugangs- und Geheimschlüsseln (Klicke hier, um zu lernen, wie man einen IAM-Benutzer erstellt).
  4. AWS CLI installiert auf deinem lokalen Rechner.

Was müssen wir tun?

  1. Prüfe aws-cli und exportiere den AWS-Zugangs- und Geheimschlüssel auf deinem lokalen Rechner.
  2. Verwalten von IAM mit aws-cli

Prüfe aws cli und exportiere den AWS access & secret key auf deinem lokalen Rechner.

Prüfe, ob du aws-cli auf deinem lokalen Rechner installiert hast.

aws --version #aws-cli/2.0.0 Python/3.8.2 Darwin/19.2.0 botocore/2.0.0dev7

Der nächste Schritt ist der Export deines AWS Benutzerzugangs und geheimen Schlüssels in deinem Terminal. Die Schlüssel werden für dich unterschiedlich sein, verwende nicht die unten genannten.

export AWS_ACCESS_KEY_ID=<your-iam-user-access-key-here>
export AWS_SECRET_ACCESS_KEY=<your-iam-user-secret-key-here>

Führe den folgenden Befehl aus, um die Identität des Benutzers zu überprüfen, dessen Schlüssel du exportiert hast.

  aws sts get-caller-identity

Identität des Anrufs erhalten

Verwalten von IAM mit aws-cli

Um mit IAM zu beginnen, lass uns zuerst die bestehenden IAM Benutzer, Gruppen und Rollen im Account überprüfen.

aws iam list-users
aws iam list-groups
aws iam list-roles

Benutzer, Gruppe und Rollen auflisten

Um einen IAM Benutzer zu erstellen, führe den folgenden Befehl aus.

aws iam create-user --user-name test-user

Lass uns eine IAM Gruppe erstellen.

aws iam create-group --group-name test-group

Während wir eine Rolle erstellen, müssen wir auch eine Vertrauensbeziehung anlegen. Hierfür benötigen wir eine Richtlinie.

Erstelle eine Datei auf deinem lokalen System mit folgendem Inhalt, benenne die Datei als „trust-relationship-policy.json“. Die folgende Richtlinie erlaubt es dem EC2-Dienst, die Rolle zu übernehmen.

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Principal": {"Service": "ec2.amazonaws.com"},
    "Action": "sts:AssumeRole"
  }
}

Jetzt sind wir bereit, eine IAM-Rolle zu erstellen.

aws iam create-role --role-name test-role --assume-role-policy-document file://trust-relationship-policy.json

Erstelle einen Benutzer, eine Gruppe und eine Rolle

Bis zu diesem Punkt haben wir einen IAM Benutzer, eine Gruppe und eine Rolle.

Mit dem folgenden Befehl können wir nun einen Benutzer zu der von uns erstellten Gruppe hinzufügen.

aws iam add-user-to-group --user-name test-user --group-name test-group

Überprüfe die Details der Gruppe, nachdem du den Benutzer hinzugefügt hast.

aws iam get-group --group-name test-group

Einen Benutzer zur Gruppe hinzufügen

Fügen wir die Richtlinie „ReadOnlyAccess“ zu dem Benutzer, der Gruppe und der Rolle hinzu, die wir erstellt haben.

aws iam attach-user-policy --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess --user-name test-user
aws iam attach-group-policy --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess --group-name test-group
aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess --role-name test-role

Eine Richtlinie an den Benutzer, die Gruppe und die Rolle anhängen

Überprüfe, ob die Richtlinie dem Benutzer, der Gruppe und der Rolle hinzugefügt wurde.

aws iam list-attached-user-policies --user-name test-user
aws iam list-attached-group-policies --group-name test-group
aws iam list-attached-role-policies --role-name test-role

Liste der angehängten Benutzer-, Gruppen- und Rollenrichtlinien

So wie wir eine Richtlinie zum Benutzer, zur Gruppe und zur Rolle hinzugefügt haben, können wir sie auch wieder entfernen.

Um eine Richtlinie zu entfernen, müssen wir ihre Nummer an den Befehl übergeben.

aws iam detach-user-policy --user-name test-user --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess
aws iam detach-group-policy --group-name Testers --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess
aws iam detach-group-policy --group-name test-group --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess
aws iam detach-role-policy --role-name test-role --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess

Nachdem wir die Richtlinie entfernt haben, können wir sicherstellen, dass die Richtlinie nicht mehr mit dem Benutzer, der Gruppe und der Rolle verbunden ist.

aws iam list-attached-user-policies --user-name test-user
aws iam list-attached-group-policies --group-name test-group
aws iam list-attached-role-policies --role-name test-role

Löse eine Richtlinie von dem Benutzer, der Gruppe und der Rolle

Wenn wir den Benutzer, die Gruppe und die Rolle, die wir erstellt haben, nicht mehr benötigen, können wir sie löschen, indem wir den folgenden Befehl ausführen.

aws iam delete-user --user-name test-user

Beachte, dass du einen Benutzer erst aus der Gruppe entfernen musst, zu der er hinzugefügt wurde, bevor du ihn löschst.

aws iam remove-user-from-group --user-name test-user --group-name test-group
aws iam delete-user --user-name test-user
aws iam delete-group --group-name test-group
aws iam delete-role --role-name test-role

Lösche den Benutzer, die Gruppe und die Rolle

Fazit

In diesem Artikel haben wir den Befehl zum Verwalten von IAM-Benutzern, -Gruppen und -Rollen gesehen. Wir haben zuerst diese IAM Ressourcen erstellt und dann IAM verwaltete Richtlinien zu ihnen hinzugefügt. Wir haben auch gesehen, wie Richtlinien vom Benutzer, der Gruppe und der Rolle abgetrennt werden können. Später haben wir auch den Befehl zum Löschen der erstellten IAM-Ressourcen gesehen. Du kannst nun weitere Befehle ausprobieren und IAM mit aws-cli verwalten.

Das könnte dich auch interessieren …