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.
Überwachen Sie ECR Amazon-Repositorys mithilfe AWS CloudFormation von and Config auf Platzhalterberechtigungen AWS
Erstellt von Vikrant Telkar (AWS), Sajid Momin () und Wassim Benhallam (AWS) AWS
Umwelt: Produktion | Technologien: DevOps Container und Mikroservices | AWSDienste: AWS CloudFormation; AWS Config; AmazonECR; AmazonSNS; AWS Lambda |
Übersicht
In der Amazon Web Services (AWS) Cloud ist Amazon Elastic Container Registry (AmazonECR) ein verwalteter Container-Image-Registry-Service, der private Repositorys mit ressourcenbasierten Berechtigungen mithilfe von AWS Identity and Access Management () unterstützt. IAM
IAMunterstützt den Platzhalter „*
“ sowohl in den Ressourcen- als auch in den Aktionsattributen, was die automatische Auswahl mehrerer übereinstimmender Elemente erleichtert. In Ihrer Testumgebung können Sie allen authentifizierten AWS Benutzern den Zugriff auf ein ECR Amazon-Repository ermöglichen, indem Sie die ecr:*
Platzhalterberechtigung in einem Hauptelement für Ihre Repository-Richtlinienerklärung verwenden. Die ecr:*
Platzhalterberechtigung kann nützlich sein, wenn Sie in Entwicklungskonten entwickeln und testen, die nicht auf Ihre Produktionsdaten zugreifen können.
Sie müssen jedoch sicherstellen, dass die ecr:*
Platzhalterberechtigung in Ihren Produktionsumgebungen nicht verwendet wird, da sie schwerwiegende Sicherheitslücken verursachen kann. Der Ansatz dieses Musters hilft Ihnen dabei, ECR Amazon-Repositorys zu identifizieren, die die ecr:*
Platzhalterberechtigung in Repository-Richtlinienerklärungen enthalten. Das Muster enthält Schritte und eine AWS CloudFormation Vorlage zum Erstellen einer benutzerdefinierten Regel in AWS Config. Eine AWS Lambda-Funktion überwacht dann Ihre ECR Amazon-Repository-Richtlinienanweisungen auf ecr:*
Platzhalterberechtigungen. Wenn Lambda feststellt, dass nicht konforme Repository-Richtlinienerklärungen vorliegen, benachrichtigt es AWS Config, ein Ereignis an Amazon zu senden, EventBridge und leitet EventBridge dann ein Amazon Simple Notification Service (Amazon) -Thema ein. SNS Das SNS Thema informiert Sie per E-Mail über die nicht konformen Repository-Richtlinienerklärungen.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives AWS-Konto.
AWSBefehlszeilenschnittstelle (AWSCLI), installiert und konfiguriert. Weitere Informationen dazu finden Sie AWS CLI in der AWS CLI Dokumentation unter Installation, Aktualisierung und Deinstallation von.
Ein vorhandenes ECR Amazon-Repository mit einer angehängten Richtlinienerklärung, das in Ihrer Testumgebung installiert und konfiguriert wurde. Weitere Informationen dazu finden Sie in der ECR Amazon-Dokumentation unter Erstellen eines privaten Repositorys und Einrichten einer Repository-Richtlinienerklärung.
AWSConfig, konfiguriert in Ihrer bevorzugten AWS Region. Weitere Informationen dazu finden Sie unter Getting started with AWS Config in der AWS Config-Dokumentation.
Die
aws-config-cloudformation.template
Datei (angehängt), die auf Ihren lokalen Computer heruntergeladen wurde.
Einschränkungen
Die Lösung dieses Musters ist Regional und Ihre Ressourcen müssen in derselben Region erstellt werden.
Architektur
Das folgende Diagramm zeigt, wie AWS Config ECR Amazon-Repository-Richtlinienerklärungen auswertet.
Das Diagramm zeigt den folgenden Workflow:
AWSConfig initiiert eine benutzerdefinierte Regel.
Die benutzerdefinierte Regel ruft eine Lambda-Funktion auf, um die Einhaltung der ECR Amazon-Repository-Richtlinienerklärungen zu bewerten. Die Lambda-Funktion identifiziert dann nicht konforme Repository-Richtlinienanweisungen.
Die Lambda-Funktion sendet den Status der Nichtkonformität an AWS Config.
AWSConfig sendet ein Ereignis an EventBridge.
EventBridge veröffentlicht die Benachrichtigungen über Verstöße zu einem SNS Thema.
Amazon SNS sendet eine E-Mail-Benachrichtigung an Sie oder einen autorisierten Benutzer.
Automatisierung und Skalierung
Die Lösung dieses Musters kann eine beliebige Anzahl von ECR Amazon-Repository-Richtlinienerklärungen überwachen, aber alle Ressourcen, die Sie bewerten möchten, müssen in derselben Region erstellt werden.
Tools
AWS CloudFormation— AWS CloudFormation hilft Ihnen dabei, Ihre AWS Ressourcen zu modellieren und einzurichten, sie schnell und konsistent bereitzustellen und sie während ihres gesamten Lebenszyklus zu verwalten. Sie können eine Vorlage verwenden, um Ihre Ressourcen und ihre Abhängigkeiten zu beschreiben und sie zusammen als Stapel zu starten und zu konfigurieren, anstatt Ressourcen einzeln zu verwalten. Sie können Stacks für mehrere AWS Konten und AWS Regionen verwalten und bereitstellen.
AWSAWSConfig — Config bietet eine detaillierte Ansicht der Konfiguration der AWS Ressourcen in Ihrem AWS Konto. Dazu gehört auch, wie die Ressourcen jeweils zueinander in Beziehung stehen und wie sie in der Vergangenheit konfiguriert wurden, damit Sie sehen können, wie sich die Konfigurationen und Beziehungen im Laufe der Zeit verändern.
Amazon ECR — Amazon Elastic Container Registry (AmazonECR) ist ein AWS verwalteter Container-Image-Registry-Service, der sicher, skalierbar und zuverlässig ist. Amazon ECR unterstützt private Repositorys mit ressourcenbasierten Berechtigungen unter Verwendung von. IAM
Amazon EventBridge — Amazon EventBridge ist ein serverloser Event-Bus-Service, mit dem Sie Ihre Anwendungen mit Daten aus einer Vielzahl von Quellen verbinden können. EventBridge liefert einen Stream von Echtzeitdaten aus Ihren Anwendungen, SaaS-Anwendungen (Software as a Service) und AWS Diensten an Ziele wie AWS Lambda-Funktionen, Aufruf-EndpunkteHTTP, die API Ziele verwenden, oder Event-Busse in anderen Konten.
AWSLambda — AWS Lambda ist ein Rechendienst, der die Ausführung von Code unterstützt, ohne Server bereitzustellen oder zu verwalten. Lambda führt Ihren Code nur bei Bedarf aus und skaliert automatisch – von einigen Anforderungen pro Tag bis zu Tausenden pro Sekunde. Sie bezahlen nur für die Datenverarbeitungszeit, die Sie wirklich nutzen und es werden keine Gebühren in Rechnung gestellt, wenn Ihr Code nicht ausgeführt wird.
Amazon SNS — Amazon Simple Notification Service (AmazonSNS) koordiniert und verwaltet die Zustellung oder den Versand von Nachrichten zwischen Herausgebern und Kunden, einschließlich Webservern und E-Mail-Adressen. Abonnenten erhalten die veröffentlichten Mitteilungen zu den Themen, die sie abonniert haben. Alle Abonnenten eines Themas erhalten dieselben Mitteilungen.
Code
Der Code für dieses Muster ist in der aws-config-cloudformation.template
Datei (angehängt) verfügbar.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie den AWS CloudFormation Stapel. | Erstellen Sie einen AWS CloudFormation Stack, indem Sie den folgenden Befehl in ausführen AWSCLI:
| AWS DevOps |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Testen Sie die benutzerdefinierte AWS Config-Regel. |
| AWS DevOps |