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.
Entfernen Sie EC2 Amazon-Einträge AWS Managed Microsoft AD mithilfe AWS-Konten von AWS Lambda Automatisierung
Erstellt von Dr. Rahul Sharad Gaikwad () und Tamilselvan P () AWS AWS
Umgebung: PoC oder Pilotprojekt | Technologien: DevOps; Infrastruktur; Management und Unternehmensführung | Arbeitslast: Alle anderen Workloads |
AWSDienste: AWS Directory Service; Amazon; AmazonEC2; AWS Lambda EventBridge; AWS Systems Manager; AWS Auto Scaling |
Übersicht
Active Directory (AD) ist ein Microsoft-Skripttool, das Domäneninformationen und Benutzerinteraktionen mit Netzwerkdiensten verwaltet. Es wird häufig von Managed Services Providern (MSPs) verwendet, um die Anmeldeinformationen und Zugriffsberechtigungen von Mitarbeitern zu verwalten. Da AD-Angreifer mit inaktiven Konten versuchen können, sich in ein Unternehmen zu hacken, ist es wichtig, inaktive Konten zu finden und sie im Rahmen eines routinemäßigen Wartungsplans zu deaktivieren. Mit AWS Directory Service for Microsoft Active Directory können Sie Microsoft Active Directory als verwalteten Dienst ausführen. Dieses Muster kann Ihnen helfen, die AWS Lambda Automatisierung so zu konfigurieren, dass inaktive Konten schnell gefunden und entfernt werden.
Wenn die folgenden Szenarien auf Ihr Unternehmen zutreffen, kann Ihnen dieses Muster helfen:
Zentralisierte AD-Verwaltung — Wenn Ihr Unternehmen mehrere hat AWS-Konten, von denen jedes über eine eigene AD-Bereitstellung verfügt, kann es schwierig sein, Benutzerkonten und Zugriffsberechtigungen für alle Konten einheitlich zu verwalten. Mit einer kontenübergreifenden AD-Bereinigungslösung können Sie inaktive Konten aus allen AD-Instanzen zentral deaktivieren oder entfernen.
AD-Restrukturierung oder -Migration — Wenn Ihr Unternehmen plant, seine AD-Bereitstellung umzustrukturieren oder zu migrieren, kann Ihnen eine kontenübergreifende AD-Bereinigungslösung dabei helfen, die Umgebung vorzubereiten. Die Lösung kann Ihnen helfen, unnötige oder inaktive Konten zu entfernen, den Migrationsprozess zu vereinfachen und potenzielle Konflikte oder Probleme zu reduzieren.
Wenn Sie dieses Muster verwenden, können Sie die folgenden Vorteile nutzen:
Verbessern Sie die Datenbank- und Serverleistung und beheben Sie Sicherheitslücken, die auf inaktive Konten zurückzuführen sind.
Wenn Ihr AD-Server in der Cloud gehostet wird, kann das Entfernen inaktiver Konten auch die Speicherkosten senken und gleichzeitig die Leistung verbessern. Ihre monatlichen Rechnungen könnten sinken, da sowohl die Bandbreitenkosten als auch die Rechenressourcen sinken können.
Halten Sie potenzielle Angreifer mit einem sauberen Active Directory in Schach.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives Elternkonto AWS-Konto und ein oder mehrere Kinderkonten. In diesem Muster wird Active Directory für ein übergeordnetes Konto erstellt. Untergeordnete Konten hosten Windows-Server und werden über das übergeordnete Konto Active Directory miteinander verbunden.
Git wurde auf einer lokalen Workstation installiert
und konfiguriert. Terraform wurde auf einer lokalen Workstation installiert
und konfiguriert. AWS Managed Microsoft AD Verzeichnis, das im übergeordneten Konto konfiguriert und für alle untergeordneten Konten gemeinsam genutzt wird. Weitere Informationen finden Sie im AWS Directory Service Administratorhandbuch unter Tutorial: Teilen Ihres AWS Managed Microsoft AD Verzeichnisses für einen nahtlosen EC2 Domänenbeitritt.
Eine virtuelle private Cloud (VPC) -Peering-Verbindung oder AWS Transit Gateway Verbindung, die zwischen den Instances VPC von AWS Directory Service (übergeordnetem Konto) und den VPC Amazon Elastic Compute Cloud (AmazonEC2) -Instances (untergeordnete Konten) verfügbar ist. Weitere Informationen finden Sie unter Konfiguration einer VPC Peering-Verbindung zwischen dem Verzeichnisinhaber und dem Directory-Benutzerkonto im AWS Directory Service Administratorhandbuch.
Ein Windows-Computer, der mit dem
EC2WindowsUserdata
Skript für alle Eltern- und Kinderkonten konfiguriert wurde. Die Skriptdatei ist im Stammverzeichnis des Code-Repositorysdieses Musters verfügbar. Eine kontoübergreifende Rolle AWS Identity and Access Management (IAM), die für jedes untergeordnete Konto verfügbar ist und mit einer Vertrauensrichtlinie konfiguriert ist, die die Verwendung einer AWS Lambda Funktion aus dem übergeordneten Konto ermöglicht. Weitere Informationen finden Sie unter Senden und Empfangen von Ereignissen zwischen AWS-Konten EventBridge in Amazon im EventBridge Amazon-Benutzerhandbuch.
Die folgenden geheimen Werte sind im AWS Systems Manager Parameter Store des übergeordneten Kontos verfügbar:
domainJoinUser
— Benutzername des VerzeichnisdienstesdomainJoinPassword
— Passwort des Verzeichnisdienstes
Weitere Informationen zu Geheimnissen finden Sie unter Create an AWS Secrets Manager Secret im AWS Secrets Manager Benutzerhandbuch.
Einschränkungen
Das Erstellen einer Ressource in einem Kinderkonto ist mit Terraform nicht automatisiert. Sie müssen die folgenden Ressourcen manuell mithilfe von erstellen: AWS Management Console
EventBridge Amazon-Regel zum Senden der EC2 Kündigungsereignisse von Amazon an das übergeordnete Konto
Erstellung einer EC2 kontoübergreifenden Amazon-Rolle im Kinderkonto mit Vertrauensrichtlinie
VPCPeering- oder Transit Gateway Gateway-Verbindung
Einige AWS-Services sind nicht in allen AWS-Regionen verfügbar. Informationen zur Verfügbarkeit in den einzelnen Regionen finden Sie AWS-Services unter Nach Regionen
. Informationen zu bestimmten Endpunkten finden Sie unter Dienstendpunkte und Kontingente. Wählen Sie dort den Link für den Dienst aus.
Produktversionen
Architektur
Das folgende Diagramm zeigt die High-Level-Architektur der Lösung.
Das Architekturdiagramm veranschaulicht den folgenden Prozess:
Bei Kinderkonten erfasst die EventBridge Regel alle EC2 Kündigungsereignisse von Amazon. Die Regel sendet die Ereignisse, EventBridge die im übergeordneten Konto vorhanden sind.
EventBridge Sammelt aus dem übergeordneten Konto alle Ereignisse und enthält die Regel zum Auslösen der Lambda-Funktion
ADcleanup-Lambda
.Das übergeordnete Konto empfängt alle Kündigungsereignisse vom Eltern- oder Kinderkonto und löst die Lambda-Funktion aus.
Die Lambda-Funktion ruft Amazon EC2 Auto Scaling Scaling-Gruppen mithilfe des Python-Boto-Moduls auf und ruft die zufällige Instanz-ID ab. Die Instanz-ID wird verwendet, um Systems Manager Manager-Befehle auszuführen.
Die Lambda-Funktion ruft Amazon EC2 mithilfe des Boto-Moduls erneut auf. Die Lambda-Funktion ruft die privaten IP-Adressen der laufenden Windows-Server ab und speichert die Adressen in einer temporären Variablen. In den Schritten 5.1 und 5.2 werden die laufenden EC2 Windows-Instanzen von untergeordneten Konten erfasst.
Die Lambda-Funktion ruft Systems Manager erneut auf, um die Computerinformationen abzurufen, mit denen eine Verbindung hergestellt ist. AWS Directory Service
Ein AWS Systems Manager Dokument hilft dabei, den PowerShell Befehl auf Amazon EC2 Windows-Servern auszuführen, um die privaten IP-Adressen der Computer abzurufen, die mit AD verbunden sind. (Das Systems Manager Manager-Dokument verwendet die Instanz-ID, die in Schritt 4 abgerufen wurde.)
Der Benutzername und die Kennwörter der AD-Domäne werden im AWS Systems Manager Parameterspeicher gespeichert. AWS Lambda und Systems Manager rufen Parameter Store auf und rufen die Werte für Benutzername und Passwort ab, die für die Verbindung mit AD verwendet werden sollen.
Mithilfe des Systems Manager Manager-Dokuments wird das PowerShell Skript auf dem Amazon EC2 Windows-Server unter Verwendung der zuvor in Schritt 4 abgerufenen Instance-ID ausgeführt.
Amazon EC2 stellt mithilfe AWS Directory Service von PowerShell Befehlen eine Verbindung her und entfernt die Computer, die nicht verwendet oder inaktiv sind.
Tools
AWS Dienstleistungen
AWS Directory Servicebietet mehrere Möglichkeiten, Microsoft Active Directory (AD) mit anderen AWS-Services wie Amazon Elastic Compute Cloud (AmazonEC2), Amazon Relational Database Service (AmazonRDS) for SQL Server und Amazon FSx for Windows File Server zu verwenden.
AWS Directory Service for Microsoft Active Directoryermöglicht Ihren verzeichnissensitiven Workloads und AWS Ressourcen die Verwendung von Microsoft Active Directory in der. AWS Cloud
Amazon Elastic Compute Cloud (AmazonEC2) bietet skalierbare Rechenkapazität in der AWS Cloud. Sie können so viele virtuelle Server wie nötig nutzen und sie schnell nach oben oder unten skalieren.
Amazon EventBridge ist ein serverloser Event-Bus-Service, mit dem Sie Ihre Anwendungen mit Echtzeitdaten aus einer Vielzahl von Quellen verbinden können. Zum Beispiel AWS Lambda Funktionen, HTTP Aufruf-Endpunkte, die API Ziele verwenden, oder Event-Busse in anderen. AWS-Konten
AWS Identity and Access Management (IAM) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden. Mit können Sie festlegenIAM, wer oder was auf Dienste und Ressourcen zugreifen kann AWS, detaillierte Berechtigungen zentral verwalten und den Zugriff analysieren, um die Berechtigungen übergreifend zu verfeinern. AWS
AWS Lambda ist ein Datenverarbeitungsservice, mit dem Sie Code ausführen können, ohne dass Sie Server bereitstellen oder verwalten müssen. Es führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen.
AWS Systems Managerhilft Ihnen bei der Verwaltung Ihrer Anwendungen und Infrastruktur, die in der ausgeführt AWS Cloud werden. Es vereinfacht das Anwendungs- und Ressourcenmanagement, verkürzt die Zeit für die Erkennung und Lösung betrieblicher Probleme und hilft Ihnen, Ihre AWS Ressourcen sicher und in großem Umfang zu verwalten.
AWS Systems Manager Dokumente definieren die Aktionen, die Systems Manager auf Ihren verwalteten Instanzen ausführt. Systems Manager umfasst mehr als 100 vorkonfigurierter Dokumente, die Sie verwenden können, indem Sie zur Laufzeit Parameter angeben.
AWS Systems Manager Parameter Store ist eine Funktion von AWS Systems Manager und bietet sicheren, hierarchischen Speicher für die Verwaltung von Konfigurationsdaten und Geheimnissen.
Andere Tools
HashiCorp Terraform
ist ein Open-Source-Tool für Infrastruktur als Code (IaC), mit dem Sie mithilfe von Code Cloud-Infrastruktur und -Ressourcen bereitstellen und verwalten können. PowerShell
ist ein Automatisierungs- und Konfigurationsverwaltungsprogramm von Microsoft, das unter Windows, Linux und macOS läuft. Python
ist eine Allzweck-Computerprogrammiersprache.
Code-Repository
Der Code für dieses Muster ist im Repository GitHub aws-lambda-ad-cleanup-terraform-samples
Bewährte Methoden
Automatisch Domains beitreten.Wenn Sie eine Windows-Instanz starten, die Teil einer AWS Directory Service Domäne sein soll, treten Sie der Domäne während der Instanzerstellung bei, anstatt die Instanz später manuell hinzuzufügen. Um einer Domäne automatisch beizutreten, wählen Sie beim Starten einer neuen Instanz das richtige Verzeichnis aus der Dropdownliste zum Domänenbeitrittsverzeichnis aus. Weitere Informationen finden Sie unter Nahtloses Hinzufügen einer Amazon EC2 Windows-Instance zu Ihrem AWS Managed Microsoft AD Active Directory im AWS Directory Service Administratorhandbuch.
Löschen Sie ungenutzte Konten.Es ist üblich, in AD Konten zu finden, die noch nie verwendet wurden. Wie deaktivierte oder inaktive Konten, die im System verbleiben, können vernachlässigte, ungenutzte Konten Ihr AD-System verlangsamen oder Ihr Unternehmen anfällig für Datenschutzverletzungen machen.
Automatisieren Sie Active Directory-Säuberungen.Um Sicherheitsrisiken zu minimieren und zu verhindern, dass veraltete Konten die AD-Leistung beeinträchtigen, sollten AD-Bereinigungen in regelmäßigen Abständen durchgeführt werden. Sie können die meisten AD-Verwaltungs- und Bereinigungsaufgaben erledigen, indem Sie Skripts schreiben. Zu den Aufgaben gehören beispielsweise das Entfernen deaktivierter und inaktiver Konten, das Löschen leerer und inaktiver Gruppen und das Auffinden abgelaufener Benutzerkonten und Kennwörter.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie eine kontoübergreifende Rolle im Kinderkonto. | Gehen Sie wie folgt vor, um eine kontoübergreifende Rolle in einem Kinderkonto zu erstellen:
| DevOps Ingenieur |
Erstellen Sie eine Ereignisregel im Kinderkonto. | Gehen Sie wie folgt vor, um für jedes Kinderkonto eine EventBridge Regel zu erstellen:
Weitere Informationen finden Sie im EventBridge Amazon-Benutzerhandbuch unter Regeln erstellen, die auf Ereignisse EventBridge in Amazon reagieren. | DevOps Ingenieur |
Erstellen Sie eine EC2 Instanz und treten Sie AD bei. | Gehen Sie wie folgt vor, um eine EC2 Instanz für Windows zu erstellen:
| DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie einen Projektordner und fügen Sie die Dateien hinzu. | Gehen Sie wie folgt vor, um das Repository zu klonen und einen Projektordner zu erstellen:
| DevOps Ingenieur |
Erstellen Sie die | Führen Sie den folgenden Befehl aus, um die
| DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Geben Sie Werte für die Terraform-Variablen an. | Geben Sie für das untergeordnete Konto Werte für die folgenden
| DevOps Ingenieur |
Initialisieren Sie die Terraform-Konfiguration. | Führen Sie den folgenden Befehl aus, um Ihr Arbeitsverzeichnis zu initialisieren, das die Terraform-Dateien enthält:
| DevOps Ingenieur |
Änderungen in der Vorschau anzeigen. | Sie können eine Vorschau der Änderungen anzeigen, die Terraform an der Infrastruktur vornehmen wird, bevor Ihre Infrastruktur bereitgestellt wird. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Terraform die Änderungen nach Bedarf vornimmt:
| DevOps Ingenieur |
Führen Sie die vorgeschlagenen Aktionen aus. | Gehen Sie wie folgt vor, um zu überprüfen, ob die Ergebnisse des
| DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Führen Sie die Lambda-Funktion aus und testen Sie sie. | Gehen Sie wie folgt vor, um zu überprüfen, ob die Bereitstellung erfolgreich durchgeführt wurde:
Die Ausführungsergebnisse zeigen die Ausgabe der Funktion. | DevOps Ingenieur |
Ergebnisse der EventBridge Regelausführung vom übergeordneten Konto aus anzeigen | Gehen Sie wie folgt vor, um die Ergebnisse der EventBridge Regel anzuzeigen, die auf EC2 Kündigungsereignissen durch Amazon vom übergeordneten Konto aus basiert:
In der CloudWatch Konsole werden auf der Seite Protokollgruppen die Ergebnisse der Lambda-Funktion angezeigt. | DevOps Ingenieur |
Ergebnisse der EventBridge Regelausführung vom untergeordneten Konto aus anzeigen | Gehen Sie wie folgt vor, um die Ergebnisse der EventBridge Regel anzuzeigen, die auf EC2 Kündigungsereignissen von Amazon für das Kinderkonto basiert:
In der CloudWatch Konsole werden auf der Seite Protokollgruppen die Ergebnisse der Lambda-Funktion angezeigt. | DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Säubere die Infrastruktur. | Verwenden Sie den folgenden Befehl, um die von Ihnen erstellte Infrastruktur zu bereinigen:
Um den | DevOps Ingenieur |
Nach der Säuberung überprüfen. | Stellen Sie sicher, dass die Ressourcen erfolgreich entfernt wurden. | DevOps Ingenieur |
Fehlerbehebung
Problem | Lösung |
---|---|
Verbindungsproblem zwischen AWS Directory Service (Elternkonto) und EC2 Amazon-Instance (Kinderkonto) — Sie können die Computer des Kinderkontos nicht mit AD verbinden, obwohl VPC Peering verfügbar ist. | Fügen Sie Routing hinzu in. VPCs Anweisungen finden Sie in der AWS Directory Service Dokumentation unter Konfigurieren einer VPC Peering-Verbindung zwischen dem Verzeichnisbesitzer und dem Directory-Benutzerkonto. |
Zugehörige Ressourcen
AWS Dokumentation
Sonstige Ressourcen
AWS Anbieter
(Terraform-Dokumentation) Python-Boto-Modul
(Python-Paketindex-Repository) Laden Sie die Terraform-Binärdatei herunter
(Terraform-Dokumentation)