Sichere Einrichtung und Bedienung von ADDF - AWS Präskriptive Leitlinien

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.

Sichere Einrichtung und Bedienung von ADDF

Autonomous Driving Data Framework (ADDF) sollte als maßgeschneiderte Software behandelt werden, die eine kontinuierliche Wartung und Pflege durch ein engagiertes DevOps- und Sicherheitsteam in Ihrer Organisation erfordert. In diesem Abschnitt werden sicherheitsrelevante allgemeine Aufgaben beschriebe, die Sie bei der Einrichtung und dem Betrieb von ADDF während seines gesamten Lebenszyklus unterstützen.

Dieser Abschnitt beinhaltet die folgenden Aufgaben:

Definieren Sie Ihre ADDF-Architektur

Eine ADDF-Instance ist nur so sicher wie die AWS-Konto-Umgebung, in der sie eingesetzt wird. Diese AWS-Konto-Umgebung muss so konzipiert sein, dass sie die Sicherheits- und Betriebsanforderungen Ihres spezifischen Anwendungsfalls erfüllt. Beispielsweise unterscheiden sich die sicherheits- und betriebsbezogenen Aufgaben und Überlegungen bei der Einrichtung einer ADDF-Instance in einer Proof-of-Concept-Umgebung (PoC) von denen für die Einrichtung von ADDF in einer Produktionsumgebung.

ADDF in einer PoC-Umgebung ausführen

Wenn Sie ADDF in einer PoC-Umgebung verwenden möchten, empfehlen wir die Erstellung eines AWS-Konto für ADDF, das keine anderen Workloads enthält. Dies trägt zur Sicherheit Ihres Kontos bei, während Sie ADDF und seine Features erkunden. Diese Herangehensweise bietet folgende Vorteile: 

  • Im Falle einer schwerwiegenden ADDF-Fehlkonfiguration würden keine anderen Workloads beeinträchtigt.

  • Es besteht kein Risiko einer anderen Fehlkonfiguration von Workloads, die sich negativ auf die Einrichtung von ADDF auswirken könnten.

Selbst in einer PoC-Umgebung empfehlen wir Ihnen, möglichst viele der bewährten Methoden zu befolgen, die unter ADDF in einer Produktionsumgebung ausführen aufgeführt sind.

ADDF in einer Produktionsumgebung ausführen

Wenn Sie ADDF in einer Produktionsumgebung eines Unternehmens verwenden möchten, empfehlen wir Ihnen dringend, die bewährten Sicherheitsmethoden Ihrer Organisation zu berücksichtigen und ADDF entsprechend zu implementieren. Zusätzlich zu den bewährten Sicherheitsmethoden Ihrer Organisation empfehlen wir Ihnen, Folgendes zu implementieren:

  • Stellen Sie ein langfristiges, engagiertes ADDF-DevOps-Team zusammen – ADDF muss wie eine maßgeschneiderte Software behandelt werden. Es erfordert eine kontinuierliche Wartung und Pflege durch ein engagiertes DevOps-Team. Bevor mit der Ausführung von ADDF in einer Produktionsumgebung begonnen wird, sollte ein DevOps-Team mit ausreichender Größe und Kapazität mit vollem Ressourceneinsatz bis zum Ende der Lebensdauer der ADDF-Bereitstellung definiert werden.

  • Verwenden Sie eine Architektur mit mehreren Konten – Jede ADDF-Instance sollte in einer eigenen AWS-Umgebung mit mehreren Konten bereitgestellt werden, ohne andere, nicht damit verbundene Workloads. Wie in AWS-Kontoverwaltung und -trennung (AWS Well-Architected Framework) definiert, gilt es als bewährte Methode, Ressourcen und Workloads je nach den Anforderungen Ihrer Organisation in mehrere AWS-Konten aufzuteilen. Das liegt daran, dass ein AWS-Konto als Isolationsgrenze fungiert. Eine richtig konzipierte AWS-Multi-Konto-Architektur bietet eine Kategorisierung des Workloads und reduziert den Umfang der Auswirkungen im Falle eines Sicherheitsverstoßes im Vergleich zu einer Einzel-Konto-Architektur. Die Verwendung einer Architektur mit mehreren Konten trägt auch dazu bei, dass Ihre Konten innerhalb ihrer AWS-Service-Quotas bleiben. Verteilen Sie Ihre ADDF-Module auf beliebig viele AWS-Konten wie nötig, um die Anforderungen Ihrer Organisation in Bezug auf Sicherheit und Aufgabentrennung zu erfüllen.

  • Stellen Sie mehrere ADDF-Instances bereit – Richten Sie so viele separate ADDF-Instances ein, wie Sie benötigen, um ADDF-Module gemäß den Softwareentwicklungsprozessen Ihrer Organisation ordnungsgemäß zu entwickeln, zu testen und bereitzustellen. Wenn Sie mehrere ADDF-Instances erstellen, können Sie einen der folgenden Ansätze verwenden:

    • Mehrere ADDF-Instances in verschiedenen AWS-Umgebungen mit mehreren Konten – Sie können separate AWS-Konten verwenden, um verschiedene ADDF-Instances zu isolieren. Wenn Ihre Organisation beispielsweise über spezielle Entwicklungs-, Test- und Produktionsphasen verfügt, können Sie separate ADDF-Instances und dedizierte Konten für jede Phase erstellen. Dies bietet viele Vorteile, z. B. die Verringerung des Risikos, dass sich Fehler phasenübergreifend ausbreiten, hilft Ihnen bei der Implementierung eines Genehmigungsprozesses und beschränkt den Benutzerzugriff nur auf bestimmte Umgebungen. Die folgende Abbildung zeigt zwei ADDF-Instances, die in separaten Umgebungen mit mehreren Konten bereitgestellt werden.

      Zwei ADDF-Instances in separaten AWS-Umgebungen mit Architekturen für mehrere Konten
    • Mehrere ADDF-Instances in derselben AWS-Umgebung mit mehreren Konten – Sie können mehrere ADDF-Instances erstellen, die sich dieselbe AWS-Umgebung mit mehreren Konten teilen. Dadurch entstehen effektiv isolierte Zweige im selben AWS-Konten. Wenn beispielsweise verschiedene Entwickler parallel arbeiten, kann ein Entwickler eine dedizierte ADDF-Instance in derselben erstellenAWS-Konten. Dies hilft Entwicklern, zu Entwicklungs- und Testzwecken in isolierten Zweigen zu arbeiten. Wenn Sie diesen Ansatz verwenden, müssen Ihre ADDF-Ressourcen für jede ADDF-Instance eindeutige Ressourcennamen haben. Dies wird standardmäßig in vorinstallierten ADDF-Modulen unterstützt. Sie können diesen Ansatz verwenden, solange Sie die AWS-Service-Quotas nicht überschreiten. Die folgende Abbildung zeigt zwei ADDF-Instances, die in einer geteilten Umgebung mit mehreren Konten bereitgestellt werden.

      Zwei ADDF-Instances, die in derselben AWS-Umgebung mit mehreren Konten bereitgestellt werden.
    • Mehrere ADDF-Instances in derselben AWS-Umgebung mit einem Konto – Diese Architektur ist dem vorherigen Beispiel sehr ähnlich. Der Unterschied besteht darin, dass mehrere ADDF-Instances in einer Umgebung mit einem Konto statt in einer Umgebung mit mehreren Konten bereitgestellt werden. Diese Architektur eignet sich für sehr einfache ADDF-Anwendungsfälle mit einem sehr begrenzten Umfang und mehreren Entwicklern, die gleichzeitig in verschiedenen Branchen arbeiten.

      Zwei ADDF-Instances, die in derselben AWS-Umgebung mit einem Konto bereitgestellt werden.

    Da SeedFarmer das einzige Tool ist, das die Bereitstellungen für eine ADDF-Instance steuert, können Sie jede Umgebung und Kontoarchitektur erstellen, die zur Bereitstellungsstrategie und den CI/CD-Prozessen Ihrer Organisation passt.

  • Passen Sie den AWS Cloud Development Kit (AWS CDK)-Bootstrap-Prozess entsprechend den Sicherheitsanforderungen Ihrer Organisation an – Standardmäßig weist AWS CDK die AWS-verwaltete Richtlinie AdministratorAccess während des Bootstrapping-Vorgangs zu. Diese Richtlinie gewährt volle Administratorrechte. Wenn diese Richtlinie für die Sicherheitsanforderungen Ihrer Organisation zu offen ist, können Sie die Richtlinien anpassen. Weitere Informationen finden Sie unter Benutzerdefinierte Richtlinie mit den geringsten Berechtigungen für die AWS CDK-Bereitstellungs-Rolle.

  • Halten Sie sich bei der Einrichtung des Zugriffs in IAM an bewährte Methoden – Richten Sie eine strukturierte AWS Identity and Access Management (IAM)-Zugriffslösung ein, die Ihren Benutzern den Zugriff auf die ADDF-AWS-Konten ermöglicht. Das ADDF-Framework ist so konzipiert, dass es dem Prinzip der geringsten Berechtigung entspricht. Ihr IAM-Zugriffsmuster sollte außerdem dem Prinzip der geringsten Berechtigung folgen, den Anforderungen Ihrer Organisation entsprechen und den Bewährten Methoden für die Sicherheit in IAM (IAM-Dokumentation) folgen.

  • Das Netzwerk gemäß den bewährten Methoden Ihrer Organisation einrichten – ADDF beinhaltet einen optionalen Netzwerk-AWS CloudFormation-Stack, der eine einfache öffentliche oder Virtual Private Cloud (VPC) erstellt. Abhängig von der Konfiguration Ihrer Organisation kann diese VPC Ressourcen direkt dem Internet zugänglich machen. Wir empfehlen Ihnen, die bewährten Netzwerkpraktiken Ihrer Organisation zu befolgen und ein benutzerdefiniertes, sicherheitsverstärktes Netzwerkmodul zu erstellen.

  • Bereitstellung von Maßnahmen zur Sicherheitsprävention, -erkennung und -minderung auf der AWS-Konto-Ebene – AWS bietet verschiedene Sicherheitsdienste wie Amazon GuardDuty, AWS Security Hub, Amazon Detective und AWS Config. Aktivieren Sie diese Services in Ihrer ADDF-AWS-Konto und integrieren Sie die Prozesse Ihrer Organisation zur Prävention, Erkennung, Minderung und Behandlung von Sicherheitsvorfällen. Wir empfehlen Ihnen bewährten Methoden für Sicherheit, Identität und Compliance (AWS Architecture Center) und allen servicespezifischen Empfehlungen, die in der Dokumentation für diesen Service enthalten sind, zu folgen. Weitere Informationen finden Sie unter AWS-Sicherheit auf Dokumentenebene.

ADDF behandelt keines dieser Themen, da die Implementierungs- und Konfigurationsdetails stark von den Anforderungen und Prozessen abhängen, die für Ihre Organisation spezifisch sind. Stattdessen liegt es in der Kernverantwortung Ihrer Organisation, sich mit diesen Themen zu befassen. In der Regel hilft das Team, das Ihre AWS Landing Zone verwaltet, Ihnen bei der Planung und Implementierung Ihrer ADDF-Umgebung.

Erstes Einrichten

Richten Sie ADDF gemäß dem ADDF-Bereitstellungshandbuch (GitHub) ein. Der Ausgangspunkt für jede Bereitstellung ist der /manifest-Ordner im Git Hub-Repository Framework für Daten zum autonomen Fahren. Der /manifest/example-dev Ordner enthält eine Beispielbereitstellung für Demo-Zwecke. Verwenden Sie dieses Beispiel als Ausgangspunkt für die Gestaltung Ihrer eigenen Bereitstellung. In diesem Verzeichnis befindet sich eine ADDF-Bereitstellungsmanifestdatei mit dem Namen deployment.yaml. Sie enthält alle Informationen, die SeedFarmer benötigt, um ADDF und seine Ressourcen zu verwalten, bereitzustellen oder zu löschen in der AWS Cloud. Sie können Gruppen von ADDF-Modulen in speziellen Dateien erstellen. Das core-modules.yaml ist ein Beispiel für die Kernmodulgruppe und umfasst alle von ADDF bereitgestellten Kernmodule. Zusammenfassend lässt sich sagen, dass die deployment.yaml-Datei alle Verweise auf die Gruppen und Module, die für ihre Zielkonten bereitgestellt werden, enthält und die Bereitstellungsreihenfolge angibt.

Für eine sichere und konforme Konfiguration, insbesondere in einer Umgebung, in der es nicht um Machbarkeitsstudien geht, empfehlen wir Ihnen, den Quellcode jedes Moduls, das Sie bereitstellen möchten, zu überprüfen. Gemäß den bewährten Methoden zur Erhöhung der Sicherheit sollten Sie nur Module bereitstellen, die für Ihren beabsichtigten Anwendungsfall erforderlich sind.

Anmerkung

ADDF-Module im modules/demo-only/-Ordner sind nicht sicherheitsgehärtet und sollten nicht in Produktionsumgebungen oder in Umgebungen mit sensiblen oder geschützten Daten eingesetzt werden. Diese Module sind enthalten, um die Systemfunktionen zu demonstrieren. Sie können sie als Grundlage für die Erstellung Ihrer eigenen maßgeschneiderten, sicherheitsgehärteten Module verwenden.

Anpassen des Codes für das ADDF-Bereitstellungsframework

Das ADDF-Bereitstellungsframework und seine Orchestrierungs- und Bereitstellungslogik können vollständig an alle Anforderungen angepasst werden. Wir empfehlen Ihnen jedoch, entweder auf Anpassungen zu verzichten oder Ihre Änderungen aus den folgenden Gründen zu minimieren:

  • Die Upstream-Kompatibilität beibehalten – Die Upstream-Kompatibilität erleichtert die Aktualisierung von ADDF auf die neuesten Features und Sicherheitsupdates. Durch eine Änderung des Frameworks wird die native Abwärtskompatibilität mit SeedFarmer, CodeSeeder und allen ADDF-Kernmodulen beeinträchtigt.

  • Konsequenzen für die Sicherheit – Das Ändern des ADDF-Bereitstellungsframeworks kann eine komplexe Aufgabe sein, die unbeabsichtigte Auswirkungen auf die Sicherheit haben kann. Im schlimmsten Fall können Änderungen am Framework zu Schwachstellen führen.

Wenn möglich, sollten Sie Ihren eigenen Modulcode erstellen und anpassen, anstatt das ADDF-Deployment-Framework und den ADDF-Kernmodulcode zu ändern.

Anmerkung

Wenn Sie bei der Einrichtung und dem Betrieb von ADDF der Meinung sind, dass das Bereitstellungs-Framework verbessert oder die Sicherheit weiter verschärft werden muss, tragen Sie Ihre Änderungen bitte über eine Pull-Anforderung im ADDF-Repository bei. Weitere Informationen finden Sie unter Open-Source-Sicherheitsüberprüfungen und -Beiträge.

Schreiben von benutzerdefinierten Modulen in ADDF

Die Erstellung eines neuen ADDF-Moduls oder die Erweiterung eines vorhandenen Moduls ist ein Kernkonzept von ADDF. Bei der Erstellung oder Anpassung von Modulen empfehlen wir Ihnen, die allgemeinen bewährten AWS-Sicherheitsmethoden und die bewährten Methoden Ihrer Organisation für eine sichere Codierung zu befolgen. Darüber hinaus empfehlen wir Ihnen, erste und regelmäßige interne oder externe technische Sicherheitsüberprüfungen auf der Grundlage der Sicherheitsanforderungen Ihrer Organisation durchzuführen, um das Risiko von Sicherheitsproblemen weiter zu verringern.

Wiederkehrende ADDF-Bereitstellungen

Stellen Sie ADDF und seine Module wie im ADDF-Bereitstellungshandbuch (GitHub) beschrieben bereit. Um wiederkehrende ADDF-Bereitstellungen zu unterstützen, die Ressourcen in Ihren Zielkonten hinzufügen, aktualisieren oder entfernen, verwendet SeedFarmer MD5-Hashes, die im Parameterspeicher Ihrer Toolchain und Ihrer Zielkonten gespeichert sind, um die aktuell bereitgestellte Infrastruktur mit der Infrastruktur zu vergleichen, die in den Manifestdateien in Ihrer lokalen Codebasis definiert ist.

Dieser Ansatz folgt dem GitOps-Paradigma, bei dem Ihr Quell-Repository (die lokale Codebasis, in der Sie SeedFarmer betreiben) die Quelle der Wahrheit ist und die darin explizit deklarierte Infrastruktur das gewünschte Ergebnis Ihrer Bereitstellung ist. Weitere Informationen zu GitOps finden Sie unter Was ist GitOps (GitLab-Webseite).

Wiederkehrende Sicherheitsprüfungen

Integrieren Sie ADDF und Ihren benutzerdefinierten ADDF-Modulcode wie jede andere Software in Ihrer Organisation in Ihr Sicherheitsrisikomanagement, Ihre Sicherheitsüberprüfung und Ihren Sicherheitsprüfungszyklus.

ADDF-Aktualisierungen

ADDF wird im Rahmen seiner laufenden Entwicklungsanstrengungen regelmäßig aktualisiert. Dazu gehören Featureupdates sowie sicherheitsrelevante Verbesserungen und Korrekturen. Wir empfehlen Ihnen, regelmäßig nach neuen Framework-Versionen zu suchen und Aktualisierungen rechtzeitig zu installieren. Weitere Informationen finden Sie unter Schritte zur Aktualisierung von ADDF (ADDF-Dokumentation).

Außerbetriebnahme

Wenn ADDF nicht mehr benötigt wird, löschen Sie ADDF und alle zugehörigen Ressourcen aus Ihrem AWS-Konten. Jede unbeaufsichtigte und ungenutzte Infrastruktur verursacht unnötige Kosten und stellt ein potenzielles Sicherheitsrisiko dar. Weitere Informationen finden Sie unter Schritte zur Zerstörung von ADDF (ADDF-Dokumentation).