SEC02-BP06 Nutzen von Benutzergruppen und Attributen - AWS Well-Architected Framework

SEC02-BP06 Nutzen von Benutzergruppen und Attributen

Die Definition von Berechtigungen nach Benutzergruppen und Attributen trägt dazu bei, die Anzahl und Komplexität von Richtlinien zu reduzieren, sodass das Prinzip der geringsten Berechtigung einfacher umgesetzt werden kann.  Sie können Benutzergruppen verwenden, um die Berechtigungen für viele Personen an einem Ort zu verwalten, basierend auf der Funktion, die sie in Ihrer Organisation innehaben.  Attribute, wie z. B. Abteilung oder Standort, können eine zusätzliche Ebene des Berechtigungsumfangs bieten, wenn Personen eine ähnliche Funktion ausüben, aber für unterschiedliche Teilmengen von Ressourcen.

Gewünschtes Ergebnis: Sie können Änderungen der Berechtigungen auf der Grundlage der Funktion auf alle Benutzer anwenden, die diese Funktion ausführen.  Die Gruppenzugehörigkeit und -attribute regeln die Benutzerberechtigungen, sodass Sie die Berechtigungen nicht mehr auf der Ebene der einzelnen Benutzer verwalten müssen.  Die Gruppen und Attribute, die Sie in Ihrem Identitätsanbieter (IDP) definieren, werden automatisch an Ihre AWS-Umgebungen weitergegeben.

Typische Anti-Muster:

  • Verwaltung von Berechtigungen für einzelne Benutzer und Duplizierung für viele Benutzer.

  • Definition von Gruppen auf einer zu hohen Ebene, Gewährung von zu weitreichenden Berechtigungen.

  • Die Definition von Gruppen auf einer zu granularen Ebene, was zu Doppelarbeit und Verwirrung über die Mitgliedschaft führt.

  • Verwendung von Gruppen mit doppelten Berechtigungen für Teilmengen von Ressourcen, wenn stattdessen Attribute verwendet werden können.

  • Keine Verwaltung von Gruppen, Attributen und Mitgliedschaften über einen standardisierten Identitätsanbieter, der in Ihre AWS-Umgebungen integriert ist.

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

Implementierungsleitfaden

AWS-Berechtigungen werden in Dokumenten definiert, die Richtlinien genannt werden und einem Prinzipal zugeordnet sind, z. B. einem Benutzer, einer Gruppe, einer Rolle oder einer Ressource.  So können Sie für Ihre Mitarbeiter Gruppen definieren, die auf der Funktion basieren, die Ihre Benutzer in Ihrer Organisation innehaben, und nicht auf den Ressourcen, auf die sie zugreifen. Eine WebAppDeveloper-Gruppe kann zum Beispiel eine Richtlinie für die Konfiguration eines Services wie Amazon CloudFront innerhalb eines Entwicklungskontos enthalten. Eine AutomationDeveloper -Gruppe kann einige CloudFront-Berechtigungen mit der WebAppDeveloper-Gruppe gemeinsam haben. Diese Berechtigungen können in einer separaten Richtlinie erfasst und mit beiden Gruppen verknüpft werden, anstatt dass Benutzer aus beiden Funktionen zu CloudFront-Zugriffsgruppe gehören.

Zusätzlich zu Gruppen können Sie auch Attribute verwenden, um den Zugriff weiter einzuschränken. Sie können z. B. ein Projekt-Attribut für Benutzer in Ihrer WebAppDeveloper-Gruppe haben, um den Zugriff auf projektspezifische Ressourcen einzuschränken.  Mit dieser Technik entfällt die Notwendigkeit, für Anwendungsentwickler, die an verschiedenen Projekten arbeiten, unterschiedliche Gruppen einzurichten, wenn ihre Berechtigungen ansonsten identisch sind.  Die Art und Weise, wie Sie sich auf Attribute in Berechtigungsrichtlinien beziehen, hängt von deren Quelle ab, d. h. ob sie als Teil Ihres Verbundprotokolls (wie SAML, OIDC oder SCIM), als benutzerdefinierte SAML-Assertions oder innerhalb von IAM Identity Center definiert sind.

Implementierungsschritte

  1. Legen Sie fest, wo Sie Gruppen und Attribute definieren wollen.

    1. Anhand der Anleitung unter SEC02-BP04 Verlassen auf einen zentralen Identitätsanbieter können Sie feststellen, ob Sie Gruppen und Attribute innerhalb Ihres Identitätsanbieters, innerhalb von IAM Identity Center oder mit IAM user-Gruppen in einem bestimmten Konto definieren müssen.

  2. Definieren Sie Gruppen.

    1. Legen Sie Ihre Gruppen je nach Funktion und Umfang des erforderlichen Zugriffs fest.  

    2. Wenn Sie innerhalb von IAM Identity Center definieren, erstellen Sie Gruppen und ordnen die gewünschte Zugriffsebene mithilfe von Berechtigungsgruppen zu.

    3. Wenn Sie die Definition innerhalb eines externen Identitätsanbieters vornehmen, stellen Sie fest, ob der Anbieter das SCIM-Protokoll unterstützt und erwägen Sie die Aktivierung der automatischen Bereitstellung innerhalb von IAM Identity Center.  Diese Funktion synchronisiert die Erstellung, Mitgliedschaft und Löschung von Gruppen zwischen Ihrem Anbieter und IAM Identity Center.

  3. Definieren Sie Attribute.

    1. Wenn Sie einen externen Identitätsanbieter verwenden, bieten sowohl das SCIM- als auch das SAML 2.0-Protokoll standardmäßig bestimmte Attribute.  Zusätzliche Attribute können über SAML-Assertions unter Verwendung des Attributnamens https://aws.amazon.com/SAML/Attributes/PrincipalTag definiert und übergeben werden.

    2. Wenn Sie innerhalb von IAM Identity Center definieren, aktivieren Sie das Feature der attributbasierten Zugriffskontrolle (Attribute-based Access Control, ABAC) und definieren Sie Attribute wie gewünscht.

  4. Umfangsberechtigungen basierend auf Gruppen und Attributen.

    1. Erwägen Sie, Bedingungen in Ihre Genehmigungsrichtlinien aufzunehmen, die die Attribute Ihres Prinzipals mit den Attributen der Ressourcen vergleichen, auf die zugegriffen wird.  Sie können zum Beispiel eine Bedingung definieren, die den Zugriff auf eine Ressource nur dann erlaubt, wenn der Wert eines PrincipalTag-Bedingungsschlüssels mit dem Wert eines gleichnamigen ResourceTag-Schlüssels übereinstimmt.

Ressourcen

Zugehörige bewährte Methoden:

Zugehörige Dokumente:

Zugehörige Videos: