Definieren Sie Berechtigungen basierend auf Attributen mit ABAC Autorisierung - AWS Identitäts- und Zugriffsverwaltung

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.

Definieren Sie Berechtigungen basierend auf Attributen mit ABAC Autorisierung

Die attributbasierte Zugriffskontrolle (ABAC) ist eine Autorisierungsstrategie, die Berechtigungen auf der Grundlage von Attributen definiert. AWS nennt diese Attribute Tags. Sie können Tags an IAM Ressourcen, einschließlich IAM Entitäten (IAMBenutzer oder IAM Rollen), und an AWS Ressourcen anhängen. Sie können eine einzelne ABAC Richtlinie oder einen kleinen Satz von Richtlinien für Ihre IAM Prinzipale erstellen. Sie können ABAC Richtlinien entwerfen, die Operationen zulassen, wenn das Tag des Prinzipals mit dem Ressourcen-Tag übereinstimmt. ABACdas Attributsystem, das sowohl einen hohen Benutzerkontext als auch eine detaillierte Zugriffskontrolle bietet. Da es auf Attributen ABAC basiert, kann es dynamische Autorisierungen für Daten oder Anwendungen durchführen, die den Zugriff in Echtzeit gewähren oder entziehen. ABACist hilfreich in Umgebungen, die skalieren, und in Situationen, in denen die Verwaltung von Identitäts- oder Ressourcenrichtlinien komplex geworden ist.

Sie können beispielsweise drei IAM Rollen mit dem access-project Tag-Schlüssel erstellen. Setzen Sie den Tag-Wert der ersten IAM Rolle aufHeart, der zweiten auf Star und der dritten aufLightning. Sie können dann eine einzige Richtlinie verwenden, die den Zugriff ermöglicht, wenn die IAM Rolle und die AWS Ressource den Tagwert habenaccess-project. Ein ausführliches Tutorial, das die Verwendung von ABAC demonstriert AWS, finden Sie unterIAMTutorial: Definieren Sie Berechtigungen für den Zugriff auf AWS Ressourcen auf der Grundlage von Tags. Weitere Informationen zu Diensten, die dies unterstützenABAC, finden Sie unterAWS Dienste, die funktionieren mit IAM.

Dieses Diagramm zeigt, dass die auf einen Prinzipal angewendeten Tags mit den auf eine Ressource angewendeten Tags übereinstimmen müssen, damit dem Benutzer Berechtigungen für die Ressource erteilt werden. Tags werden auf IAM Gruppen, Ressourcengruppen, einzelne Benutzer und einzelne Ressourcen angewendet.

Vergleich ABAC mit dem traditionellen RBAC Modell

Das in verwendete traditionelle Autorisierungsmodell IAM ist die rollenbasierte Zugriffskontrolle ()RBAC. RBACdefiniert Berechtigungen auf der Grundlage der Tätigkeit, Funktion oder Rolle einer Person, die sich von einer IAM Rolle unterscheidet. IAMbeinhaltet verwaltete Richtlinien für Jobfunktionen, die die Berechtigungen in einem RBAC Modell an die jeweilige berufliche Funktion anpassen.

In implementieren Sie diesIAM, RBAC indem Sie verschiedene Richtlinien für verschiedene Aufgabenfunktionen erstellen. Anschließend ordnen Sie die Richtlinien Identitäten (IAMBenutzern, IAM Gruppen oder IAM Rollen) zu. Als bewährte Methode erteilen Sie nur die für eine Auftragsfunktion minimal erforderlichen Berechtigungen. Dies führt zu einem Zugriff mit den geringsten Rechten. In jeder Jobfunktionsrichtlinie sind die spezifischen Ressourcen aufgeführt, auf die Identitäten, denen diese Richtlinie zugewiesen ist, zugreifen können. Der Nachteil der Verwendung des herkömmlichen RBAC Modells besteht darin, dass Sie, wenn Sie oder Ihre Benutzer Ihrer Umgebung neue Ressourcen hinzufügen, die Richtlinien aktualisieren müssen, um den Zugriff auf diese Ressourcen zu ermöglichen.

Angenommen, Sie haben drei Projekte namens Heart, Star und Lightning, an denen Ihre Mitarbeiter arbeiten. Sie erstellen für jedes Projekt eine IAM Rolle. Anschließend fügen Sie jeder IAM Rolle Richtlinien hinzu, um die Ressourcen zu definieren, auf die jeder, der die IAM Rolle übernehmen darf, zugreifen kann. Wenn ein Mitarbeiter in Ihrem Unternehmen den Arbeitsplatz wechselt, weisen Sie ihm eine andere IAM Rolle zu. Sie können Personen oder Programme mehreren IAM Rollen zuweisen. Für das Star Projekt sind jedoch möglicherweise zusätzliche Ressourcen erforderlich, z. B. ein neuer EC2 Amazon-Container. In diesem Fall müssen Sie die der Star IAM Rolle zugeordnete Richtlinie aktualisieren, um die neue Container-Ressource anzugeben. Andernfalls dürfen Star-Projektmitglieder nicht auf den neuen Container zugreifen.

Dieses Diagramm zeigt, dass für die rollenbasierte Zugriffskontrolle jeder Identität eine bestimmte, auf der Funktion basierende Richtlinie für den Zugriff auf verschiedene Ressourcen zugewiesen werden muss.
ABACbietet die folgenden Vorteile gegenüber dem herkömmlichen Modell: RBAC
  • ABACGenehmigungen wachsen mit der Innovation. Es ist nicht mehr notwendig, dass ein Administrator vorhandene Richtlinien aktualisiert, um den Zugriff auf neue Ressourcen zu erlauben. Nehmen wir zum Beispiel an, dass Sie Ihre ABAC Strategie mit dem access-project Tag entworfen haben. Ein Entwickler verwendet die IAM Rolle mit dem Heart Tag access-project =. Wenn Heart Projektmitarbeiter zusätzliche EC2 Amazon-Ressourcen benötigen, kann der Entwickler neue EC2 Amazon-Instances mit dem Heart Tag access-project = erstellen. Anschließend kann jeder Benutzer des Heart-Projekts diese Instances starten und stoppen, da die Tag-Werte übereinstimmen.

  • ABACerfordert weniger Richtlinien. Da Sie keine verschiedenen Richtlinien für verschiedene Job-Funktionen erstellen müssen, erstellen Sie insgesamt weniger Richtlinien. Diese Richtlinien sind einfacher zu verwalten.

  • Damit ABAC können Teams dynamisch auf Veränderungen und Wachstum reagieren. Da Berechtigungen für neue Ressourcen automatisch auf der Grundlage von Attributen erteilt werden, müssen Sie Identitäten keine Richtlinien manuell zuweisen. Wenn Ihr Unternehmen beispielsweise die Nutzung von Heart und für Star Projekte bereits unterstütztABAC, können Sie ganz einfach ein neues Lightning Projekt hinzufügen. Ein IAM Administrator erstellt eine neue IAM Rolle mit dem Lightning Tag access-project =. Es ist nicht notwendig, die Richtlinie zu ändern, um ein neues Projekt zu unterstützen. Jeder, der über die Rechte zur Übernahme der IAM Rolle verfügt, kann mit access-project = markierte Instanzen erstellen und anzeigenLightning. Ein anderes Szenario ist, wenn ein Teammitglied vom Heart Projekt zum Lightning Projekt wechselt. Um Teammitgliedern Zugriff auf das Lightning Projekt zu gewähren, weist der IAM Administrator ihnen eine andere IAM Rolle zu. Es ist nicht notwendig, die Berechtigungsrichtlinien zu ändern.

  • Granulare Berechtigungen sind möglich mit. ABAC Wenn Sie Richtlinien erstellen, hat es sich bewährt, die geringsten Rechte zu erteilen. Bei herkömmlicher RBAC Methode schreiben Sie eine Richtlinie, die den Zugriff auf bestimmte Ressourcen ermöglicht. Bei der Verwendung können Sie ABAC jedoch Aktionen für alle Ressourcen zulassen, wenn das Tag der Ressource mit dem Tag des Prinzipals übereinstimmt.

  • Verwenden Sie Mitarbeiterattribute aus Ihrem Unternehmensverzeichnis mitABAC. Sie können Ihren SAML oder Ihren OIDC Anbieter so konfigurieren, dass Sitzungs-Tags an ihn weitergegeben IAM werden. Wenn sich Ihre Mitarbeiter zusammenschließen AWS, IAM wendet sie ihre Attribute auf ihren resultierenden Schulleiter an. Anschließend können Sie Berechtigungen ABAC auf der Grundlage dieser Attribute zulassen oder verweigern.

Ein ausführliches Tutorial, das die Verwendung von ABAC demonstriert AWS, finden Sie unterIAMTutorial: Definieren Sie Berechtigungen für den Zugriff auf AWS Ressourcen auf der Grundlage von Tags.