Unternehmensanwendungsfälle für IAM - AWS Identity and Access Management

Unternehmensanwendungsfälle für IAM

Ein einfacher geschäftlicher Anwendungsfall für IAM kann Ihnen helfen, grundlegende Möglichkeiten zur Implementierung des Services zu verstehen, damit Sie den AWS-Zugriff Ihrer Benutzer kontrollieren können. Der Anwendungsfall wird allgemein beschrieben, ohne auf die Mechanik einzugehen, wie die IAM-API zum Erreichen der gewünschten Ergebnisse eingesetzt wird.

Dieser Anwendungsfall prüft zwei typische Möglichkeiten, wie ein fiktives Unternehmen mit dem Namen Example Corp IAM verwenden kann. Das erste Szenario betrachtet Amazon Elastic Compute Cloud (Amazon EC2). Die zweite betrachtet Amazon Simple Storage Service (Amazon S3).

Weitere Informationen zur Verwendung von IAM mit anderen Services von AWS finden Sie unter AWS-Services, die mit IAM funktionieren.

Ersteinrichtung von Example Corp

Joe ist der Gründer von Example Corp. Beim Aufbau des Unternehmens erstellt er sein eigenes AWS-Konto und verwendet AWS-Produkte selbst. Dann hat er Mitarbeiter wie Entwickler, Tester, Administratoren, Manager und Systemadministratoren.

John verwendet die AWS Management Console mit den AWS-Konto-Stammbenutzer-Anmeldeinformationen zum Erstellen eines Benutzers für sich selbst mit dem Namen John und einer Gruppe namens Admins. Er erteilt der Gruppe Admins Berechtigungen zur Ausführung aller Aktionen auf den Ressourcen des AWS-Kontos mit der von AWS verwalteten Richtlinie AdministratorAccess. Dann fügt er den Benutzer „John“ zur Gruppe „Admins“ hinzu. Eine Schritt-für-Schritt-Anleitung zum Erstellen einer Administratorgruppe und eines IAM-Benutzers für Sie selbst, den Sie dann Ihrer Administratorgruppe hinzufügen, finden Sie unter Erstellen Ihres ersten Administratorbenutzers und Ihrer ersten Administratorgruppe in IAM.

An diesem Punkt kann Joe aufhören, die Anmeldeinformationen des Stammbenutzers zu verwenden, um mit AWS zu interagieren, und stattdessen seine eigenen Anmeldeinformationen nutzen.

John erstellt außerdem eine Gruppe mit dem Namen AllUsers, sodass er einfach alle kontenweiten Berechtigungen auf alle Benutzer im AWS-Konto anwenden kann. Er fügt sich selbst zur Gruppe hinzu. Er erstellt dann eine Gruppe namens Developers, eine Gruppe namens Testers, eine Gruppe namens Managers und eine Gruppe namens SysAdmins. Er erstellt Benutzer für jeden seiner Mitarbeiter und fügt diese zu den entsprechenden Gruppen hinzu. Er fügt sie auch alle zur AllUsers-Gruppe hinzu. Weitere Informationen zum Erstellen von Benutzern und Gruppen finden Sie unter IAM-Benutzergruppen erstellen. Weitere Informationen zum Erstellen von Benutzern finden Sie unter Erstellen eines IAM-Benutzers in Ihrem AWS-Konto. Informationen zum Hinzufügen von Gruppen finden Sie unter Verwalten von IAM-Gruppen.

Anwendungsfall für IAM mit Amazon EC2

Ein Unternehmen wie Example Corp verwendet IAM in der Regel für die Interaktion mit Diensten wie Amazon EC2. Um diesen Teil des Anwendungsfalls zu verstehen, müssen Sie ein grundlegendes Verständnis von Amazon EC2 haben. Weitere Informationen zum Zugriff auf Ihr Schlüsselpaar finden Sie unter Amazon EC2-Schlüsselpaare im Amazon EC2-Leitfaden für Linux-Instances.

Amazon EC2 Berechtigungen für die Benutzergruppen

Für eine „Perimeter“-Kontrolle fügt John eine Richtlinie an die AllUsers-Gruppe an. Diese Richtlinie verweigert jede AWS-Anfrage eines Benutzers, wenn sich die ursprüngliche IP-Adresse außerhalb des Unternehmensnetzwerks von Example Corp befindet.

Bei Example Corp erfordern verschiedene Gruppen unterschiedliche Berechtigungen:

  • System Administrators – Benötigen eine Berechtigung zum Erstellen und Verwalten von AMIs, Instances, Snapshots, Volumes, Sicherheitsgruppen und so weiter. John fügt die von verwaltete Richtlinie AmazonEC2FullAccess AWS an die SysAdmins-Gruppe an, die Mitgliedern der Gruppe die Berechtigung zur Nutzung aller Amazon EC2-Aktionen erteilt.

  • Developers – Müssen nur mit Instances arbeiten können. Daher fügt John erstellt eine Richtlinie und fügt sie an die Gruppe „Developers“ an, mit der Entwickler DescribeInstances, RunInstances, StopInstances, StartInstances und TerminateInstances aufrufen können.

    Anmerkung

    Amazon EC2 verwendet SSH-Schlüssel, Windows-Passwörter und Sicherheitsgruppen, um zu kontrollieren, wer Zugriff auf das Betriebssystem bestimmter Amazon EC2-Instances hat. Es gibt keine Methode im IAM-System, um Zugriff auf das Betriebssystem einer bestimmten Instance zu erlauben oder zu verweigern.

  • Managers – Sollten nicht in der Lage sein, Amazon EC2-Instances durchzuführen, mit Ausnahme des Auflistens der aktuell verfügbaren Amazon EC2-Ressourcen. Daher erstellt John eine Richtlinie für die Benutzergruppe "Manager", die nur den Aufruf der Amazon EC2-API-Vorgänge "Beschreiben" erlaubt.

Beispiele für diese Richtlinien finden Sie unter Beispiele für identitätsbasierte Richtlinien in IAM und Verwenden des AWS Identity and Access Managements im Amazon EC2 User Guide for Linux Instances.

Änderung der Auftragsfunktion des Benutzers

An einem gewissen Punkt wechselt einer der Entwickler, Paulo, die Auftragsfunktion und wird zum Manager. John verschiebt Paulo aus der Gruppe „Developers“ in die Gruppe „Managers“. Jetzt, wo er zur Benutzergruppe der Manager gehört, ist Paulos Fähigkeit, mit Amazon EC2-Instances zu interagieren, eingeschränkt. Er kann keine Instances in Betrieb nehmen oder starten. Er kann auch keine vorhandenen Instances anhalten oder beenden, selbst wenn er der Benutzer war, der die Instance in Betrieb genommen oder gestartet hat. Er kann nur die Instances auflisten, die Example Corp-Benutzer gestartet haben.

Anwendungsfall für IAM mit Amazon S3

Unternehmen wie Example Corp würden in der Regel den IAM mit Amazon S3 verwenden. John hat einen Amazon S3-Bucket mit den Namen aws-s3-bucket für das Unternehmen erstellt.

Erstellen von anderen Benutzern und Gruppen

Als Mitarbeiter müssen Zhang und Mary jeweils in der Lage sein, ihre eigenen Daten im Unternehmens-Buckets zu erstellen. Sie müssen auch freigegebene Daten, an denen alle Entwickler arbeiten, lesen und schreiben können. Um dies zu ermöglichen, ordnet John die Daten logisch in aws-s3-bucket, wobei er ein Amazon S3-Schlüsselpräfixschema wie in der folgenden Abbildung gezeigt verwendet.

/aws-s3-bucket /home /zhang /mary /share /developers /managers

John unterteilt den /aws-s3-bucket in eine Reihe von Stammverzeichnissen für jeden Mitarbeiter sowie in einen gemeinsam genutzten Bereich für Gruppen aus Entwicklern und Managern.

John erstellt nun eine Reihe von Richtlinien, um Berechtigungen für Benutzer und Gruppen zuzuweisen:

  • Home directory access for Zhang – John fügt eine Richtlinie an Zhang an, mit der er beliebige Objekte mit dem Amazon S3-Schlüsselpräfix /aws-s3-bucket/home/Zhang/ lesen, schreiben und auflisten kann

  • Home directory access for Mary – John fügt eine Richtlinie an Mary an, mit der sie beliebige Objekte mit dem Amazon S3-Schlüsselpräfix /aws-s3-bucket/home/mary/ lesen, schreiben und auflisten kann

  • Freigegebene Verzeichniszugriff für die Entwicklergruppe – John fügt eine Richtlinie an die Gruppe an, mit der Entwickler beliebige Objekte in lesen, schreiben und auflisten können. /aws-s3-bucket/share/developers/

  • Freigegebener Verzeichniszugriff für die Managergruppe – John fügt eine Richtlinie an die Gruppe an, mit die Manager Objekte in /aws-s3-bucket/share/managers/ lesen, schreiben und auflisten können.

Anmerkung

Amazon S3 erteilt einem Benutzer, der einen Bucket oder ein Objekt erstellt, nicht automatisch die Berechtigung zum Ausführen anderer Aktionen auf diesem Bucket oder Objekt. Aus diesem Grund müssen Sie in Ihren IAM-Richtlinien die Benutzer zur Verwendung der Amazon S3-Ressourcen, die sie erstellen, explizit berechtigen.

Beispiele für diese Richtlinien finden Sie unter Zugriffskontrolle im Benutzerhandbuch für Amazon Simple Storage Service. Weitere Informationen über das Auswerten von Richtlinien zur Laufzeit finden Sie unter Auswertungslogik für Richtlinien.

Änderung der Auftragsfunktion des Benutzers

An einem gewissen Punkt wechselt einer der Entwickler, Zhang, die Auftragsfunktion und wird zum Manager. Wir gehen davon aus, dass er keinen Zugriff mehr auf die Dokumente im share/developers-Verzeichnis benötigt. John, als Admin, verschiebt Zhang in die Managers-Gruppe und nimmt ihn aus der Developers-Gruppe heraus. Mit dieser einfachen Neuzuweisung erhält Zhang automatisch alle Berechtigungen der Managers-Gruppe, kann aber nicht mehr auf Daten im share/developers-Verzeichnis zugreifen.

Integration in ein Drittunternehmen

Organisationen arbeiten häufig mit Partnerunternehmen, Beratern und Auftragnehmern. Example Corp hat eine Partner namens Widget Company und eine Mitarbeiterin dieses Unternehmens mit dem Namen Shirley muss Daten in einen Bucket platzieren, damit Example Corp sie nutzen kann. John erstellt eine Gruppe mit dem Namen WidgetCo und einen Benutzer mit dem Namen Shirley. Er fügt Shirley zur Gruppe „WidgetCo“ hinzu. John erstellt auch einen speziellen Bucket namens aws-s3-bucket1, den Shirley verwenden kann.

John aktualisiert vorhandene Richtlinien oder fügt neue hinzu, um den Partner Widget Company zu berücksichtigen. John kann beispielsweise eine neue Richtlinie erstellen, mit der Mitglieder der Gruppe WidgetCo keine Aktionen abgesehen vom Schreiben vornehmen können. Diese Richtlinie wäre nur erforderlich, wenn es eine breite Richtlinie gibt, die allen Benutzern Zugriff auf eine große Menge von Amazon S3-Aktionen bietet.