Verwenden der Amazon Detective Python-Skripte zur Verwaltung von Konten - Amazon Detective

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden der Amazon Detective Python-Skripte zur Verwaltung von Konten

Amazon Detective stellt eine Reihe von Open-Source-Python-Skripten im GitHub Repository amazon-detective-multiaccount-scripts bereit. Die Skripte benötigen Python 3.

Sie können diese nutzen, um die folgenden Aufgaben durchzuführen:

  • Aktivieren Sie Detective für ein regionsübergreifendes Administratorkonto.

    Wenn Sie Detective aktivieren, können Sie dem Verhaltensdiagramm Tag-Werte zuweisen.

  • Fügen Sie Mitgliedskonten zu den Verhaltensdiagrammen eines Administratorkontos in allen Regionen hinzu.

  • Senden Sie optional Einladungs-E-Mails an die Mitgliedskonten. Sie können die Anfrage auch so konfigurieren, dass keine Einladungs-E-Mails gesendet werden.

  • Entfernen Sie Mitgliedskonten aus den regionsübergreifenden Verhaltensdiagrammen eines Administratorkontos.

  • Deaktivieren Sie Detective für ein Administratorkonto in allen Regionen. Wenn ein Administratorkonto Detective deaktiviert, wird das Verhaltensdiagramm des Administratorkontos in jeder Region deaktiviert.

Überblick über das Skript enableDetective.py

Das enableDetective.py-Skript führt folgende Aktionen aus:

  1. Aktiviert Detective für ein Administratorkonto in jeder angegebenen Region, falls für das Administratorkonto Detective in dieser Region noch nicht aktiviert ist.

    Wenn Sie das Skript verwenden, um Detective zu aktivieren, können Sie dem Verhaltensdiagramm Tag-Werte zuweisen.

  2. Sendet optional Einladungen vom Administratorkonto an die angegebenen Mitgliedskonten für jedes Verhaltensdiagramm.

    Die Einladungs-E-Mail-Nachrichten verwenden den Standardnachrichteninhalt und können nicht angepasst werden.

    Sie können die Anfrage auch so konfigurieren, dass keine Einladungs-E-Mails gesendet werden.

  3. Nimmt die Einladungen für die Mitgliedskonten automatisch an.

    Da das Skript die Einladungen automatisch annimmt, können Mitgliedskonten diese Nachrichten ignorieren.

    Wir empfehlen, sich direkt an die Mitgliedskonten zu wenden, um sie darüber zu informieren, dass die Einladungen automatisch angenommen werden.

Überblick über das Skript disableDetective.py

Das disableDetective.py-Skript löscht die angegebenen Mitgliedskonten aus den Verhaltensdiagrammen des Administratorkontos in den angegebenen Regionen.

Es bietet auch eine Option zum Deaktivieren von Detective für das Administratorkonto in den angegebenen Regionen.

Erforderliche Berechtigungen für die Skripts

Die Skripts erfordern eine bereits bestehende AWS Rolle im Administratorkonto und in allen Mitgliedskonten, die Sie hinzufügen oder entfernen.

Anmerkung

Der Rollenname muss in allen Konten identisch sein.

In der IAM-Richtlinie wird empfohlen, Rollen mit dem geringsten Geltungsbereich zu verwenden. Um den Arbeitsablauf des Skripts zum Erstellen eines Diagramms, zum Erstellen von Elementen und zum Hinzufügen von Elementen zum Diagramm auszuführen, sind folgende Berechtigungen erforderlich:

  • Detektiv: CreateGraph

  • Detektiv: CreateMembers

  • Detektiv: DeleteGraph

  • Detektiv: DeleteMembers

  • Detektiv: ListGraphs

  • Detektiv: ListMembers

  • Detektiv: AcceptInvitation

Vertrauensbeziehung der Rolle

Das Rollenvertrauensverhältnis muss es Ihrer Instance oder Ihren lokalen Anmeldeinformationen ermöglichen, die Rolle zu übernehmen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<ACCOUNTID>:user/<USERNAME>" }, "Action": "sts:AssumeRole" } ] }

Wenn Sie nicht über eine gemeinsame Rolle verfügen, die die erforderlichen Berechtigungen umfasst, müssen Sie in jedem Mitgliedskonto eine Rolle mit mindestens diesen Berechtigungen erstellen. Sie müssen die Rolle auch im Administratorkonto erstellen.

Wenn Sie die Rolle erstellen, sollten Sie unbedingt wie folgt vorgehen:

  • Verwenden Sie in jedem Konto denselben Rollennamen.

  • Fügen Sie die oben genannten erforderlichen Berechtigungen hinzu (empfohlen) oder wählen Sie die AmazonDetectiveFullAccessverwaltete Richtlinie aus.

  • Fügen Sie wie oben beschrieben einen Block für Rollenvertrauensbeziehungen hinzu.

Um diesen Prozess zu automatisieren, können Sie die EnableDetective.yaml AWS CloudFormation Vorlage verwenden. Da die Vorlage nur globale Ressourcen erstellt, kann sie in jeder Region ausgeführt werden.

Einrichtung der Ausführungsumgebung für die Python-Skripte

Sie können die Skripts entweder von einer EC2-Instance oder von einem lokalen Computer aus ausführen.

Starten und konfigurieren einer EC2-Instance

Eine Möglichkeit, die Skripts auszuführen, besteht darin, sie von einer EC2-Instance aus auszuführen.

Starten und konfigurieren einer EC2-Instance
  1. Starten einer EC2-Instance in Ihrem Administratorkonto. Einzelheiten zum Starten einer EC2-Instance finden Sie unter Erste Schritte mit Amazon EC2 EC2-Linux-Instances im Amazon EC2 EC2-Benutzerhandbuch.

  2. Fügen Sie der Instance eine IAM-Rolle mit den erforderlichen Berechtigungen hinzu, damit die Instance AssumeRole innerhalb des Administratorkontos Aufrufe tätigen kann.

    Wenn Sie die EnableDetective.yaml AWS CloudFormation Vorlage verwendet haben, wurde eine Instance-Rolle mit einem Profil namens EnableDetective erstellt.

    Andernfalls finden Sie Informationen zum Erstellen einer Instance-Rolle im Blogbeitrag Einfache Ersetzung oder Anfügen einer IAM-Rolle an eine bestehende EC2-Instance mithilfe der EC2-Konsole.

  3. Installieren der erforderlichen Software:

    • APT: sudo apt-get -y install python3-pip python3 git

    • RPM: sudo yum -y install python3-pip python3 git

    • Boto (Mindestversion 1.15): sudo pip install boto3

  4. Klonen Sie das Repository auf die EC2-Instanz.

    git clone https://github.com/aws-samples/amazon-detective-multiaccount-scripts.git

Konfiguration eines lokalen Computers zur Ausführung der Skripts

Sie können die Skripts auch von Ihrem lokalen Computer aus ausführen.

So konfigurieren Sie einen lokalen Computer für die Ausführung der Skripts
  1. Stellen Sie sicher, dass Sie auf Ihrem lokalen Computer Anmeldeinformationen für Ihr Administratorkonto eingerichtet haben, mit denen Sie AssumeRole aufrufen können.

  2. Installieren der erforderlichen Software:

    • Python 3

    • Boto (Mindestversion 1.15)

    • GitHub Skripte

    Plattform

    Anweisungen zur Einrichtung

    Windows

    1. Installieren Sie Python 3 (https://www.python.org/downloads/windows/).

    2. Öffnen Sie eine Befehlszeile.

    3. Um Boto zu installieren, führen Sie folgenden Befehl aus: pip install boto3

    4. Laden Sie den Quellcode des Skripts von GitHub (https://github.com/aws-samples/amazon-detective-multiaccount-scripts) herunter.

    Mac

    1. Installieren Sie Python 3 (https://www.python.org/downloads/mac-osx/).

    2. Öffnen Sie eine Befehlszeile.

    3. Um Boto zu installieren, führen Sie folgenden Befehl aus: pip install boto3

    4. Laden Sie den Quellcode des Skripts von GitHub (https://github.com/aws-samples/amazon-detective-multiaccount-scripts) herunter.

    Linux

    1. Führen Sie einen der folgenden Schritte aus, um Python 3 zu installieren:

      • sudo apt-get -y install install python3-pip python3 git

      • sudo yum install git python

    2. Um Boto zu installieren, führen Sie folgenden Befehl aus: sudo pip install boto3

    3. Klonen Sie den Skriptquellcode von https://github.com/aws-samples/amazon-detective-multiaccount-scripts.

Erstellen einer .csv-Liste von Mitgliedskonten, die hinzugefügt oder entfernt werden sollen

Um die Mitgliedskonten zu identifizieren, die zu den Verhaltensdiagrammen hinzugefügt oder daraus entfernt werden sollen, stellen Sie eine .csv-Datei bereit, die die Liste der Konten enthält.

Führen Sie jedes Konto in einer separaten Zeile auf. Jeder Mitgliedskontoeintrag enthält die AWS Konto-ID und die Root-Benutzer-E-Mail-Adresse des Kontos.

Sehen Sie sich das folgende Beispiel an:

111122223333,srodriguez@example.com 444455556666,rroe@example.com

Ausführen von enableDetective.py

Sie können das enableDetective.py-Skript von einer EC2-Instanz oder Ihrem lokalen Computer aus ausführen.

So führen Sie enableDetective.py aus
  1. Kopieren Sie die .csv-Datei in das amazon-detective-multiaccount-scripts-Verzeichnis auf Ihrer EC2-Instance oder Ihrem lokalen Computer.

  2. Wechseln Sie in das amazon-detective-multiaccount-scripts-Verzeichnis.

  3. Führen Sie das enableDetective.py-Skript aus.

    enableDetective.py --master_account administratorAccountID --assume_role roleName --input_file inputFileName --tags tagValueList --enabled_regions regionList --disable_email

Ersetzen Sie bei der Ausführung des Skripts die folgenden Werte:

administratorAccountID

Die AWS Konto-ID für das Administratorkonto.

roleName

Der Name der AWS Rolle, die im Administratorkonto und in jedem Mitgliedskonto übernommen werden soll.

inputFileName

Der Name der .csv-Datei, die die Liste der Mitgliedskonten enthält, die zu den Verhaltensdiagrammen des Administratorkontos hinzugefügt werden sollen.

tagValueList

(Optional) Eine komma-getrennte Liste von Tag-Werten, die einem neuen Verhaltensdiagramm zugewiesen werden sollen.

Für jeden Tag-Wert lautet das Format key=value. Beispielsweise:

--tags Department=Finance,Geo=Americas
regionList

(Optional) Eine komma-getrennte Liste von Regionen, in denen die Mitgliedskonten dem Verhaltensdiagramm des Administratorkontos hinzugefügt werden sollen. Beispielsweise:

--enabled_regions us-east-1,us-east-2,us-west-2

Für das Administratorkonto ist Detective möglicherweise noch nicht in einer Region aktiviert. In diesem Fall aktiviert das Skript Detective und erstellt ein neues Verhaltensdiagramm für das Administratorkonto.

Wenn Sie keine Liste mit Regionen angeben, funktioniert das Skript in allen Regionen, die Detective unterstützt.

--disable_email

(Optional) Falls enthalten, sendet Detective keine Einladungs-E-Mails an die Mitgliedskonten.

Ausführen von disableDetective.py

Sie können das disableDetective.py-Skript von einer EC2-Instanz oder Ihrem lokalen Computer aus ausführen.

So führen Sie disableDetective.py aus
  1. Kopieren Sie die .csv-Datei in das Verzeichnis amazon-detective-multiaccount-scripts.

  2. Um die .csv-Datei zu verwenden, um die aufgelisteten Mitgliedskonten aus den Verhaltensdiagrammen des Administratorkontos in einer bestimmten Liste von Regionen zu löschen, führen Sie das disableDetective.py-Skript wie folgt aus:

    disabledetective.py --master_account administratorAccountID --assume_role roleName --input_file inputFileName --disabled_regions regionList
  3. Um Detective für das Administratorkonto in allen Regionen zu deaktivieren, führen Sie das disableDetective.py-Skript mit der --delete-master-Markierung aus.

    disabledetective.py --master_account administratorAccountID --assume_role roleName --input_file inputFileName --disabled_regions regionList --delete_master

Ersetzen Sie bei der Ausführung des Skripts die folgenden Werte:

administratorAccountID

Die AWS Konto-ID für das Administratorkonto.

roleName

Der Name der AWS Rolle, die im Administratorkonto und in jedem Mitgliedskonto übernommen werden soll.

inputFileName

Der Name der .csv-Datei, die die Liste der Mitgliedskonten enthält, die aus den Verhaltensdiagrammen des Administratorkontos entfernt werden sollen.

Sie müssen eine .csv-Datei bereitstellen, auch wenn Sie Detective deaktivieren.

regionList

(Optional) Eine komma-getrennte Liste von Regionen, in denen einer der folgenden Schritte ausgeführt werden kann:

  • Entfernen der Mitgliedskonten aus den Verhaltensdiagrammen des Administratorkontos.

  • Wenn das --delete-master-Flag enthalten ist, Detective deaktivieren.

Beispielsweise:

--disabled_regions us-east-1,us-east-2,us-west-2

Wenn Sie keine Liste mit Regionen angeben, funktioniert das Skript in allen Regionen, die Detective unterstützt.