wladimir1804 - stock.adobe.com
So funktioniert Identitäts- und Zugriffsmanagement in AWS
Identitäts- und Zugriffsmanagement ist ein wichtiger Baustein jeder Cloud-Sicherheitsstrategie. Wir erklären, welche Funktionen AWS dafür bietet und wie Sie diese nutzen.
Egal auf welcher Plattform: IT-Teams müssen sicherstellen, dass nur bekannte und vertrauenswürdige Benutzer auf die wichtigen Anwendungen und Daten ihres Unternehmens zugreifen können.
Benutzer von AWS verwenden AWS Identity and Access Management (IAM), um den Zugriff auf AWS-Services und -Ressourcen zu abzusichern und zu verwalten – und die Zugriffskontrolle zwischen AWS und lokalen Rechenzentrumsressourcen miteinander zu verknüpfen.
Werfen wir einen genaueren Blick auf AWS IAM, um zu lernen, wie es funktioniert, und mit welchen bewährten Methoden sich Ressourcen in AWS schützen lassen.
Was ist IAM in AWS?
AWS IAM ist ein Cloud-Angebot von Amazon, das den Zugriff auf Rechen-, Speicher- und andere Services in der Cloud verwaltet. Es bietet zwei wesentliche Funktionen, die zusammenwirken, um eine grundlegende Sicherheit für Unternehmensressourcen herzustellen:
- Authentifizierung. Diese Funktion überprüft die Identität eines Benutzers. Das geschieht normalerweise durch das Abgleichen von Anmeldeinformationen – wie Benutzernamen und Kennwörtern – mit einer etablierten Datenbank innerhalb des AWS IAM-Service. Die erweiterte Authentifizierung kann eine Multifaktor-Authentifizierung (MFA) umfassen, die traditionelle Anmeldeinformationen mit einer dritten Form der Authentifizierung verbindet, zum Beispiel das Senden eines eindeutigen Codes an das Smartphone eines Benutzers.
- Genehmigung. Sobald ein Benutzer authentifiziert ist, definiert die Autorisierung die Zugriffsrechte für diesen Benutzer und schränkt seinen Zugriff auf diejenigen Ressourcen ein, die für diesen bestimmten Benutzer freigegeben sind. Nicht jeder Benutzer hat Zugriff auf alle Anwendungen, Datensätze oder Dienste im gesamten Unternehmen.
IAM-Implementierungen werden über vier Entitäten geregelt: Benutzer, Gruppen, Rollen und Richtlinien. Über diese Entitäten können Administratoren festlegen, welche Rechte ein Benutzer bekommt.
- Benutzer. Ein Benutzer ist die kleinste Entität in IAM. Ein Benutzer ist typischerweise eine Person oder ein Dienst, wie beispielsweise eine Anwendung oder Plattform, die mit der Umgebung interagiert. Ein IT-Team weist Benutzern Berechtigungsnachweise zu, wie einen Benutzernamen und ein Kennwort. Benutzer können dann auf Ressourcen zugreifen, die ihnen über Berechtigungen oder Richtlinien zugewiesen werden.
- Gruppen. Eine Gruppe ist eine Sammlung von Benutzern mit gemeinsamen Berechtigungen und Richtlinien. Alle einer Gruppe zugeordneten Berechtigungen werden automatisch ihren Benutzern zugewiesen. Wenn Sie beispielsweise einen Benutzer einer Administratorgruppe zuordnen, erhält er automatisch Administratorenrechte.
- Rollen. Eine Rolle ist eine generische Identität, die keinem bestimmten Benutzer zugeordnet ist. Rollen verwenden keine Passwörter und können von autorisierten Benutzern übernommen werden. Rollen ermöglichen unterschiedlichen Benutzern, vorübergehend unterschiedliche Berechtigungen für unterschiedliche Aufgaben zu erhalten.
- Richtlinien. Richtlinien sind AWS-Objekte, die Benutzern, Gruppen, Rollen oder Ressourcen zugeordnet werden, um ihre Berechtigungen zu definieren. Wenn ein Benutzer versucht, auf eine Ressource zuzugreifen, wird die Anforderung anhand der zugehörigen Richtlinien geprüft. Wenn die Anfrage zulässig ist, wird ihr stattgegeben. Wenn nicht, wird sie abgelehnt. AWS-Richtlinien basieren auf sechs verschiedenen Kriterien: Identität, Ressourcen, Berechtigungsgrenzen, Servicekontrollrichtlinien, Zugriffskontrolllisten und Sitzungsrichtlinien. IT-Teams können jeder Identität mehrere Richtlinien zuordnen, um eine genauere Kontrolle der Berechtigungen zu ermöglichen.
Wie funktioniert IAM in AWS?
IAM ist mit den meisten Computing-, Container-, Speicher-, Datenbank- und anderen AWS-Cloud-Angeboten vollständig interoperabel. Es gibt jedoch einige Ausnahmen, daher ist es am besten, die Kompatibilität vor der Implementierung des Dienstes zu überprüfen. Beispielsweise unterstützt Amazon Elastic Compute Cloud (EC2) Berechtigungen auf Ressourcenebene oder Autorisierung basierend auf Tags nicht vollständig.
IT-Teams können ein einzelnes Geschäftskonto verwalten, das viele Nutzer miteinander teilen – jeder mit eindeutigen Anmeldeinformationen. Administratoren können Richtlinien erstellen, um granulare Berechtigungen festzulegen und Benutzern je nach Identität Zugriff auf verschiedene Ressourcen zu gewähren. Änderungen an IAM, wie das Erstellen oder Aktualisieren von Benutzern, Gruppen, Rollen und Richtlinien, nehmen Zeit in Anspruch, da Änderungen global auf mehrere Server repliziert werden müssen. Dies bedeutet, dass Änderungen an IAM nicht kritisch oder kurzfristig sein sollten.
Der IAM-Prozess gliedert sich in vier verschiedene Phasen:
- Eine Anfrage stellen. Der IAM-Prozess beginnt mit einer Person oder einer Anwendung, die als Principal bezeichnet wird. Jeder Principal hat Anmeldeinformationen unter einem AWS-Root-Konto und muss bereits bei AWS angemeldet sein, um Anfragen zu stellen. Ein Principal stellt also eine Anfrage oder führt eine Aktion aus, die eine Ressource betrifft.
- Details an AWS senden. Jede Anfrage an AWS enthält notwendige Details wie die Aktionen, die beteiligten Ressourcen, alle Richtlinien in Bezug auf den Auftraggeber, Daten zu den beteiligten Ressourcen – wie ein Amazon EC2-Instance-Tag – und weitere Informationen wie IP-Adressen und Zeitcodes . Diese Angaben werden verwendet, um Anfragen auszuwerten und autorisieren.
- Autorisieren der Anfrage. AWS überprüft die Authentifizierung des Principals und vergleicht die zugehörigen Richtlinien mit der Anfrage. In dieser Phase bewertet IAM, ob der Benutzer oder die Anwendung berechtigt ist, die angeforderte Aktion für die gewünschte Ressource auszuführen. Verfügt der Auftraggeber über die Berechtigung, wird die Anfrage genehmigt und der Prozess fortgesetzt. Wenn nicht, wird die Anfrage abgelehnt. Wenn ein Principal mehrere Richtlinien umfasst, müssen alle Richtlinien die Anforderung zulassen, oder sie wird abgelehnt.
- Bearbeiten der Anfrage. Wenn die Anfrage eines authentifizierten Principals autorisiert ist, kann sie verarbeitet werden. Dies beinhaltet in der Regel das Ausführen einer gewünschten Aktion, zum Beispiel das Abrufen von Daten aus einer Speicherinstanz. AWS generiert alle geeigneten Antworten an den Auftraggeber, zum Beispiel Datenströme und Erfolgs- oder Fehlermeldungen.
Wie wird IAM in AWS verwendet?
IT-Teams können auf vier Arten auf AWS IAM zugreifen: AWS Management Console, AWS Command Line Interface (CLI), SDKs und APIs. Jede Technik wird für unterschiedliche Zwecke verwendet, aber der zugrunde liegende IAM-Dienst ist derselbe. IT-Mitarbeiter verwenden die AWS Managementkonsole oder AWS CLI, um Anfragen zu stellen, die über IAM verarbeitet werden, während Anwendungen das SDK oder die API verwenden.
- Die AWS Managementkonsole ist die gebräuchlichste und bekannteste Methode für die Arbeit mit IAM. Einzelne Benutzer, die routinemäßig auf AWS-Ressourcen und -Services zugreifen, melden sich normalerweise hier an und greifen auf AWS über die browserbasierte Benutzeroberfläche zu.
- Power-User, die eine schnellere oder effizientere Interaktion mit AWS benötigen, werden sich eher für die CLI (Command Line Interface oder Kommandozeile) AWS-Tools für Windows PowerShell entscheiden. CLI-Tools sind nützlich für Aufgaben wie Skripterstellung und Automatisierung.
- AWS bietet SDKs mit Bibliotheken, die Softwareentwicklungsprojekte in verschiedenen Sprachen unterstützen. Die SDKs ermöglichen es Entwicklern, programmatische Anfragen einzuschließen und den Zugriff auf IAM-Dienste zu unterstützen.
- Anstelle eines SDK können Programmierer die IAM-HTTPS-API verwenden, um programmgesteuerte Aufrufe an AWS IAM zu senden. Benutzer müssen Code einschließen, um API-Aufrufe mit ihren AWS-Anmeldeinformationen zu signieren.
Was muss ich bei der Verwendung von AWS IAM beachten?
IAM ist für die Cloud-Sicherheit unerlässlich, bringt aber auch für unerfahrene Cloud-Administratoren eine gewisse Komplexität ins Spiel. Im Folgenden finden Sie einige Best Practices zur Verbesserung der effizienten Nutzung von IAM und zum Vermeiden häufiger Fehler.
Verwenden Sie niemals Root-Anmeldeinformationen. Ein Unternehmen kann ein einzelnes AWS-Konto mit Root-Anmeldeinformationen erstellen und dann viele verschiedene Benutzer und Rollen mit anderen Anmeldeinformationen einrichten. Das Root-Konto sollte immer die am besten geschützte und sicherste Entität innerhalb einer AWS-Umgebung sein. Verwenden oder teilen Sie unter keinen Umständen Root-Anmeldeinformationen – auch nicht für administrative Aktivitäten.
Verwenden Sie Gruppen für IAM-Richtlinien. Es ist zwar möglich und manchmal auch notwendig, Richtlinien direkt auf einzelne Benutzer anzuwenden, es ist jedoch besser, stattdessen Gruppenrichtlinien anzuwenden. Anstatt beispielsweise Richtlinien für zehn einzelne HR-Mitarbeiter zu verwalten, ordnen Sie diese einer HR-Gruppe zu und wenden eine einzige HR-Richtlinie auf die gesamte Gruppe an. Das geht schneller und führt zu weniger Flüchtigkeitsfehlern, welche die Sicherheit beeinträchtigen können. Gruppen erleichtern auch das Verschieben von Benutzern, wenn sich ihre Jobs ändern.
Wenden Sie Bedingungen auf IAM-Richtlinien an. AWS-Benutzer können Bedingungen auf Richtlinien anwenden, die zusätzliche Regeln für den Ressourcenzugriff festlegen. Bedingungen können Berechtigungen über Datums- und Zeitbeschränkungen, IP-Quelladressbereiche und eine Secure-Sockets-Layer-Verschlüsselung steuern. Bedingungen können beispielsweise festlegen, dass Benutzer sich bei MFA authentifizieren müssen, bevor sie eine EC2-Instanz beenden dürfen. Bedingungen sind nicht immer erforderlich, aber sie fügen eine weitere Sicherheitsebene für sensible Anfragen hinzu.
Seien Sie geizig mit Berechtigungen in IAM. Dieses Prinzip besagt, dass Sie Ihren Mitarbeitern immer die minimalen Berechtigungen einräumen sollten, die sie wirklich benötigen, um ihre Arbeit zu erledigen.
Verwenden Sie MFA für mehr Sicherheit. IAM unterstützt Multifaktor-Authentifizierung, die das Anmelden und Bestätigen der Identität auf einem zusätzlichen Gerät einfordert. Obwohl MFA möglicherweise nicht für alle Cloud-Benutzer geeignet ist, ist es eine nützliche Ergänzung für Hochsicherheitsbenutzer wie Cloud-Administratoren und leitende Angestellte.
Verwenden Sie starke Passwörter. IAM ermöglicht es Cloud-Administratoren, eine benutzerdefinierte Passwortrichtlinie zu implementieren, die ein besseres Passwort erzwingt – zum Beispiel längere Zeichenfolgen mit Kombinationen aus Groß- und Kleinschreibung, Ziffern und Symbolen. Stärkere Passwörter sind durch systematische Versuche schwieriger zu knacken. Je kleinteiliger die Regeln, desto wahrscheinlicher ist es jedoch, dass Mitarbeiter auf leicht zu erratende Eselsbrücken zurückgreifen.
Verwenden Sie eindeutige Zugriffsschlüssel. Zugriffsschlüssel werden als Anmeldeinformationen für Anwendungen verwendet. Sie sollten sie alle verschlüsseln und niemals denselben Schlüssel für mehr als eine Anwendung verwenden. Es kann sicherer und effizienter sein, eine Anwendung einzurichten, um temporäre Anmeldeinformationen für IAM-Rollen zu erhalten, anstatt Zugriffsschlüssel zu verwenden.
Entfernen Sie veraltete IAM-Anmeldeinformationen. Suchen und entfernen Sie IAM-Kennwörter und -Schlüssel, die inaktiv sind, um die Sicherheit zu erhöhen. Inaktive Principale, wie beispielsweise Benutzer, die das Unternehmen verlassen haben oder veraltete Anwendungen, benötigen keine Anmeldeinformationen mehr. Entfernen Sie diese Anmeldeinformationen, um zu verhindern, dass sie zum Einfallstor für Angriffe werden.
Überprüfen Sie regelmäßig IAM-Richtlinien und -Berechtigungen. Geschäfts- und Sicherheitsanforderungen ändern sich im Laufe der Zeit. Das Aufstellen und Anwenden von Richtlinien ist nur ein Anfang. Überprüfen und aktualisieren Sie die Richtlinien regelmäßig, um sicherzustellen, dass der aktuelle Zustand den Geschäfts- und Compliance-Anforderungen entspricht. Wenn eine Gruppe eine bestimmte Ressource nicht mehr benötigt, entfernen Sie diese Ressource aus der Gruppenrichtlinie, um einen unberechtigten Zugriff zu verhindern.
Überwachen Sie das AWS-Konto. Protokolldateien sind eine primäre Quelle für Sicherheitsinformationen, die Details zu Benutzerzugriff, Aktionen, Ergebnissen und Ressourcenstatus liefern. AWS bietet Protokollierungsfunktionen für viele seiner Services, einschließlich Amazon CloudFront, AWS CloudTrail, Amazon CloudWatch, AWS Config und Amazon Simple Storage Service. Cloud-Administratoren sollten jeden relevanten Protokollservice nutzen, um die Sicherheit in der AWS-Cloud zu validieren und aufrechtzuerhalten.