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.
Blockieren Sie den öffentlichen Zugriff auf Amazon mithilfe RDS von Cloud Custodian
Erstellt von abhay kumar (AWS) und Dwarika Patra () AWS
Umwelt: Produktion | Technologien: Datenbanken; Sicherheit, Identität, Compliance | Arbeitslast: Alle anderen Workloads; Open Source |
AWSdienstleistungen: Amazon RDS |
Übersicht
Viele Unternehmen führen ihre Workloads und Dienste auf mehreren Cloud-Anbietern aus. In diesen Hybrid-Cloud-Umgebungen erfordert die Cloud-Infrastruktur zusätzlich zur Sicherheit, die von den einzelnen Cloud-Anbietern bereitgestellt wird, eine strenge Cloud-Governance. Eine Cloud-Datenbank wie Amazon Relational Database Service (AmazonRDS) ist ein wichtiger Dienst, der auf Zugriffs- und Berechtigungsschwachstellen überwacht werden muss. Sie können zwar den Zugriff auf die RDS Amazon-Datenbank einschränken, indem Sie eine Sicherheitsgruppe konfigurieren, aber Sie können eine zweite Schutzebene hinzufügen, um Aktionen wie den öffentlichen Zugriff zu verbieten. Wenn Sie sicherstellen, dass der öffentliche Zugang gesperrt ist, können Sie die allgemeine Datenschutzverordnung (GDPR), den Health Insurance Portability and Accountability Act (HIPAA), das National Institute of Standards and Technology (NIST) und den Payment Card Industry Data Security Standard (PCIDSS) einhalten.
Cloud Custodian ist eine Open-Source-Regel-Engine, mit der Sie Zugriffsbeschränkungen für Amazon Web Services (AWS) -Ressourcen wie Amazon durchsetzen können. RDS Mit Cloud Custodian können Sie Regeln festlegen, die die Umgebung anhand definierter Sicherheits- und Compliance-Standards validieren. Sie können Cloud Custodian verwenden, um Ihre Cloud-Umgebungen zu verwalten, indem Sie dazu beitragen, die Einhaltung von Sicherheitsrichtlinien, Tag-Richtlinien und die Müllsammlung ungenutzter Ressourcen sowie das Kostenmanagement sicherzustellen. Mit Cloud Custodian können Sie eine einzige Oberfläche für die Implementierung von Governance in einer Hybrid-Cloud-Umgebung verwenden. Sie könnten beispielsweise die Cloud Custodian-Schnittstelle verwenden, um mit Microsoft Azure zu interagieren AWS und so den Aufwand für die Arbeit mit Mechanismen wie AWS Config, AWS Sicherheitsgruppen und Azure-Richtlinien zu reduzieren.
Dieses Muster enthält Anweisungen zur Verwendung von Cloud CustodianAWS, um die Einschränkung des öffentlichen Zugriffs auf RDS Amazon-Instances durchzusetzen.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives Konto AWS
AWSLambda installiert
Architektur
Zieltechnologie-Stack
Amazon RDS
AWS CloudTrail
AWSLambda
Cloud Custodian
Zielarchitektur
Das folgende Diagramm zeigt, wie Cloud Custodian die Richtlinie für Lambda bereitstellt, das CreateDBInstance
Ereignis AWS CloudTrail auslöst und die Lambda-Funktion bei Amazon PubliclyAccessible
auf False gesetzt hat. RDS
Tools
AWSDienste
AWS CloudTrailhilft Ihnen bei der Prüfung der Unternehmensführung, der Einhaltung von Vorschriften und des Betriebsrisikos Ihres AWS Kontos.
AWSCommand Line Interface (AWSCLI) ist ein Open-Source-Tool, mit dem Sie mithilfe von Befehlen in Ihrer Befehlszeilen-Shell mit AWS Diensten interagieren können.
AWSIdentity 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.
AWSLambda ist ein Rechendienst, mit dem Sie Code ausführen können, ohne Server bereitstellen oder verwalten zu müssen. Er führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen.
Amazon Relational Database Service (AmazonRDS) unterstützt Sie bei der Einrichtung, dem Betrieb und der Skalierung einer relationalen Datenbank in der AWS Cloud.
Andere Tools
Cloud Custodian
vereint die Tools und Skripte, die viele Unternehmen zur Verwaltung ihrer Public-Cloud-Konten verwenden, in einem Open-Source-Tool. Es verwendet eine Engine für statuslose Regeln zur Definition und Durchsetzung von Richtlinien mit Metriken, strukturierten Ergebnissen und detaillierten Berichten für die Cloud-Infrastruktur. Sie lässt sich eng in eine serverlose Runtime integrieren, um Problembehebung und Reaktion in Echtzeit bei geringem Betriebsaufwand zu ermöglichen.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Installieren AWSCLI. | Folgen Sie zur Installation AWS CLI den Anweisungen in der AWSDokumentation. | AWSAdministrator |
AWSAnmeldeinformationen einrichten. | Konfigurieren Sie die Einstellungen, mit denen der AWS CLI Benutzer interagiertAWS, einschließlich der AWS Region und des Ausgabeformats, das Sie verwenden möchten.
Weitere Informationen finden Sie in der AWSDokumentation. | AWSAdministrator |
Erstellen Sie eine IAM Rolle. | Führen Sie den folgenden Befehl aus, um eine IAM Rolle mit der Lambda-Ausführungsrolle zu erstellen.
| AWS DevOps |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Installieren Sie Cloud Custodian. | Um Cloud Custodian für Ihr Betriebssystem und Ihre Umgebung zu installieren, folgen Sie den Anweisungen in der Cloud Custodian-Dokumentation | DevOps Ingenieur |
Überprüfen Sie das Cloud Custodian-Schema. | Verwenden Sie den folgenden Befehl, um die vollständige Liste der RDS Amazon-Ressourcen anzuzeigen, für die Sie Richtlinien ausführen können.
| DevOps Ingenieur |
Erstellen Sie die Cloud Custodian-Richtlinie. | Speichern Sie den Code, der sich unter der Cloud Custodian-Richtliniendatei im Abschnitt Zusätzliche Informationen befindet, mit einer YAML Erweiterung. | DevOps Ingenieur |
Definieren Sie Cloud Custodian-Aktionen, um die Kennzeichnung für öffentlich zugänglich zu ändern. |
| DevOps Ingenieur |
Führen Sie einen Probelauf durch. | (Optional) Verwenden Sie den folgenden Befehl, um zu überprüfen, welche Ressourcen durch die Richtlinie identifiziert werden, ohne Aktionen für die Ressourcen auszuführen.
| DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Stellen Sie die Richtlinie mithilfe von Lambda bereit. | Verwenden Sie den folgenden Befehl, um die Lambda-Funktion zu erstellen, mit der die Richtlinie ausgeführt wird.
Diese Richtlinie wird dann durch das AWS CloudTrail Daher setzt AWS Lambda das öffentlich zugängliche Flag für Instances, die den Kriterien entsprechen, auf False. | DevOps Ingenieur |
Zugehörige Ressourcen
Zusätzliche Informationen
YAMLRichtliniendatei für Cloud Custodian
policies: - name: "block-public-access" resource: rds description: | This Enforcement blocks public access for RDS instances. mode: type: cloudtrail events: - event: CreateDBInstance # Create RDS instance cloudtrail event source: rds.amazonaws.com ids: requestParameters.dBInstanceIdentifier role: arn:aws:iam::1234567890:role/Custodian-compliance-role filters: - type: event key: 'detail.requestParameters.publiclyAccessible' value: true actions: - type: set-public-access state: false
Datei rds.py für c7n-Ressourcen
@actions.register('set-public-access') class RDSSetPublicAvailability(BaseAction): schema = type_schema( "set-public-access", state={'type': 'boolean'}) permissions = ('rds:ModifyDBInstance',) def set_accessibility(self, r): client = local_session(self.manager.session_factory).client('rds') waiter = client.get_waiter('db_instance_available') waiter.wait(DBInstanceIdentifier=r['DBInstanceIdentifier']) client.modify_db_instance( DBInstanceIdentifier=r['DBInstanceIdentifier'], PubliclyAccessible=self.data.get('state', False)) def process(self, rds): with self.executor_factory(max_workers=2) as w: futures = {w.submit(self.set_accessibility, r): r for r in rds} for f in as_completed(futures): if f.exception(): self.log.error( "Exception setting public access on %s \n %s", futures[f]['DBInstanceIdentifier'], f.exception()) return rds
Integration von Security Hub
Cloud Custodian kann in AWSSecurity Hub integriert werden, um Sicherheitsergebnisse