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.
Automatisches Korrigieren unverschlüsselter Amazon RDS DB-Instances und -Cluster
Erstellt von Ajay Rawat (AWS) und Josh Joy () AWS
Umgebung: PoC oder Pilot | Technologien: Sicherheit, Identität, Compliance; Datenbanken | AWSDienste: AWS Config AWSKMS; AWS Identity and Access Management; AWS Systems Manager; Amazon RDS |
Übersicht
Dieses Muster beschreibt, wie unverschlüsselte Amazon Relational Database Service (AmazonRDS) -DB-Instances und -Cluster auf Amazon Web Services (AWS) mithilfe von AWS Config-, AWS Systems Manager Manager-Runbooks und AWS Key Management Service () -Schlüsseln automatisch behoben werden. AWS KMS
Verschlüsselte RDS DB-Instances bieten eine zusätzliche Datenschutzebene, indem sie Ihre Daten vor unbefugtem Zugriff auf den zugrunde liegenden Speicher schützen. Sie können die RDS Amazon-Verschlüsselung verwenden, um den Datenschutz Ihrer in der AWS Cloud bereitgestellten Anwendungen zu verbessern und die Compliance-Anforderungen für die Verschlüsselung im Ruhezustand zu erfüllen. Sie können die Verschlüsselung für eine RDS DB-Instance aktivieren, wenn Sie sie erstellen, aber nicht, nachdem sie erstellt wurde. Sie können einer unverschlüsselten RDS DB-Instance jedoch Verschlüsselung hinzufügen, indem Sie einen Snapshot Ihrer DB-Instance und anschließend eine verschlüsselte Kopie dieses Snapshots erstellen. Anschließend können Sie eine DB-Instance aus dem verschlüsselten Snapshot wiederherstellen, um eine verschlüsselte Kopie Ihrer ursprünglichen DB-Instance zu erhalten.
Dieses Muster verwendet AWS Config-Regeln, um RDS DB-Instances und -Cluster auszuwerten. Es wendet die Problembehebung mithilfe von AWS Systems Manager Manager-Runbooks an, in denen die Aktionen für nicht konforme RDS Amazon-Ressourcen und AWS KMS Schlüssel zum Verschlüsseln der DB-Snapshots definiert werden. Anschließend werden Richtlinien zur Servicesteuerung (SCPs) durchgesetzt, um die Erstellung neuer DB-Instances und Cluster ohne Verschlüsselung zu verhindern.
Den Code für dieses Muster finden Sie unter GitHub
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives AWS Konto
Dateien aus dem GitHub Quellcode-Repository
für dieses Muster wurden auf Ihren Computer heruntergeladen Eine unverschlüsselte RDS DB-Instance oder ein Cluster
Ein vorhandener AWS KMS Schlüssel zum Verschlüsseln von RDS DB-Instances und Clustern
Zugriff zur Aktualisierung der KMS wichtigsten Ressourcenrichtlinie
AWSDie Konfiguration ist in Ihrem AWS Konto aktiviert (siehe Erste Schritte mit AWS Config in der AWS Dokumentation)
Einschränkungen
Sie können die Verschlüsselung für eine RDS DB-Instance nur aktivieren, wenn Sie sie erstellen, nicht nachdem sie erstellt wurde.
Es ist nicht möglich, ein verschlüsseltes Lesereplikat einer unverschlüsselten DB-Instance oder ein unverschlüsseltes Lesereplikat einer verschlüsselten DB-Instance zu erstellen.
Sie können ein unverschlüsseltes Backup oder einen solchen Snapshot nicht als verschlüsselte DB-Instance wiederherstellen.
Die RDS Amazon-Verschlüsselung ist für die meisten DB-Instance-Klassen verfügbar. Eine Liste der Ausnahmen finden Sie in der RDSAmazon-Dokumentation unter Verschlüsseln von RDS Amazon-Ressourcen.
Um einen verschlüsselten Snapshot von einer AWS Region in eine andere zu kopieren, müssen Sie den KMS Schlüssel in der AWS Zielregion angeben. Das liegt daran, dass KMS Schlüssel für die AWS Region spezifisch sind, in der sie erstellt wurden.
Der Quell-Snapshot bleibt den gesamten Kopiervorgang über verschlüsselt. Amazon RDS verwendet Umschlagverschlüsselung, um Daten während des Kopiervorgangs zu schützen. Weitere Informationen finden Sie in der AWS KMS Dokumentation unter Umschlagverschlüsselung.
Eine verschlüsselte DB-Instance kann nicht entschlüsselt werden. Sie können jedoch Daten aus einer verschlüsselten DB-Instance exportieren und die Daten in eine unverschlüsselte DB-Instance importieren.
Sie sollten einen KMS Schlüssel nur löschen, wenn Sie sicher sind, dass Sie ihn nicht mehr benötigen. Wenn Sie sich nicht sicher sind, sollten Sie erwägen, den KMS Schlüssel zu deaktivieren, anstatt ihn zu löschen. Sie können einen deaktivierten KMS Schlüssel erneut aktivieren, wenn Sie ihn später erneut verwenden müssen, aber Sie können einen gelöschten KMS Schlüssel nicht wiederherstellen.
Wenn Sie sich nicht dafür entscheiden, automatische Backups beizubehalten, werden Ihre automatisierten Backups, die sich in derselben AWS Region wie die DB-Instance befinden, gelöscht. Sie können nicht wiederhergestellt werden, nachdem Sie die DB-Instance gelöscht haben.
Ihre automatisierten Backups werden für den Aufbewahrungszeitraum aufbewahrt, der auf der DB-Instance zum Zeitpunkt des Löschens festgelegt ist. Dieser festgelegte Aufbewahrungszeitraum tritt unabhängig davon ein, ob Sie einen endgültigen DB-Snapshot erstellen möchten oder nicht.
Wenn die automatische Wiederherstellung aktiviert ist, verschlüsselt diese Lösung alle Datenbanken, die denselben KMS Schlüssel haben.
Architektur
Das folgende Diagramm veranschaulicht die Architektur für die AWS CloudFormation Implementierung. Beachten Sie, dass Sie dieses Muster auch mithilfe des AWS Cloud Development Kit (AWSCDK) implementieren können.
Tools
Tools
AWS CloudFormation
hilft Ihnen bei der automatischen Einrichtung Ihrer AWS Ressourcen. Es ermöglicht Ihnen, eine Vorlagendatei zu verwenden, um eine Sammlung von Ressourcen zu einer einzigen Einheit (einem Stapel) zu erstellen und zu löschen. AWSCloud Development Kit (AWSCDK)
ist ein Softwareentwicklungsframework, mit dem Sie Ihre Cloud-Infrastruktur im Code definieren und mithilfe vertrauter Programmiersprachen bereitstellen können.
AWSDienste und Funktionen
AWSConfig
verfolgt die Konfiguration Ihrer AWS Ressourcen und deren Beziehungen zu Ihren anderen Ressourcen. Es kann diese AWS Ressourcen auch auf ihre Einhaltung überprüfen. Dieser Dienst verwendet Regeln, die konfiguriert werden können, um AWS Ressourcen anhand der gewünschten Konfigurationen zu bewerten. Sie können eine Reihe von von AWS Config verwalteten Regeln für allgemeine Compliance-Szenarien verwenden oder Sie können Ihre eigenen Regeln für benutzerdefinierte Szenarien erstellen. Wenn festgestellt wird, dass eine AWS Ressource nicht konform ist, können Sie in einem AWS Systems Manager Manager-Runbook eine Abhilfemaßnahme angeben und optional eine Warnung über ein Amazon Simple Notification Service (AmazonSNS) -Thema senden. Mit anderen Worten, Sie können Behebungsaktionen mit AWS Config-Regeln verknüpfen und festlegen, dass sie automatisch ausgeführt werden, um nicht konforme Ressourcen ohne manuelles Eingreifen zu beheben. Wenn eine Ressource nach der automatischen Korrektur immer noch nicht konform ist, können Sie die Regel so einrichten, dass die automatische Korrektur erneut versucht wird. Amazon Relational Database Service (AmazonRDS)
erleichtert die Einrichtung, den Betrieb und die Skalierung einer relationalen Datenbank in der Cloud. Der grundlegende Baustein von Amazon RDS ist die DB-Instance, eine isolierte Datenbankumgebung in der AWS Cloud. Amazon RDS bietet eine Auswahl an Instance-Typen , die für verschiedene Anwendungsfälle relationaler Datenbanken optimiert sind. Instance-Typen bestehen aus verschiedenen Kombinationen von CPU Arbeitsspeicher-, Speicher- und Netzwerkkapazität und bieten Ihnen die Flexibilität, den geeigneten Ressourcenmix für Ihre Datenbank auszuwählen. Jeder Instance-Typ umfasst mehrere Instance-Größen, sodass Sie Ihre Datenbank an die Anforderungen Ihres Ziel-Workloads anpassen können. AWSDer Key Management Service (AWSKMS)
ist ein verwalteter Dienst, mit dem Sie auf einfache Weise AWS KMS Schlüssel erstellen und steuern können, mit denen Ihre Daten verschlüsselt werden. Ein KMS Schlüssel ist eine logische Darstellung eines Stammschlüssels. Der KMS Schlüssel umfasst Metadaten wie die Schlüssel-ID, das Erstellungsdatum, die Beschreibung und den Schlüsselstatus. AWSMit Identity and Access Management (IAM)
können Sie den Zugriff auf Ihre AWS Ressourcen sicher verwalten, indem Sie kontrollieren, wer authentifiziert und autorisiert ist, diese zu verwenden. Richtlinien zur Dienstkontrolle (SCPs) bieten eine zentrale Kontrolle über die maximal verfügbaren Berechtigungen für alle Konten in Ihrer Organisation. SCPshelfen Ihnen dabei, sicherzustellen, dass Ihre Konten die Richtlinien für die Zugriffskontrolle Ihrer Organisation einhalten. SCPswirken sich nicht auf Benutzer oder Rollen im Verwaltungskonto aus. Sie wirken sich nur auf die Mitgliedskonten Ihrer Organisation aus. Es wird dringend empfohlen, dass Sie keine SCPs Verbindung zum Stammverzeichnis Ihrer Organisation herstellen, ohne die Auswirkungen der Richtlinie auf Konten gründlich zu testen. Erstellen Sie stattdessen eine Organisationseinheit (OU), in die Sie Ihre Konten einzeln oder zumindest in geringer Anzahl verschieben können, um sicherzustellen, dass Sie Benutzer nicht versehentlich von wichtigen Diensten ausschließen.
Code
Der Quellcode und die Vorlagen für dieses Muster sind in einem Repository verfügbar. GitHub
Der Abschnitt Epics enthält step-by-step Anweisungen zur Bereitstellung der CloudFormation Vorlage. Wenn Sie die verwenden möchten AWSCDK, folgen Sie den Anweisungen in der README .md-Datei im GitHub Repository.
Bewährte Methoden
Aktivieren Sie die Datenverschlüsselung sowohl im Ruhezustand als auch bei der Übertragung.
Aktivieren Sie AWS Config in allen Konten und AWS Regionen.
Zeichnen Sie Konfigurationsänderungen für alle Ressourcentypen auf.
Wechseln Sie regelmäßig die IAM-Anmeldeinformationen.
Nutzen Sie Tagging for AWS Config, um Ressourcen einfacher zu verwalten, zu suchen und zu filtern.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Laden Sie die CloudFormation Vorlage herunter. | Laden Sie die | DevOps Ingenieur |
Erstellen Sie den CloudFormation Stapel. |
Weitere Informationen zum Bereitstellen von Vorlagen finden Sie in der AWS CloudFormation Dokumentation. | DevOps Ingenieur |
Überprüfen Sie CloudFormation die Parameter und Werte. |
| DevOps Ingenieur |
Überprüfen Sie die Ressourcen. | Wenn der Stack erstellt wurde, ändert sich sein Status auf CREATE_ COMPLETE. Überprüfen Sie die erstellten Ressourcen (IAMRolle, AWS Systems Manager Manager-Runbook) in der CloudFormation Konsole. | DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Aktualisieren Sie Ihre KMS wichtigsten Richtlinien. |
| DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Ressourcen anzeigen, die nicht den Vorschriften entsprechen. |
Bei den in der AWS Config-Konsole aufgeführten nicht konformen Ressourcen handelt es sich um Instanzen, nicht um Cluster. Die automatische Problembehebung verschlüsselt Instanzen und Cluster und erstellt entweder eine neu verschlüsselte Instanz oder einen neu erstellten Cluster. Achten Sie jedoch darauf, nicht mehrere Instanzen gleichzeitig zu standardisieren, die zu demselben Cluster gehören. Bevor Sie RDS DB-Instances oder Volumes standardisieren, stellen Sie sicher, dass die RDS DB-Instance nicht verwendet wird. Stellen Sie sicher, dass während der Erstellung des Snapshots keine Schreibvorgänge stattfinden, um sicherzustellen, dass der Snapshot die Originaldaten enthält. Erwägen Sie, ein Wartungsfenster vorzuschreiben, in dem die Problembehebung ausgeführt wird. | DevOps Ingenieur |
Korrigieren Sie Ressourcen, die nicht den Vorschriften entsprechen. |
| DevOps Ingenieur |
Stellen Sie sicher, dass die RDS DB-Instance verfügbar ist. | Nach Abschluss der Automatisierung wird die neu verschlüsselte RDS DB-Instance verfügbar. Die verschlüsselte RDS DB-Instance wird das Präfix | DevOps Ingenieur |
Beenden Sie die unverschlüsselte Instanz. | Nachdem die Wiederherstellung abgeschlossen ist und die neu verschlüsselte Ressource validiert wurde, können Sie die unverschlüsselte Instanz beenden. Stellen Sie sicher, dass die neu verschlüsselte Ressource mit der unverschlüsselten Ressource übereinstimmt, bevor Sie Ressourcen beenden. | DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
DurchsetzenSCPs. | Erzwingen SCPs Sie es, um zu verhindern, dass DB-Instances und -Cluster in future ohne Verschlüsselung erstellt werden. Verwenden Sie zu diesem Zweck die | Sicherheitsingenieur |
Zugehörige Ressourcen
Referenzen
Tools
Anleitungen und Muster
Zusätzliche Informationen
FAQ
F: Wie funktioniert AWS Config?
Antwort: Wenn Sie AWS Config aktivieren, werden zunächst die unterstützten AWS Ressourcen erkannt, die in Ihrem Konto vorhanden sind, und für jede Ressource wird ein Konfigurationselement generiert. AWSConfig generiert auch Konfigurationselemente, wenn sich die Konfiguration einer Ressource ändert, und verwaltet historische Aufzeichnungen der Konfigurationselemente Ihrer Ressourcen ab dem Zeitpunkt, an dem Sie den Konfigurationsrekorder starten. Standardmäßig erstellt AWS Config Konfigurationselemente für jede unterstützte Ressource in der AWS Region. Wenn Sie nicht möchten, dass AWS Config Konfigurationselemente für alle unterstützten Ressourcen erstellt, können Sie die Ressourcentypen angeben, die es verfolgen soll.
F: Wie hängen AWS Config- und AWS Config-Regeln mit AWS Security Hub zusammen?
A. AWS Security Hub ist ein Sicherheits- und Compliance-Dienst, der Sicherheits- und Compliance-Statusmanagement als Service anbietet. Es verwendet AWS AWS Config- und Config-Regeln als primären Mechanismus, um die Konfiguration von AWS Ressourcen zu bewerten. AWSKonfigurationsregeln können auch verwendet werden, um die Ressourcenkonfiguration direkt auszuwerten. Konfigurationsregeln werden auch von anderen AWS Diensten wie AWS Control Tower und AWS Firewall Manager verwendet.