Überwachen Sie ECR Amazon-Repositorys mithilfe AWS CloudFormation von and Config auf Platzhalterberechtigungen AWS - AWS Prescriptive Guidance

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

 

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. 

AWS Cloud architecture diagram showing interaction between services for event processing and notification.

Das Diagramm zeigt den folgenden Workflow:

  1. AWSConfig initiiert eine benutzerdefinierte Regel. 

  2. 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.

  3. Die Lambda-Funktion sendet den Status der Nichtkonformität an AWS Config.

  4. AWSConfig sendet ein Ereignis an EventBridge.

  5. EventBridge veröffentlicht die Benachrichtigungen über Verstöße zu einem SNS Thema.

  6. 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

AufgabeBeschreibungErforderliche Fähigkeiten
Erstellen Sie den AWS CloudFormation Stapel.

Erstellen Sie einen AWS CloudFormation Stack, indem Sie den folgenden Befehl in ausführen AWSCLI:

$ aws cloudformation create-stack --stack-name=AWSConfigECR \ --template-body file://aws-config-cloudformation.template \ --parameters ParameterKey=<email>,ParameterValue=<myemail@example.com> \ --capabilities CAPABILITY_NAMED_IAM
AWS DevOps
AufgabeBeschreibungErforderliche Fähigkeiten
Testen Sie die benutzerdefinierte AWS Config-Regel.
  1. Melden Sie sich bei der AWS Management Console an, öffnen Sie die AWS Config-Konsole und wählen Sie dann Resources aus.

  2. Auf der Seite „Ressourcenbestand“ können Sie nach Ressourcenkategorie, Ressourcentyp und Konformitätsstatus filtern.

  3. Ein ECR Amazon-Repository, das ecr:* ist enthält, NON-COMPLIANT? und ein ECR Amazon-Repository, das ecr:* is nicht enthältCOMPLIANT.

  4. Die E-Mail-Adresse, die das SNS Thema abonniert hat, erhält Benachrichtigungen, wenn ein ECR Amazon-Repository nicht konforme Richtlinienerklärungen enthält.

AWS DevOps

Anlagen

Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip