Funktionsweise von IAM - 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.

Funktionsweise von IAM

IAM stellt die notwendige Infrastruktur zur Verfügung, um die Authentifizierung und Autorisierung für Ihr AWS-Konto zu steuern. Das folgende Diagramm verdeutlicht diese IAM-Infrastruktur.


      IntroToIAM_Diagram

Zunächst verwendet ein menschlicher Benutzer oder eine Anwendung seine Anmeldeinformationen, um sich bei AWS zu authentifizieren. Die Authentifizierung erfolgt, indem die Anmeldeinformationen einem Prinzipal (einem IAM-Benutzer, Verbundbenutzer, IAM-Rolle oder Anwendung) zugeordnet werden, dem das AWS-Konto vertraut.

Als Nächstes wird eine Anfrage gestellt, um dem Prinzipal Zugriff auf Ressourcen zu gewähren. Der Zugriff wird als Antwort auf eine Autorisierungsanfrage gewährt. Wenn Sie sich beispielsweise zum ersten Mal bei der Konsole anmelden und sich auf der Startseite der Konsole befinden, greifen Sie nicht auf einen bestimmten Service zu. Wenn Sie einen Service auswählen, wird die Autorisierungsanfrage an diesen Service gesendet und es wird geprüft, ob Ihre Identität auf der Liste der autorisierten Benutzer steht, welche Richtlinien zur Kontrolle der gewährten Zugriffsebene durchgesetzt werden und welche anderen Richtlinien möglicherweise in Kraft sind. Autorisierungsanfragen können von Prinzipalen innerhalb Ihres AWS-Kontos oder von einem anderen AWS-Konto, denen/dem Sie vertrauen, gestellt werden.

Nach der Autorisierung kann der Prinzipal Maßnahmen ergreifen oder Operationen an Ressourcen in Ihrem AWS-Konto durchführen. Der Prinzipal könnte beispielsweise eine neue Amazon Elastic Compute Cloud-Instance starten, die IAM-Gruppenmitgliedschaft ändern oder Amazon Simple Storage Service-Buckets löschen.

Bedingungen

Diese IAM-Begriffe werden häufig verwendet, wenn mit AWS gearbeitet wird:

IAM-Ressource

IAM-Ressourcen werden in IAM gespeichert. Sie können sie in IAM hinzufügen, bearbeiten und entfernen.

  • user

  • Gruppe

  • role

  • policy

  • identity-provider object

IAM-Entität

IAM-Ressourcen, die AWS für die Authentifizierung verwendet. Entitäten können in einer ressourcenbasierten Richtlinie als Prinzipal angegeben werden.

  • user

  • role

IAM-Identität

Eine IAM-Ressource, die in Richtlinien zur Durchführung von Aktionen und zum Zugriff auf Ressourcen autorisiert werden kann. Identitäten schließen Benutzer, Gruppen und Rollen ein.


              Ressource, Identitäten und Entitäten
Auftraggeber

Eine Person oder Anwendung, die den Root-Benutzer des AWS-Kontos, einen IAM-Benutzer oder eine IAM-Rolle verwendet, um sich anzumelden und Anfragen an AWS zu stellen. Auftraggeber umfassen Verbundbenutzer und angenommene Rollen.

Menschliche Benutzer

Menschliche Benutzer, auch bekannt als menschliche Identitäten, sind die Personen, Administratoren, Entwickler, Betreiber und Verbraucher Ihrer Anwendungen.

Workload

Eine Sammlung von Ressourcen und Code, die einen geschäftlichen Nutzen erbringen, z. B. eine Anwendung oder ein Backend-Prozess. Kann Anwendungen, Betriebstools und Komponenten enthalten.

Auftraggeber

Ein Prinzipal ist ein menschlicher Benutzer oder ein Workload, der eine Anfrage für eine Aktion oder Operation für eine AWS-Ressource stellen kann. Nach der Authentifizierung können dem Prinzipal je nach Prinzipaltyp entweder permanente oder temporäre Anmeldeinformationen für AWS erteilt werden, abhängig vom Prinzipaltyp. IAM-Benutzern und Root-Benutzern werden permanente Anmeldeinformationen gewährt, während Rollen temporäre Anmeldeinformationen gewährt werden. Als bewährte Methode empfehlen wir, dass menschliche Benutzer und Workloads mithilfe temporärer Anmeldeinformationen auf AWS-Ressourcen zugreifen müssen.

Anfrage

Wenn ein Auftraggeber versucht, die AWS Management Console, die AWS-API oder die AWS CLI zu verwenden, sendet dieser Auftraggeber eine Anforderung an AWS. Die Anforderung enthält die folgenden Informationen:

  • Aktionen oder Operationen – Die Aktionen oder Operationen, die der Auftraggeber durchführen möchte. Dies kann eine Aktion in der AWS Management Console oder eine Operation in der AWS CLI oder AWS-API sein.

  • Ressourcen – Das AWS-Ressourcenobjekt, mit dem die Aktionen oder Vorgänge durchgeführt werden.

  • Auftraggeber – Die Person oder Anwendung, die eine Entität (Benutzer oder Rolle) verwendet hat, um die Anforderung zu senden. Informationen über den Auftraggeber beinhalten die Richtlinien, die der Entität zugeordnet sind, die der Auftraggeber zur Anmeldung verwendet hat.

  • Umgebungsdaten – Informationen über die IP-Adresse, den Benutzeragent, den SSL-Status oder die Tageszeit.

  • Ressourcendaten – Daten zu den angeforderten Ressourcen. Dies sind zum Beispiel Informationen wie ein DynamoDB-Tabellenname oder Tag auf einer Amazon EC2-Instance.

AWS sammelt die Anforderungsinformationen in einem Anforderungskontext, der zur Auswertung und Autorisierung der Anforderung verwendet wird.

Authentifizierung

Ein Auftraggeber muss mit seinen Anmeldeinformationen authentifiziert werden (Anmeldung bei AWS), um eine Anfrage an AWS zu senden. Einige Services, z. B. Amazon S3 und AWS STS, lassen einige Anfragen von anonymen Benutzern zu. Sie stellen jedoch die Ausnahme von der Regel dar.

Um sich über die Konsole als Stammbenutzer zu authentifizieren, müssen Sie sich mit Ihrer E-Mail-Adresse und Ihrem Passwort anmelden. Als Verbundbenutzer werden Sie von Ihrem Identitätsanbieter authentifiziert und erhalten Zugriff auf AWS-Ressourcen, indem Sie IAM-Rollen übernehmen. Als IAM-Benutzer geben Sie Ihre Konto-ID oder den Alias und anschließend Ihren Benutzernamen und Ihr Passwort ein. Um Workloads über die API oder AWS CLI zu authentifizieren, können Sie temporäre Anmeldeinformationen verwenden, indem Sie eine Rolle zugewiesen bekommen, oder Sie können langfristige Anmeldeinformationen verwenden, indem Sie Ihren Zugriffsschlüssel und Ihren geheimen Schlüssel angeben. Möglicherweise müssen Sie auch zusätzliche Sicherheitsinformationen angeben. AWS empfiehlt als bewährte Methode die Verwendung von Multi-Faktor-Authentifizierung (MFA) und temporären Anmeldeinformationen, um die Sicherheit Ihres Kontos zu verbessern. Um mehr über die IAM-Entitäten zu erfahren, die AWS authentifizieren kann, lesen Sie IAM-Benutzer und IAM-Rollen.

Autorisierung

Sie müssen auch autorisiert sein (zulässig), um Ihre Anforderung abzuschließen. Während der Autorisierung verwendet AWS die Werte aus dem Anforderungskontext, um nach Richtlinien zu suchen, die auf die Anforderung anzuwenden sind. Anschließend wird anhand der Richtlinien festgelegt, ob die Anforderung zugelassen oder abgelehnt werden soll. Die meisten Richtlinien werden in AWS als JSON-Dokumente gespeichert und geben die Berechtigungen für Auftraggeber-Entitäten an. Es gibt mehrere Arten von Richtlinien, die sich darauf auswirken können, ob eine Anforderung zugelassen wird. Um Ihren Benutzern Zugriffsrechte auf die AWS-Ressourcen ihres eigenen Kontos zu gewähren, benötigen Sie nur identitätsbasierte Richtlinien. Ressourcenbasierte Richtlinien werden häufig zum Erteilen von kontoübergreifenden Zugriff verwendet. Die anderen Richtlinientypen sind erweiterte Funktionen und sollten mit Bedacht eingesetzt werden.

AWS überprüft jede Richtlinie, die für den Kontext Ihrer Anforderung geeignet ist. Wenn eine einzelne Berechtigungsrichtlinie eine verweigerte Aktion enthält, verweigert AWS die gesamte Anforderung und beendet die Auswertung. Dieser Vorgang wird als explizite Zugriffsverweigerung bezeichnet. Da Anforderungen standardmäßig verweigert werden, autorisiert AWS Ihre Anforderung nur dann, wenn jeder Teil Ihrer Anforderung von den anwendbaren Berechtigungsrichtlinien erlaubt wird. Die Auswertungslogik für eine Anforderung in einem einzelnen Konto folgt diesen allgemeinen Regeln:

  • Standardmäßig werden alle Anforderungen verweigert. (Anforderungen, die mit Root-Benutzer des AWS-Kontos-Anmeldeinformationen für Ressourcen im Konto gesendet werden, werden im Allgemeinen erlaubt.)

  • Eine explizite Zugriffserlaubnis in einer Berechtigungsrichtlinie (identitätsbasiert oder ressourcenbasiert) hat Vorrang vor diesem Standardwert.

  • Das Vorhandensein einer Organisationen-SCP, einer IAM-Berechtigungsgrenze oder einer Sitzungsrichtlinie überschreibt die Zugangserlaubnis. Wenn eine oder mehrere dieser Richtlinienarten vorhanden sind, müssen sie alle die Anfrage zulassen. Andernfalls wird sie implizit verweigert.

  • Eine explizite Zugriffsverweigerung überschreibt jede Zugriffserlaubnis in einer Richtlinie.

Weitere Informationen dazu, wie alle Arten von Richtlinien ausgewertet werden, finden Sie unter Auswertungslogik für Richtlinien. Wenn Sie eine Anforderung in einem anderen Konto initiieren müssen, muss eine Richtlinie in dem anderen Konto Ihnen den Zugriff auf die Ressource erlauben und die IAM-Entität, die Sie zum Erstellen der Anfrage verwenden, muss eine identitätsbasierte Richtlinie haben, die die Anforderung erlaubt.

Aktionen oder Operationen

Nachdem Ihre Anforderung authentifiziert und autorisiert wurde, genehmigt AWS die Aktionen oder Operationen in Ihrer Anforderung. Operationen werden von einem Service definiert und enthalten Dinge, die Sie mit einer Ressource machen können (z. B. Anzeigen, Anlegen, Bearbeiten und Löschen der Ressource). Zum Beispiel unterstützt IAM ca. 40 Aktionen für eine Benutzerressource, einschließlich der folgenden Aktionen:

  • CreateUser

  • DeleteUser

  • GetUser

  • UpdateUser

Damit ein Auftraggeber eine Operation ausführen kann, müssen Sie die erforderlichen Aktionen in eine Richtlinie aufnehmen, die für den Auftraggeber oder die betroffene Ressource gilt. Eine Liste der Aktionen, Ressourcentypen und Bedingungsschlüssel, die von den einzelnen Services unterstützt werden, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für AWS Services.

Ressourcen

Nachdem AWS die Operationen in Ihrer Anforderung genehmigt hat, können sie mit den entsprechenden Ressourcen in Ihrem Konto durchgeführt werden. Eine Ressource ist ein Objekt, das innerhalb eines Services existiert. Beispiele sind eine Amazon EC2-Instance, ein IAM-Benutzer und ein Amazon S3-Bucket. Der Service definiert eine Reihe von Aktionen, die für jede Ressource ausgeführt werden können. Wenn Sie eine Anforderung erstellen, um eine unabhängige Aktion für eine Ressource durchzuführen, wird diese Anforderung abgelehnt. Wenn Sie beispielsweise eine IAM-Rolle löschen möchten, aber eine IAM-Gruppenressource bereitstellen, schlägt die Anforderung fehl. Informationen zum Anzeigen von AWS-Servicetabellen, die angeben, welche Ressourcen von einer Aktion betroffen sind, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für AWS Services.