SEC03-BP02 Gewähren des Zugriffs mit den geringsten Berechtigungen - AWS Well-Architected Framework

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.

SEC03-BP02 Gewähren des Zugriffs mit den geringsten Berechtigungen

Gewähren Sie nur den Zugriff, den Benutzer benötigen, um bestimmte Aktionen auf bestimmten Ressourcen unter bestimmten Bedingungen durchzuführen. Nutzen Sie Gruppen und Identitätsattribute, um Berechtigungen dynamisch in großem Umfang festzulegen, anstatt Berechtigungen für einzelne Benutzer zu definieren. Sie können beispielsweise einer Gruppe von Entwicklern den Zugriff erlauben, nur die Ressourcen für ihr Projekt zu verwalten. So ist sichergestellt, dass einem Entwickler, der nicht mehr am Projekt arbeitet, automatisch der Zugriff entzogen wird, ohne dass die zugrunde liegenden Zugriffsrichtlinien geändert werden müssen.

Gewünschtes Ergebnis: Benutzer verfügen nur über die Berechtigungen, die für ihre Arbeit erforderlich sind. Sie verwenden separate AWS-Konten, um Entwickler von Produktionsumgebungen zu isolieren. Wenn Entwickler für bestimmte Aufgaben auf Produktionsumgebungen zugreifen müssen, wird ihnen nur für die Dauer dieser Aufgaben eingeschränkter und kontrollierter Zugriff gewährt. Ihr Zugriff auf die Produktion wird sofort aufgehoben, nachdem sie die erforderlichen Arbeiten abgeschlossen haben. Sie führen regelmäßige Überprüfungen der Berechtigungen durch und widerrufen sie umgehend, wenn sie nicht mehr benötigt werden, z. B. wenn ein Benutzer die Rolle wechselt oder das Unternehmen verlässt. Sie beschränken Administratorrechte auf eine kleine, vertrauenswürdige Gruppe, um das Risiko zu verringern. Sie gewähren Maschinen- oder Systemkonten nur die Mindestberechtigungen, die zur Ausführung der vorgesehenen Aufgaben erforderlich sind.

Typische Anti-Muster:

  • Sie gewähren Benutzern standardmäßig Administratorberechtigungen.

  • Sie verwenden das Root-Benutzerkonto für tägliche Aktivitäten.

  • Sie erstellen übermäßig permissive Richtlinien ohne angemessene Beschränkung des Geltungsbereichs.

  • Ihre Berechtigungen werden nur selten überprüft, was dazu führt, dass sie ständig erweitert werden.

  • Sie verlassen sich ausschließlich auf die attributbasierte Zugriffskontrolle, wenn es um die Isolierung von Umgebungen oder die Verwaltung von Berechtigungen geht.

Risikostufe bei fehlender Befolgung dieser bewährten Methode: Hoch

Implementierungsleitfaden

Das Prinzip der geringsten Berechtigung besagt, dass Identitäten nur die kleinstmögliche Menge von Aktionen ausführen dürfen, die zur Durchführung einer bestimmten Aufgabe erforderlich sind. Dies schafft ein Gleichgewicht zwischen Benutzerfreundlichkeit, Effizienz und Sicherheit. Die Anwendung dieses Prinzips trägt dazu bei, den unbeabsichtigten Zugriff zu beschränken und nachzuverfolgen, wer auf welche Ressourcen zugreifen kann. IAM-Benutzer und -Rollen verfügen standardmäßig über keine Berechtigungen. Der Root-Benutzer hat standardmäßig vollen Zugriff und sollte streng kontrolliert, überwacht und nur für Aufgaben verwendet werden, die Root-Zugriff erfordern.

Mithilfe von IAM-Richtlinien können ausdrücklich Berechtigungen für IAM-Rollen oder bestimmte Ressourcen erteilt werden. So können beispielsweise identitätsbasierte Richtlinien an IAM-Gruppen angefügt werden, während S3-Buckets von ressourcenbasierten Richtlinien kontrolliert werden können.

Wenn Sie eine IAM-Richtlinie erstellen, können Sie die Serviceaktionen, Ressourcen und Bedingungen angeben, die erfüllt sein müssen, damit AWS den Zugriff erlaubt oder verweigert. AWS unterstützt eine Vielzahl von Bedingungen, mit denen Sie den Zugriff einschränken können. Mithilfe des Bedingungsschlüssels PrincipalOrgID können Sie beispielsweise Aktionen ablehnen, wenn der Anforderer nicht zu Ihrer AWS-Organisation gehört.

Sie können auch Anforderungen kontrollieren, die AWS-Services in Ihrem Namen stellen, etwa das Erstellen einer AWS Lambda-Funktion durch AWS CloudFormation. Dazu verwenden Sie den Bedingungsschlüssel CalledVia. Sie können unterschiedliche Richtlinientypen in Ebenen organisieren, um ein umfassendes Verteidigungskonzept aufzubauen und die Berechtigungen Ihrer Benutzer insgesamt zu begrenzen. Sie können auch Beschränkungen in Bezug darauf festlegen, welche Berechtigungen unter welchen Umständen erteilt werden können. Sie können Ihren Workload-Teams beispielsweise gestatten, ihre eigenen IAM-Richtlinien für die von ihnen erstellten Systeme zu erstellen; es muss aber auch eine Berechtigungsgrenze festgelegt werden, um die maximalen Berechtigungen zu beschränken, die sie gewähren können.

Implementierungsschritte

  • Richtlinien für die geringste Berechtigung implementieren: Weisen Sie IAM-Gruppen und -Rollen Zugriffsrichtlinien mit geringsten Berechtigungen zu, die an den von Ihnen definierten Tätigkeitsbereich der Benutzer angepasst sind.

  • Entwicklungs- und Produktionsumgebungen durch separate AWS-Konten trennen: Verwenden Sie separate AWS-Konten für Entwicklungs- und Produktionsumgebungen und kontrollieren Sie den Zugriff zwischen diesen Umgebungen mithilfe von Servicekontrollrichtlinien, Ressourcen- und Identitätsrichtlinien.

  • Grundlegende Richtlinien für die API-Nutzung: Eine Möglichkeit, die erforderlichen Berechtigungen zu ermitteln, ist die Überprüfung von AWS CloudTrail-Protokollen. Diese Prüfung ermöglicht es Ihnen, Berechtigungen zu erstellen, die auf die Aktionen zugeschnitten sind, die der Benutzer tatsächlich in AWS ausführt. IAM Access Analyzer kann automatisch IAM-Richtlinien auf der Grundlage von Zugriffsaktivitäten generieren. Sie können IAM Access Advisor auf Organisations- oder Kontoebene verwenden, um die zuletzt abgerufenen Informationen für eine bestimmte Richtlinie nachzuverfolgen.

  • Die Verwendung von AWS-verwalteten Richtlinien für Tätigkeitsbereiche erwägen: Wenn Sie mit der Erstellung detaillierter Berechtigungsrichtlinien beginnen, kann es nützlich sein, AWS-verwaltete Richtlinien für gängige Positionen wie Fakturierungsmitarbeiter, Datenbankadministratoren und Datenwissenschaftler zu verwenden. Diese Richtlinien können helfen, den Zugriff der Benutzer einzuschränken, während Sie festlegen, wie die Richtlinien für die geringste Berechtigung implementiert werden sollen.

  • Unnötige Berechtigungen entfernen: Erkennen und entfernen Sie nicht genutzte IAM-Entitäten, Anmeldeinformationen und Berechtigungen, um das Prinzip der geringsten Berechtigung durchzusetzen. Sie können IAM Access Analyzer verwenden, um externen und nicht genutzten Zugriff zu identifizieren, und die Richtliniengenerierung von IAM Access Analyzer kann zur Optimierung der Berechtigungsrichtlinien beitragen.

  • Sicherstellen, dass Benutzer eingeschränkten Zugriff auf Produktionsumgebungen haben: Benutzer sollten nur Zugriff auf Produktionsumgebungen haben, wenn es sich um einen gültigen Anwendungsfall handelt. Nachdem der Benutzer die konkreten Aufgaben ausgeführt hat, für die Zugriff auf die Produktionsumgebung erforderlich war, sollte der Zugriff widerrufen werden. Die Beschränkung des Zugriffs auf Produktionsumgebungen hilft, unbeabsichtigte Vorkommnisse mit Auswirkungen auf die Produktion zu verhindern und das Ausmaß der Auswirkungen eines unbeabsichtigten Zugriffs zu verringern.

  • Berechtigungsgrenzen erwägen:: Eine Berechtigungsgrenze ist ein Feature für eine verwaltete Richtlinie, das die maximalen Berechtigungen festlegt, die mit einer identitätsbasierten Richtlinie einer IAM-Entität erteilt werden können. Durch eine Berechtigungsgrenze kann eine Entität nur die Aktionen durchführen, die sowohl von den identitätsbasierten Richtlinien als auch den Berechtigungsgrenzen erlaubt werden.

  • Den Zugriff mithilfe von attributbasierter Zugriffskontrolle und Ressourcentags verfeinern Die attributbasierte Zugriffskontrolle (ABAC) mithilfe von Ressourcentags kann, sofern sie unterstützt wird, zur Verfeinerung von Berechtigungen verwendet werden. Sie können ein ABAC-Modell verwenden, das Prinzipal-Tags mit Ressourcen-Tags vergleicht, um den Zugriff auf der Grundlage der von Ihnen definierten benutzerdefinierten Dimensionen zu verfeinern. Dieses Konzept kann die Berechtigungsrichtlinien in Ihrer Organisation vereinfachen und ihre Anzahl reduzieren.

    • Es wird empfohlen, ABAC nur für die Zugriffskontrolle zu verwenden, wenn sowohl die Prinzipale als auch die Ressourcen zu Ihrer AWS-Organisation gehören. Externe Parteien können dieselben Tag-Namen und Werte wie Ihre Organisation für ihre eigenen Prinzipale und Ressourcen verwenden. Wenn Sie sich bei der Gewährung des Zugriffs für Prinzipale oder Ressourcen von externen Parteien ausschließlich auf diese Name-Wert-Paare stützen, kann es vorkommen, dass Sie nicht beabsichtigte Berechtigungen erteilen.

  • Service-Kontrollrichtlinien für AWS Organizations verwenden: Service-Kontrollrichtlinien steuern zentral die maximal verfügbaren Berechtigungen für Mitgliedskonten in Ihrer Organisation. Wichtig ist, dass Sie mithilfe von Service-Kontrollrichtlinien die Root-Benutzerberechtigungen in Mitgliedskonten einschränken können. Ziehen Sie auch die Verwendung von AWS Control Tower in Betracht, das präskriptive verwaltete Kontrollen zur Bereicherung von AWS Organizations bietet. Sie können auch Ihre eigenen Kontrollen in Control Tower definieren.

  • Eine Lebenszyklusrichtlinie für Benutzer für Ihre Organisation einrichten: Benutzer-Lebenszyklusrichtlinien definieren Aufgaben, die ausgeführt werden, wenn Benutzer in AWS hinzugefügt werden, ihre Rolle oder ihren Aufgabenbereich ändern oder sie keinen Zugriff auf AWS mehr benötigen. Führen Sie bei jedem Schritt im Lebenszyklus eines Benutzers Berechtigungsprüfungen durch, um sicherzustellen, dass die Berechtigungen angemessen restriktiv sind und keine schleichenden Berechtigungserweiterungen stattfinden.

  • Einen regelmäßigen Zeitplan einrichten, um die Berechtigungen zu überprüfen und alle nicht benötigten Berechtigungen zu entfernen: Sie sollten den Benutzerzugriff regelmäßig überprüfen, um sicherzustellen, dass Benutzer keinen übermäßigen Zugriff haben. AWS Config und IAM Access Analyzer können Sie bei der Prüfung der Benutzerberechtigungen unterstützen.

  • Job-Rollen-Matrix erstellen: Eine Job-Rollen-Matrix stellt die verschiedenen Rollen und Zugriffsebenen, die in Ihrem AWS-System erforderlich sind, grafisch dar. Mithilfe einer Job-Rollen-Matrix können Sie Berechtigungen auf der Grundlage von Benutzerzuständigkeiten in Ihrer Organisation definieren und trennen. Verwenden Sie Gruppen, anstatt Berechtigungen direkt auf einzelne Benutzer oder Rollen anzuwenden.

Ressourcen

Zugehörige Dokumente:

Zugehörige Videos:

Zugehörige Beispiele: