AWS User Management mit IAM: Die Schlüssel zum Königreich

Dennis Kögel, Cloud Architect, 18.08.2021

IAM ist für das User Management in der AWS-Cloud zuständig. Allerdings kann das sogenannte Identity and Access Management mehr, als „nur” die Benutzer der Cloud zu verwalten: Mit der Rollen- und Rechteverwaltung für über 200 AWS-Dienste lassen sich sehr komplexe Richtlinien festlegen. Wollen
Firmen erfolgreich in die Cloud migrieren, ist ein maßgeschneidertes Konzept für das AWS User Management ein Grundpfeiler für die Cloud-Sicherheit – und daher von großer Bedeutung. Denn für das Hosting im eigenen Rechenzentrum gibt es keine mit AWS IAM vergleichbare Lösung.

So funktioniert User Management mit AWS

AWS IAM sichert den Zugriff auf die AWS Cloud ab: Es regelt, wer Zugang zur Web Console und den Programmierschnittstellen der einzelnen AWS-Dienste bekommt. Dabei verwaltet das AWS User Management von IAM sowohl Nutzerzugriffe von außen, als auch den Zugriff der verschiedenen AWS-Services aufeinander.

Identitäten in AWS IAM: Benutzer, Gruppen, Rollen

Zu den IAM-Benutzern können sowohl menschliche Nutzer zählen als auch Programme. In beiden Fällen sind Anmeldedaten pro Nutzer hinterlegt, mindestens jedoch ein Passwort oder ein Zugangsschlüssel. Im AWS User Management können Benutzer verschiedenen Gruppen zugeteilt werde. So können Zugriffsrechte beispielsweise nach Aufgabe oder Position zugeordnet werden.

Das Konzept einer Rolle, wie sie in IAM vorkommt, ist in der Nutzerverwaltung allgemein eher ungewöhnlich: bei AWS sind Rollen vollwertige Identitäten – genau wie IAM-Benutzer. Jedoch ist eine direkte Anmeldung als Rolle nicht möglich.
Vielmehr nimmt ein Benutzer eine Rolle an, um eine gewisse Aufgabe durchzuführen; damit ersetzt diese Rolle temporär die eigentlicheIdentität des Benutzers. 

Durch die verschiedenen Identitätsarten in IAM werden komplexe Zugriffsmuster möglich: beispielsweise der Zugriff eines Admins auf verschiedene AWS-Accounts oder der Zugriff auf AWS-Dienste mit einer anderweitigen Web-Identität (Google, Facebook etc.).

Zugriffsrechte in AWS IAM

Stehen die IAM-Identitäten (Benutzer, Gruppen, Rollen) fest, werden ihnen eigene Richtlinien zugeordnet. Auf diese Weise kann der AWS-Admin ihnen jeweils bestimmte Zugriffsrechte gewähren. Dabei gilt auch für das AWS User Management einer der wichtigsten Grundsätze in der IT-Sicherheit: das Principle of Least Privilege. Es besagt, dass nur genau die Rechte gewährt werden sollten, die auch tatsächlich benötigt werden.

Mit IAM-Richtlinien können wir Cloud Mates für unsere Kunden komplexe Zugriffsrechte formulieren, um dieses Prinzip als individueller Managed Service pro Unternehmen umsetzen. Für jeden der über 200 AWS-Dienste können wir festlegen, welche seiner Funktionen (actions) angesprochen werden sollen, auf welche Objekte (resource) und unter welchen Bedingungen (conditions) sie sich beziehen dürfen.

Best Practices-Beispiele für AWS User Management

Hier sind zwei Beispiele, die das Zusammenspiel der verschiedenen Bausteine des AWS User Managements besser verdeutlichen sollen.

1. Geschütztes Löschen von EC2-Instanzen

Eine Sicherheitsanforderung Ihres Unternehmens könnte sein, dass jene Mitarbeiter Ihres IT-Teams, die für den täglichen Betrieb zuständig sind, nur dann EC2-Instanzen in der Produktionsumgebung löschen dürfen, wenn sie mit mehreren Faktoren angemeldet sind (beispielsweise Passwort plus Security Token).

So könnte eine IAM-Richtlinie aussehen, die diese Anforderung abbildet:

AWS User Management Best Practices

Ein Beispiel für AWS User Management: Allen Berechtigten wird das Löschen von EC2-Instanzen (ec2:TerminateInstances) in der Produktionsumgebung (Kennzeichnung environment mit dem Wert production) nur dann erlaubt (Allow), wenn sie mit mehreren Faktoren angemeldet sind (Multi-Factor Authentication).

Diese Richtlinie kann dann im User Management von AWS der Benutzergruppe für das Betriebsteam zugeordnet werden.

2. Zugriffsrechte für Anwendungen

Viele Anwendungen, die auf AWS laufen, benötigen den Zugriff auf weitere AWS-Dienste. Für eine fiktive Anwendung, die sich regelmäßig zu einer
RDS-Datenbank verbindet und eine Auswertung in einem S3-Bucket speichert, könnte eine Richtlinie wie folgt aussehen.

AWS RDS User Management

Für eine Anwendung, die sich regelmäßig zu einer RDS-Datenbank verbindet (Action rds-db:connect) und eine Auswertung in einen S3-Bucket speichert (Action s3:PutObject), könnte der Code für eine Richtlinie wie folgt aussehen. Das Feld Resource gibt an, gegen welches Objekt die Aktion erlaubt wird (also auf welchen S3-Bucket respektive auf welche RDS-Datenbank diese Anwendung zugreifen darf).

Diese Richtlinie wird dann dieser Anwendung zugewiesen. Das geschieht via IAM-Role, sodass keine AWS-Zugangsdaten im Container gespeichert werden müssen.

Integration von AWS ins firmeneigene User Management

Natürlich ist in den meisten Organisationen bereits eine umfangreiche Benutzerverwaltung etabliert. Daher bieten AWS IAM und der verwandte Dienst AWS Single Sign-On (SSO) hier zahlreiche Möglichkeiten zur Anbindung anderer Identitätsdienste. Auf diese Weise können alle IAM-Funktionen auch mit Anbietern wie Okta, Azure AD oder einem Active Directory im eigenen Rechenzentrum genutzt werden.

Das CLOUD MATES-Fazit zum AWS User Management

AWS IAM ist eine User Management-Lösung, die Unternehmen zahlreiche Möglichkeiten bietet, ihre bestehenden IT-Systeme und Abläufe einzubinden. Gegebenenfalls unterstützt IAM sogar dabei, Compliance-Anforderungen zu erfüllen. Allerdings kann es in seiner Komplexität Anwendern schnell über den Kopf wachsen. Bei einer Migration in die AWS-Cloud behalten wir Cloud Mates für Sie den Überblick. So sind Ihre Cloud-Ressourcen zu jedem Zeitpunkt optimal geschützt.

Gerne beraten wir Sie und erstellen ein individuell zugeschnittenes Konzept für Ihr Role & User Management mit AWS IAM.