semisatch - stock.adobe.com
Identity and Access Management in der AWS-Cloud
Identity and Access Management ist auch die Grundlage einer sicheren Zugriffsverwaltung in der AWS-Cloud. AWS stellt dazu eigene Möglichkeiten zur IAM-Verwaltung bereit.
Um die Risiken zu minimieren und um ihre Ressourcen in der Cloud zu schützen, setzen viele Unternehmen auf die von AWS zur Verfügung gestellten IAM-Richtlinien. Nutzen Sie die hier vorgestellten fünf Tipps und Best Practices, um die wesentlichen Funktionen dieses Dienstes und auch gleichzeitig seine Grenzen kennenzulernen.
Identity and Access Management (IAM) spielt eine wichtige Rolle in praktisch jeder Security-Strategie für die Enterprise-Cloud. IAM sorgt dafür, dass diejenigen, die Zugriff auf eine Ressource in der Cloud benötigen, sie auch zur Verfügung gestellt bekommen. Allerdings nur in dem Ausmaß, in dem sie wirklich für ihre Arbeit darauf angewiesen sind. So benötigen zum Beispiel IT-Administratoren mehr Zugriffsrechte als ein einfacher Endanwender.
Die IAM-Dienste von AWS funktionieren wie ein Verzeichnis für die Admins, mit dem sie die Zugriffsrechte der Anwender verwalten, sie ihnen gewähren, aber auch wieder entziehen können. Das ermöglicht den IT-Teams nicht nur die Kontrolle darüber, wer intern auf die Ressourcen in der Cloud zugreifen darf. Die Dienste sind auch eine erste Verteidigungslinie beim Kampf gegen Eindringlinge und Hacker.
Bevor ein Admin aber beginnt, die Dienste einzusetzen, sollte er sich mit bewährten Praktiken beschäftigen, die für AWS IAM gelten. Dazu gehört, wie sich IAM-Accounts erstellen und verwalten lassen und wie sich die IAM-Dienste in interne Anwendungen sowie in Tools von Dritt-Anbietern integrieren lassen.
Grundlagen von AWS IAM
Admins können auf AWS IAM über das Web-Interface, die bereitgestellten APIs (Application Programming Interfaces) oder über Kommandozeilen-Tools zugreifen. Das AWS Command Line Interface (CLI) bietet Administratoren besonders ausgefeilte Möglichkeiten zur Kontrolle über alle IAM-Aktivitäten. Viele Aufgaben lassen sich hier mit Hilfe von Skripten schneller und effektiver durchführen. Wenn sich ein Admin für einen Zugriff via API oder ein SDK (Software Development Kit) entscheidet, kann er dabei auch Legacy- oder Dritt-Anbieter-Tools nutzen. So erhält er Zugriff auf weitere, nicht standardmäßig bereitgestellte Funktionen.
IAM bietet verschiedene Möglichkeiten, um die Zugriffe zu verwalten und zu sichern. Dazu gehören etwa Schlüssel für SSH (Secure Shell beziehungsweise Secure Socket Shell), Access Keys für AWS und Passwörter, um Nutzer zu authentifizieren. AWS weist den Nutzern allerdings keine automatischen IAM-Zugriffsrechte zu. Diese Aufgabe müssen die Admins selbst durch den Einsatz von geeigneten Richtlinien erledigen. Unter anderem steht dafür ein fertiges Set mit häufig benötigten Zugriffsrechten, AWS Managed Policies genannt, bereit, dass zum Beispiel bereits Leserechte für bestimmte Cloud-Dienste enthält. Admins können aber auch, je nach Bedarf, individuelle Richtlinien und Zugriffsrechte für bestimmte Nutzer, Gruppen und Rollen entwerfen. Dazu können sie die AWS Management Console, die Kommandozeile oder eine der APIs verwenden.
Implementieren von Rollen und anderen Funktionen in AWS IAM
Zu den weiteren interessanten Best Practices für AWS IAM gehört der Einsatz von Rollen. Admins können mit ihnen Zugriffsrechte für unterschiedliche Nutzer, Dienste oder Workloads definieren.
Um eine IAM-Rolle anzulegen, können Admins die IAM Console, eine API oder die Kommandozeile nutzen. Zunächst müssen sie dabei die spezifischen Dienste oder Accounts identifizieren, die die Rolle verwenden sollen. Dann benötigen sie einen Überblick über die Ressourcen, auf die die Rolle zugreifen darf. Nachdem diese Punkte festgelegt wurden, kann der Admin die Zielinstanz starten, um die Rolle zu aktivieren.
Zusätzlich zu den Rollen kann der Admin auch weitere Sicherheitsfunktionen aktivieren. Dazu gehören etwa Identity Federation sowie Multifaktor-Authentifizierung. Identity Federation unterscheidet sich insofern von IAM-Rollen, da es einem Admin damit möglich ist, Zugriffsrechte auf Ressourcen zu vergeben, die nicht innerhalb von IAM erstellt wurden. So genannte Federated User erhalten Zugriff durch ihnen zugewiesene Rechte oder Rollen. Das funktioniert sogar temporär.
Automatisieren von Aufgaben mit serviceverknüpften IAM-Rollen
Um bestimmte Teile des IAM-Prozesses zu automatisieren, können Admins auch die so genannten serviceverknüpften IAM-Rollen nutzen. Diese Rollen ermöglichen es ihnen, bestimmte Richtlinien und Zugriffsrechte für ausgewählte Cloud-Dienste wie AWS Elastic Beanstalk bereits im Vorfeld zu definieren. Wenn ein Anwender dann einen dieser Dienste aufrufen will, verknüpft AWS ihn automatisch mit der vorausgewählten Rolle. Das spart den Admins viel Zeit und beschleunigt die Konfiguration der genutzten Dienste.
Um festzustellen, welche Dienste serviceverknüpfte Rollen unterstützen, können Admins auf die IAM-Rollen-Seite in der AWS Management Console zugreifen. Bislang bietet aber nur eine begrenzte Zahl der Angebote bei AWS diese Möglichkeit. Administratoren können sich jedoch automatisch informieren lassen, wenn eine neue Rolle bereit zum Einsatz ist.
Es ist darüber hinaus wichtig, die Session-Zeiten für Rollen zu minimieren, auch wenn sie einige zeitaufwendige Admin-Aufgaben eliminieren können. Dies ist eine der Best Practices für AWS IAM, die im Einklang mit dem Prinzip des geringsten Zugriffsrechts steht.
AWS-Erweiterung mit CloudTrail und anderen Dritt-Anbieter-Tools
Manchmal ist es notwendig, über den Tellerrand zu schauen, wenn es um gute Tipps für AWS IAM geht. So sind zum Beispiel Logging-Tools wie AWS CloudTrail ein guter Zusatz zum IAM-Dienst. Der Dienst hilft Admins dabei, alle geltenden Compliance-Regeln einzuhalten und API-Anfragen zu überwachen. Darüber hinaus können Dritt-Anbieter- und Open-Source-Tools wie Chalice die Erstellung neuer IAM-Policies automatisieren. Dadurch lässt sich weiter Zeit einsparen.
Auch wenn viele Dritt-Anbieter-Tools manche alltäglichen Aufgaben eliminieren oder beschleunigen, fehlt es ihnen doch oft an Flexibilität. Außerdem benötigen sie meist selbst immer wieder die Aufmerksamkeit des Admins. Im Vergleich zu Tests von AWS-internen Tools können durch Tests von Werkzeugen anderer Anbieter außerdem unerwünschte Konsequenzen auftreten, die die Sicherheit der Cloud beeinträchtigen. Dazu kommt, dass auch diese Anbieter aktuelle Security-Protokolle implementieren und Schwachstellen entfernen müssen. Letztlich sollten also auch diese Werkzeuge genauso oft aktualisiert werden, wie AWS es mit seinen IAM-APIs macht.
Verwalten von Zugriffen über mehrere AWS-Accounts
AWS IAM bietet zudem eine Möglichkeit, mit der Administratoren auch anderen AWS-Accounts Zugriffsrechte einräumen können. Mit dieser Funktion können Endanwender zum Beispiel direkt an der Quelle auf bestimmte Daten zugreifen, ohne dass diese Storage-Ressourcen über mehrere AWS-Accounts repliziert werden müssen. So lässt sich etwa ein Account für Tests und ein zweiter für die Produktion nutzen.
Beispielsweise können Admins dieses Cross-Account-Feature verwenden, um festzulegen, wie Test-Account-Nutzer auf die Ressourcen eines produktiv genutzten Accounts zugreifen dürfen. Dabei ist es dann nicht nötig, neue IAM-Rollen für den Produktiv-Account anzulegen. Auf diese Weise lässt sich weiter Zeit einsparen.
Folgen Sie SearchSecurity.de auch auf Twitter, Google+, Xing und Facebook!