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

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: Die Benutzer sollten nur über die erforderlichen Berechtigungen für ihre Aufgabe verfügen. 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 den geringsten Berechtigungen gewähren

Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: hoch

Implementierungsleitfaden

Das Prinzip der geringsten Berechtigung besagt, dass nur die Berechtigungen für die kleinste Gruppe von Aktionen erteilt werden sollte, die für die Durchführung einer bestimmten Aufgabe notwendig 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 verfügt standardmäßig über vollen Zugriff und sollte strikt 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. Mit dem Bedingungsschlüssel PrincipalOrgID können Sie beispielsweise Aktionen verweigern, wenn der Anforderer nicht Ihrer AWS-Organisation angehört.

Sie können auch Anforderungen kontrollieren, die AWS-Services in Ihrem Namen stellen, wie das Erstellen einer AWS Lambda-Funktion durch AWS CloudFormation. Hierfür verwenden Sie den Bedingungsschlüssel CalledVia. 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. So können Sie beispielsweise Ihren Anwendungsteams gestatten, eigene IAM-Richtlinien für die von ihnen erstellten Systeme zu erstellen, müssen aber auch eine Berechtigungsgrenze anwenden, um die maximalen Berechtigungen zu begrenzen, die das System erhalten kann.

Implementierungsschritte

  • Implementieren Sie Richtlinien für geringste Berechtigungen: Weisen Sie IAM-Gruppen und -Rollen Zugriffsrichtlinien zu, die in ihrem Umfang möglichst gering und an die von Ihnen definierte Rolle oder Funktion der Benutzer angepasst sind.

  • Erwägen Sie, von AWS verwaltete Richtlinien für berufliche Funktionen zu verwenden. 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 Job-Rollen, wie z. B. 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.

  • Entfernen von unnötigen Berechtigungen: Entfernen Sie nicht benötigte Berechtigungen und schränken Sie zu großzügige Richtlinien ein. Die Richtliniengenerierung von IAM Access Analyzer kann bei der Feinabstimmung von Berechtigungsrichtlinien hilfreich sein.

  • Stellen Sie sicher, dass Benutzer nur beschränkten Zugriff auf Produktionsumgebungen haben: Benutzer sollten nur Zugriff auf Produktionsumgebungen haben, wenn ein gültiger Anwendungsfall vorliegt. 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.

  • Ziehen Sie Berechtigungsgrenzen in Betracht: Eine Berechtigungsgrenze ist eine Funktion für eine verwaltete Richtlinie. Sie legt die maximalen Berechtigungen fest, die mit einer identitätsbasierten Richtlinie einer IAM-Entität erteilt werden können. Eine Berechtigungsgrenze erlaubt einer Entität nur die Ausführung jener Aktionen, die sowohl nach ihren identitätsbasierten Richtlinien als auch nach ihren Berechtigungsgrenzen zulässig sind.  

  • Ziehen Sie Ressourcen-Tags für Berechtigungen in Betracht: Ein attributbasiertes Zugriffskontrollmodell, das Ressourcen-Tags verwendet, bietet Ihnen die Möglichkeit, den Zugriff basierend auf dem Zweck der Ressource, dem Besitzer, der 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.

  • Erstellen Sie eine Benutzerlebenszyklus-Richtlinie für Ihre Organisation: Benutzerlebenszyklus-Richtlinien definieren Aufgaben, die ausgeführt werden müssen, wenn Benutzer neu in AWS eingebunden werden, ihre Rolle oder ihren Aufgabenbereich ändern oder keinen Zugriff mehr auf AWS 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.

  • Legen Sie einen regelmäßigen Zeitplan für die Prüfung von Berechtigungen und das Entfernen nicht benötigter Berechtigungen fest: Sie sollten den Benutzerzugriff regelmäßig prüfen, um sicherzustellen, dass die Benutzer nicht zu viele Zugriffsrechte haben. AWS Config und IAM Access Analyzer können bei der Prüfung der Benutzerberechtigungen hilfreich sein.

  • Erstellen Sie eine Job-Rollen-Matrix: In einer Job-Rollen-Matrix sind die verschiedenen Rollen und erforderlichen Zugriffsebenen innerhalb Ihrer AWS-Präsenz visuell dargestellt. 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: