SEC03-BP02 Gewähren des Zugriffs mit den geringsten Berechtigungen - Säule der Sicherheit

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

Es hat sich bewährt, nur den Zugriff zu gewähren, den Identitäten 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 sollten nur über die Berechtigungen verfügen, die für ihre Arbeit erforderlich sind. Die Benutzer sollten nur Zugriff auf Produktionsumgebungen erhalten, um eine bestimmte Aufgabe in einem begrenzten Zeitraum auszuführen. Nach Abschluss der Aufgabe sollte der Zugriff widerrufen werden. Nicht mehr benötigte Berechtigungen sollten widerrufen werden. Dies gilt auch, wenn ein Benutzer zu einem anderen Projekt wechselt oder eine andere Tätigkeit übernimmt. Administratorberechtigungen sollten nur einer kleinen Gruppe von vertrauenswürdigen Administratoren erteilt werden. Die Berechtigungen sollten regelmäßig geprüft werden, um eine schleichende Ausweitung der Berechtigungen zu vermeiden. Maschinen- oder Systemkonten sollten die geringsten Berechtigungen erhalten, die zur Ausführung ihrer Aufgaben benötigt werden.

Typische Anti-Muster:

  • Standardmäßige Gewährung von Administratorberechtigungen für Benutzer

  • Verwendung des Root-Benutzers für alltägliche Aktivitäten

  • Erstellung übermäßig großzügiger Richtlinien, jedoch ohne vollständige Administratorberechtigungen

  • Keine Überprüfung der Berechtigungen, um festzustellen, ob sie einen Zugriff mit der geringsten Berechtigung gewähren

Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: 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 PrincipalOrgID-Bedingungsschlüssels 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 CalledVia-Bedingungsschlüsse. Sie sollten unterschiedliche Richtlinientypen in Ebenen organisieren, um einen umfassenden Verteidigungsansatz 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 Anwendungsteams 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 begrenzen, die das System erhalten kann.

Implementierungsschritte

  • Richtlinien für die geringste Berechtigung implementieren: Weisen Sie IAM-Gruppen und -Rollen Zugriffsrechte zu, die in ihrem Umfang möglichst gering und an den Tätigkeitsbereich der Benutzer angepasst sind.

  • Erwägen Sie die Verwendung von verwalteten AWS-Richtlinien für Tätigkeiten. Beim Erstellen von differenzierten Berechtigungsrichtlinien haben Sie zunächst möglicherweise Schwierigkeiten, herauszufinden, wo Sie beginnen sollten. AWS verfügt über verwaltete Richtlinien für allgemeine Positionen wie Fakturierungsmitarbeiter, Datenbankadministratoren und Datenwissenschaftler. Diese Richtlinien können helfen, den Zugriff der Benutzer einzuschränken und gleichzeitig festzulegen, wie die Richtlinien für die geringste Berechtigung implementiert werden sollen.

  • Unnötige Berechtigungen entfernen: Entfernen Sie Berechtigungen, die nicht benötigt werden, und schränken Sie zu freizügige Richtlinien ein. Durch das Generieren von IAM Access Analyzer-Richtlinien lassen sich die Berechtigungsrichtlinien einfacher präzise festlegen.

  • 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 berücksichtigen: Eine Berechtigungsgrenze ist ein Feature für eine verwaltete Richtlinie. Sie legt die maximalen Berechtigungen fest, die mit einer identitätsbasierten Richtlinie einer IAM-Entität erteilt werden kann. 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.  

  • Ressourcen-Tags für Berechtigungen erwägen: Ein auf Attributen basierendes Zugriffskontrollmodell, das Ressourcen-Tags verwendet, ermöglicht es Ihnen, Zugriff auf Grundlage von Ressourcenzweck, Eigentümer, Umgebung oder anderen Kriterien zu gewähren. Mithilfe von Ressourcen-Tags können Sie beispielsweise zwischen Entwicklungs- und Produktionsumgebungen unterscheiden. Mit diesen Tags können Sie den Zugriff der Entwickler auf die Entwicklungsumgebung beschränken. Durch die Kombination von Tagging und Berechtigungsrichtlinien können Sie einen differenzierten Ressourcenzugriff erzielen, ohne komplizierte, benutzerdefinierte Richtlinien für jeden Tätigkeitsbereich definieren zu müssen.

  • Verwenden Sie Service-Kontrollrichtlinien für AWS Organizations. 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. Bei jedem Schritt im Lebenszyklus eines Benutzers sollten Berechtigungsprüfungen erfolgen, 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: