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.
In ADDF integrierte Sicherheitsfeatures
Das Autonomous Driving Data Framework (ADDF) verfügt über verschiedene eingebaute Sicherheitsfeatures. Standardmäßig sollen diese Features Ihnen bei der Einrichtung eines sicheren Frameworks helfen und Ihrer Organisation dabei unterstützen, die allgemeinen Sicherheitsanforderungen von Unternehmen zu erfüllen.
Im Folgenden sind die integrierten Sicherheitsfeatures aufgeführt:
-
Benutzerdefinierte Richtlinie mit den geringsten Rechten für die Bereitstellungsrolle AWS CDK
-
Richtlinie mit den geringsten Berechtigungen für die Deployspec-Datei des Moduls
-
Unterstützung von Zugriffsgrenzen für die AWS CodeBuild Rolle für CodeSeeder
-
Berechtigungen mit den geringsten Berechtigungen für Bereitstellungen mit mehreren Konten
Geringste Berechtigung für ADDF-Modulcode
Geringste Berechtigung ist die bewährte Methode, die für die Ausführung einer Aufgabe erforderlichen Mindestberechtigungen zu gewähren. Weitere Informationen finden Sie unter Anwendung von geringsten Berechtigungen. Von ADDF bereitgestellte Module folgen in ihrem Code und den bereitgestellten Ressourcen strikt dem Prinzip der geringsten Berechtigung, und zwar wie folgt:
-
Alle AWS Identity and Access Management (IAM-) Richtlinien, die für ein ADDF-Modul generiert wurden, verfügen über die Mindestberechtigungen, die für den Anwendungsfall erforderlich sind.
-
AWS-Services werden nach dem Prinzip der geringsten Rechte konfiguriert und bereitgestellt. Von ADDF bereitgestellte Module verwenden nur die Services und Service-Features, die für den jeweiligen Anwendungsfall erforderlich sind.
Infrastructure as Code
ADDF ist als Framework darauf ausgelegt, ADDF-Module als Infrastructure as Code (IaC) bereitzustellen. IaC macht manuelle Bereitstellungsprozesse überflüssig und hilft, Fehler und Fehlkonfigurationen zu vermeiden, die sich aus manuellen Prozessen ergeben können.
ADDF wurde für die Orchestrierung und Bereitstellung von Modulen mithilfe eines beliebigen gängigen IaC-Frameworks entwickelt. Dies enthält, ist aber nicht beschränkt auf:
Sie können verschiedene IaC-Frameworks verwenden, um verschiedene Module zu schreiben, und dann ADDF verwenden, um sie bereitzustellen.
Das von ADDF-Modulen verwendete Standard-IaC-Framework ist. AWS CDK AWS CDK ist eine objektorientierte Abstraktion auf hoher Ebene, die Sie verwenden können, um Ressourcen zwingend zu definieren. AWS AWS CDK setzt bereits standardmäßig bewährte Sicherheitsmethoden für verschiedene Dienste und Szenarien durch. Durch die Verwendung AWS CDK wird das Risiko von Sicherheitsfehlkonfigurationen reduziert.
Automatisierte Sicherheitsprüfungen für IaC
Das Open-Source-Hilfsprogramm cdk-nag
Benutzerdefinierte Richtlinie mit den geringsten Rechten für die Bereitstellungsrolle AWS CDK
ADDF macht ausgiebig Gebrauch von v2. AWS CDK Es ist erforderlich, dass Sie alle AWS-Konten ADDFs auf booten. AWS CDK Weitere Informationen finden Sie unter Bootstrappen (AWS CDK -Dokumentation).
AWS CDK Weist die AdministratorAccess AWS verwaltete Richtlinie standardmäßig der AWS CDK Bereitstellungsrolle zu, die in Konten mit Bootstrap erstellt wurde. Der vollständige Name dieser Rolle lautet. cdk-[CDK_QUALIFIER]-cfn-exec-role-[AWS_ACCOUNT_ID]-[REGION]
AWS CDK verwendet diese Rolle, um im AWS-Konto Rahmen des AWS CDK
Bereitstellungsprozesses Ressourcen im Bootstrapped bereitzustellen.
Abhängig von den Sicherheitsanforderungen Ihrer Organisation ist die AdministratorAccess
-Richtlinie ist möglicherweise zu freizügig. Im Rahmen des AWS CDK -Bootstrap-Prozesses können Sie die Richtlinien und Berechtigungen an Ihre Bedürfnisse anpassen. Sie können die Richtlinie ändern, indem Sie das Konto mit einer neu definierten Richtlinie neu bootstrappen, indem Sie den --cloudformation-execution-policies
-Parameter verwenden. Weitere Informationen finden Sie unter Bootstrapping anpassen (Dokumentation).AWS CDK
Anmerkung
Obwohl dieses Sicherheitsfeature nicht spezifisch für ADDF ist, wird es in diesem Abschnitt aufgeführt, da es die allgemeine Sicherheit Ihrer ADDF-Bereitstellung erhöhen kann.
Richtlinie mit den geringsten Berechtigungen für die Deployspec-Datei des Moduls
Jedes Modul enthält eine Datei mit Bereitstellungsspezifikationen namens deployspec.yaml. Diese Datei definiert die Bereitstellungsanweisungen für das Modul. CodeSeeder verwendet es, um das definierte Modul im Zielkonto mithilfe von bereitzustellen AWS CodeBuild. CodeSeeder weist der Bereitstellung der Ressourcen eine CodeBuild Standarddienstrolle zu, wie in der Datei mit den Bereitstellungsspezifikationen beschrieben. Diese Servicerolle ist nach dem Prinzip der geringsten Berechtigung konzipiert. Sie enthält alle erforderlichen Berechtigungen für die Bereitstellung von AWS CDK Anwendungen, da alle von ADDF bereitgestellten Module als Anwendungen erstellt werden. AWS CDK
Wenn Sie jedoch Stage-Befehle außerhalb von ausführen müssen AWS CDK, müssen Sie eine benutzerdefinierte IAM-Richtlinie erstellen, anstatt die Standarddienstrolle für zu verwenden. CodeBuild Wenn Sie beispielsweise ein anderes IaC-Bereitstellungsframework als Terraform verwenden AWS CDK, müssen Sie eine IAM-Richtlinie erstellen, die ausreichende Berechtigungen gewährt, damit dieses spezielle Framework funktioniert. Ein anderes Szenario, das eine dedizierte IAM-Richtlinie erfordert, ist, wenn Sie direct AWS Command Line Interface (AWS CLI) -Aufrufe an andere AWS-Services in die Befehleinstall
,pre_build
, build
oder stage aufnehmen. post_build
Sie benötigen zum Beispiel eine benutzerdefinierte Richtlinie, wenn Ihr Modul einen Amazon Simple Storage Service (Amazon S3)-Befehl zum Hochladen von Dateien in ein S3-Bucket enthält. Die benutzerdefinierte IAM-Richtlinie bietet eine detaillierte Steuerung für alle AWS Befehle außerhalb der Bereitstellung. AWS CDK Ein Beispiel für eine benutzerdefinierte IAM-Richtlinie finden Sie unter ModuleStack
Datenverschlüsselung
ADDF speichert und verarbeitet potenziell sensible Daten. Um diese Daten zu schützen, verschlüsseln SeedFarmer CodeSeeder, und von ADDF bereitgestellte Module Daten im Ruhezustand und während der Übertragung für alle verwendeten AWS-Services (sofern für Module im Ordner nicht ausdrücklich anders angegeben). demo-only
Speicherung von Anmeldeinformationen mit Secrets Manager
ADDF verwaltet verschiedene Geheimnisse für verschiedene Dienste wie Docker Hub und Amazon JupyterHub Redshift. ADDF verwendet AWS Secrets Manager, um alle ADDF-bezogenen Geheimnisse zu speichern. Dies hilft Ihnen, sensible Daten aus dem Quellcode zu entfernen.
Secrets-Manager-Geheimnisse werden nur in den Zielkonten gespeichert, soweit dies für die ordnungsgemäße Funktion dieses Kontos erforderlich ist. Standardmäßig enthält das Toolchain-Konto keine Geheimnisse.
Sicherheitsüberprüfungen von und SeedFarmer CodeSeeder
SeedFarmer
Unterstützung von Zugriffsgrenzen für die AWS CodeBuild Rolle für CodeSeeder
IAM-Berechtigungsgrenzen sind ein gängiger Sicherheitsmechanismus, der die maximalen Berechtigungen definiert, die eine identitätsbasierte Richtlinie einer IAM-Entität gewähren kann. SeedFarmer und CodeSeeder unterstützen für jedes Zielkonto einen Anhang zur Begrenzung der IAM-Berechtigungen. Die Berechtigungsgrenze begrenzt die maximalen Berechtigungen aller Servicerollen, die bei der CodeSeeder Bereitstellung von CodeBuild Modulen verwendet werden. Die IAM-Berechtigungsgrenzen müssen außerhalb von ADDF von einem Sicherheitsteam erstellt werden. Anhänge für IAM-Berechtigungsgrenzen werden als Attribut in der ADDF-Bereitstellungsmanifestdatei akzeptiert, deployment.yaml. Weitere Informationen finden Sie unter Unterstützung von Rechtegrenzen
Der Workflow ist wie folgt:
-
Ihr Sicherheitsteam definiert und erstellt eine IAM-Berechtigungsgrenze entsprechend Ihren Sicherheitsanforderungen. Die IAM-Berechtigungsgrenze muss in jeder AWS-Konto ADDF individuell erstellt werden. Die Ausgabe ist eine Liste von Berechtigungsgrenzen-Richtlinien für Amazon-Ressourcennamen (ARN).
-
Das Sicherheitsteam teilt die ARN-Liste der Richtlinien mit Ihrem ADDF-Entwicklerteam.
-
Das ADDF-Entwicklerteam integriert die ARN-Liste der Richtlinien in die Manifestdatei. Ein Beispiel für diese Integration finden Sie unter sample-permissionboundary.yaml
() und Deployment manifest (Dokumentation). GitHub SeedFarmer -
Nach erfolgreicher Bereitstellung wird die Berechtigungsgrenze allen Servicerollen zugewiesen, die für die Bereitstellung von Modulen verwendet werden. CodeBuild
-
Das Sicherheitsteam überwacht, ob die Berechtigungsgrenzen wie gewünscht angewendet werden.
AWS Architektur mit mehreren Konten
Wie in der Sicherheitssäule des AWS Well-Architected Framework definiert, gilt es als bewährte Methode, Ressourcen und Workloads auf der Grundlage der Anforderungen Ihres Unternehmens in mehrere AWS-Konten aufzuteilen. Das liegt daran, dass a als AWS-Konto Isolationsgrenze fungiert. Weitere Informationen finden Sie unter AWS-Konto -Kontenverwaltung und Trennung. Die Umsetzung dieses Konzepts wird als Architektur mit mehreren Konten bezeichnet. 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.
ADDF unterstützt nativ Architekturen mit AWS mehreren Konten. Sie können Ihre ADDF-Module auf so viele AWS-Konten verteilen, wie es für die Sicherheit und die Anforderungen Ihres Unternehmens erforderlich ist. separation-of-duties Sie können ADDF in einem einzigen AWS-Konto bereitstellen und die Funktionen der Toolchain und des Zielkontos kombinieren. Alternativ können Sie individuelle Zielkonten für ADDF-Module oder Modulgruppen erstellen.
Die einzige Einschränkung, die Sie berücksichtigen müssen, besteht darin, dass ein ADDF-Modul die kleinste Bereitstellungseinheit für jedes Modul darstellt. AWS-Konto
Für Produktionsumgebungen wird empfohlen, eine Architektur mit mehreren Konten zu verwenden, die aus einem Toolchain-Konto und mindestens einem Zielkonto besteht. Weitere Informationen finden Sie unter ADDF-Architektur.
Berechtigungen mit den geringsten Berechtigungen für Bereitstellungen mit mehreren Konten
Wenn Sie eine Architektur mit mehreren Konten verwenden, SeedFarmer müssen Sie auf die Zielkonten zugreifen, um die folgenden drei Aktionen durchzuführen:
-
Die Metadaten des ADDF-Moduls in das Toolchain-Konto und die Zielkonten schreiben.
-
Die aktuellen ADDF-Modul-Metadaten aus dem Toolchain-Konto und den Zielkonten lesen.
-
Initiieren Sie AWS CodeBuild Jobs in den Zielkonten, um Module bereitzustellen oder zu aktualisieren.
Die folgende Abbildung zeigt die kontenübergreifenden Beziehungen, einschließlich Operationen zur Übernahme von ADDF-spezifischen AWS Identity and Access Management (IAM) Rollen.

Diese kontenübergreifenden Aktionen werden mithilfe klar definierter Operationen mit Rollenübernahme erreicht.
-
Die IAM-Rolle der ADDF-Toolchain wird im Toolchain-Account bereitgestellt. SeedFarmer nimmt diese Rolle an. Diese Rolle hat die Rechte zur Ausführung einer
iam:AssumeRole
-Aktion und kann in jedem Zielkonto die IAM-Rolle für die ADDF-Bereitstellung übernehmen. Darüber hinaus kann die IAM-Rolle der ADDF-Toolchain lokale AWS Systems Manager Parameterspeicher-Operationen ausführen. -
Die IAM-Rolle für die ADDF-Bereitstellung wird in jedem Zielkonto bereitgestellt. Diese Rolle kann nur von dem Toolchain-Konto übernommen werden, indem die ADDF-Toolchain-IAM-Rolle verwendet wird. Diese Rolle ist berechtigt, lokale AWS Systems Manager Parameter Store-Operationen auszuführen und AWS CodeBuild Aktionen auszuführen, durch die Jobs initiiert und beschrieben CodeBuild werden. CodeSeeder
Diese ADDF-spezifischen IAM-Rollen werden im Rahmen des ADDF-Bootstrapping-Prozesses erstellt. Weitere Informationen finden Sie unter Bootstrap AWS-Konto(s) im ADDF Deployment Guide
Alle kontoübergreifenden Berechtigungen sind nach dem Prinzip der geringste Berechtigungen eingerichtet. Wenn ein Zielkonto kompromittiert wird, hat dies nur minimale oder gar keine Auswirkungen auf andere ADDF- AWS-Konten.
Im Fall einer Einzel-Konto-Architektur für ADDF bleiben die Rollenbeziehungen gleich. Sie fallen einfach zu einem einzigen AWS-Konto zusammen.