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

AWS Identity and Access Management bietet die Infrastruktur, die zur Steuerung der Authentifizierung und Autorisierung für Sie erforderlich ist AWS-Konto.

Zunächst verwendet ein menschlicher Benutzer oder eine Anwendung seine Anmeldeinformationen, um sich bei AWS zu authentifizieren. IAM ordnet die Anmeldedaten einem Prinzipal (einem IAM-Benutzer, Verbundbenutzer, IAM-Rolle oder Anwendung) zu, dem der Benutzer vertraut, AWS-Konto und authentifiziert die Zugriffsberechtigung. AWS

Als Nächstes stellt IAM eine Anfrage, um dem Prinzipal Zugriff auf Ressourcen zu gewähren. IAM gewährt oder verweigert den Zugriff als Reaktion auf eine Autorisierungsanfrage. 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, senden Sie eine Autorisierungsanfrage für diesen Service an IAM. IAM überprüft, ob Ihre Identität auf der Liste der autorisierten Benutzer steht, ermittelt, welche Richtlinien die gewährte Zugriffsebene steuern und wertet alle anderen möglicherweise geltenden Richtlinien aus. Prinzipale innerhalb Ihres Unternehmens AWS-Konto oder eines anderen Unternehmens, dem Sie vertrauen, können Autorisierungsanfragen AWS-Konto stellen.

Nach der Autorisierung kann der Prinzipal Aktionen oder Vorgänge mit den Ressourcen in Ihrem AWS-Konto durchführen. Der Principal könnte beispielsweise eine neue Amazon Elastic Compute Cloud Instance starten, die IAM-Gruppenmitgliedschaft ändern oder Buckets löschen Amazon Simple Storage Service . Das folgende Diagramm veranschaulicht diesen Prozess anhand der IAM-Infrastruktur:

Dieses Diagramm zeigt, wie ein Principal vom IAM-Dienst authentifiziert und autorisiert wird, Aktionen oder Operationen mit anderen AWS Diensten oder Ressourcen auszuführen.

Bestandteile einer Anfrage

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

  • Aktionen oder Operationen — Die Aktionen oder Operationen, die der Principal ausführen möchte AWS Management Console, z. B. eine Aktion in der AWS CLI oder oder AWS API.

  • Ressourcen — Das AWS Ressourcenobjekt, für das der Principal die Ausführung einer Aktion oder eines Vorgangs anfordert.

  • Auftraggeber – Die Person oder Anwendung, die eine Entität (Benutzer oder Rolle) verwendet hat, um die Anforderung zu senden. Zu den Informationen zum Prinzipal gehören die Berechtigungsrichtlinien.

  • Umgebungsdaten – Informationen zur IP-Adresse, zum Benutz-Kundendienstmitarbeiter, zum SSL-Aktivierungsstatus und zum Zeitstempel.

  • Ressourcendaten — Daten, die sich auf die angeforderte Ressource beziehen, z. B. ein DynamoDB-Tabellenname oder ein Tag auf einer EC2 Amazon-Instance.

AWS fasst die Anforderungsinformationen in einem Anforderungskontext zusammen, den IAM auswertet, um die Anfrage zu autorisieren.

So werden Prinzipale authentifiziert

Ein Principal meldet sich AWS mit seinen Anmeldeinformationen an, die IAM authentifiziert, damit der Principal eine Anfrage senden kann. AWS Einige Dienste, wie Amazon S3 und AWS STS, ermöglichen spezifische Anfragen von anonymen Benutzern. Sie stellen jedoch die Ausnahme von der Regel dar. Jeder Benutzertyp durchläuft eine Authentifizierung.

  • Root-Benutzer — Ihre für die Authentifizierung verwendeten Anmeldeinformationen sind die E-Mail-Adresse, mit der Sie das erstellt haben, AWS-Konto und das Passwort, das Sie zu diesem Zeitpunkt angegeben haben.

  • Verbundbenutzer — Ihr Identitätsanbieter authentifiziert Sie und leitet Ihre Anmeldeinformationen weiter AWS, ohne dass Sie sich direkt anmelden müssen. AWS Sowohl IAM Identity Center als auch IAM unterstützen Verbundbenutzer.

  • Benutzer in AWS-IAM-Identity-Center-Verzeichnis (nicht föderiert) — Benutzer, die direkt im Standardverzeichnis von IAM Identity Center erstellt wurden, melden sich über das AWS Zugriffsportal an und geben Ihren Benutzernamen und Ihr Passwort ein.

  • IAM-Benutzer – Sie melden sich an, indem Sie Ihre Konto-ID oder Ihren Alias, Ihren Benutzernamen und Ihr Passwort angeben. Um Workloads über die API oder zu authentifizieren AWS CLI, können Sie temporäre Anmeldeinformationen verwenden, indem Sie eine Rolle übernehmen, oder Sie können langfristige Anmeldeinformationen verwenden, indem Sie Ihren Zugriffsschlüssel und Ihren geheimen Schlüssel angeben.

    Weitere Informationen zu den IAM-Entitäten finden Sie unter IAM-Benutzer und IAM-Rollen.

AWS empfiehlt, dass Sie für alle Benutzer die Multi-Faktor-Authentifizierung (MFA) verwenden, um die Sicherheit Ihres Kontos zu erhöhen. Weitere Informationen zu MFA finden Sie unter AWS Multi-Faktor-Authentifizierung in IAM.

Grundlagen der Autorisierungs- und Berechtigungsrichtlinie

Autorisierung bezieht sich darauf, dass der Prinzipal über die erforderlichen Berechtigungen zum Vervollständigen seiner Anfrage verfügt. Während der Autorisierung identifiziert IAM anhand von Werten aus dem Anforderungskontext die für die Anforderung geltenden Richtlinien. Anschließend wird anhand der Richtlinien festgelegt, ob die Anforderung zugelassen oder abgelehnt werden soll. IAM speichert die meisten Berechtigungsrichtlinien als JSON-Dokumente, die die Berechtigungen für Prinzipal-Entitäten angeben.Übersicht über JSON-Richtlinien

Es gibt verschiedene Arten von Richtlinien, die sich auf eine Autorisierungsanfrage auswirken können. Um Ihren Benutzern Berechtigungen für den Zugriff auf die AWS Ressourcen in Ihrem Konto zu gewähren, können Sie identitätsbasierte Richtlinien verwenden. Ressourcenbasierte Richtlinien können kontenübergreifenden Zugriff gewähren. Wenn Sie eine Anfrage in einem anderen Konto initiieren müssen, muss eine Richtlinie in dem anderen Konto Ihnen den Zugriff auf die Ressource gewähren und die IAM-Entität, die Sie zum Erstellen der Anfrage verwenden, muss über eine identitätsbasierte Richtlinie verfügen, die die Anfrage erlaubt.

IAM überprüft jede Richtlinie, die auf den Kontext Ihrer Anfrage zutrifft. Bei der Auswertung der IAM-Richtlinien wird eine explizite Verweigerung verwendet. Dies bedeutet, dass IAM die gesamte Anfrage ablehnt und die Auswertung beendet, wenn eine einzelne Berechtigungsrichtlinie eine verweigerte Aktion enthält. Da Anfragen standardmäßig abgelehnt werden, müssen die geltenden Berechtigungsrichtlinien jeden Teil Ihrer Anfrage zulassen, damit IAM Ihre Anfrage autorisieren kann. Die Auswertungslogik für eine Anfrage innerhalb eines einzelnen Kontos folgt diesen Grundregeln:

  • 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 AWS Organizations Service Control Policy (SCP) oder Resource Control Policy (RCP), einer IAM-Berechtigungsgrenze oder einer Sitzungsrichtlinie setzt die Zulässigkeit außer Kraft. Wenn eine oder mehrere dieser Richtlinienarten vorhanden sind, müssen sie alle die Anfrage zulassen. Andernfalls wird es implizit abgelehnt. Weitere Informationen zu SCPs und finden Sie RCPs unter Autorisierungsrichtlinien AWS Organizations im Benutzerhandbuch.AWS Organizations

  • Eine explizite Verweigerung in einer Richtlinie überschreibt alle Genehmigungen in einer Richtlinie.

Weitere Informationen hierzu finden Sie unter Auswertungslogik für Richtlinien.

Nachdem IAM den Prinzipal authentifiziert und autorisiert hat, genehmigt IAM die Aktionen oder Vorgänge in seiner Anfrage, indem es die für den Prinzipal geltende Berechtigungsrichtlinie auswertet. Jeder AWS Dienst definiert die Aktionen (Operationen), die er unterstützt, und umfasst Dinge, die Sie mit einer Ressource tun können, z. B. das Anzeigen, Erstellen, Bearbeiten und Löschen dieser Ressource. Die für den Prinzipal geltende Berechtigungsrichtlinie muss die für die Durchführung einer Operation erforderlichen Aktionen enthalten. Weitere Informationen zur Auswertung von Berechtigungsrichtlinien durch IAM finden Sie unter Auswertungslogik für Richtlinien.

Der Service definiert eine Reihe von Aktionen, die ein Prinzipal für jede Ressource ausführen kann. Stellen Sie beim Erstellen von Berechtigungsrichtlinien sicher, dass Sie die Aktionen einschließen, die der Benutzer ausführen darf. Beispielsweise unterstützt IAM über 40 Aktionen für eine Benutzerressource, darunter die folgenden grundlegenden Aktionen:

  • CreateUser

  • DeleteUser

  • GetUser

  • UpdateUser

Darüber hinaus können Sie in Ihrer Berechtigungsrichtlinie Bedingungen angeben, die Zugriff auf Ressourcen gewähren, wenn die Anforderung die angegebenen Bedingungen erfüllt. Sie möchten beispielsweise, dass eine Richtlinienanweisung nach einem bestimmten Datum wirksam wird oder den Zugriff steuert, wenn ein bestimmter Wert in einer API angezeigt wird. Zum Angeben von Bedingungen verwenden Sie das Condition-Element einer Richtlinienanweisung.

Nachdem IAM die Vorgänge in einer angeforderten Anfrage genehmigt hat, kann der Prinzipal mit den zugehörigen Ressourcen in Ihrem Konto arbeiten. Eine Ressource ist ein Objekt, das innerhalb eines Services existiert. Beispiele hierfür sind eine EC2 Amazon-Instance, ein IAM-Benutzer und ein Amazon S3-Bucket. Wenn der Prinzipal eine Anfrage zur Durchführung einer Aktion für eine Ressource erstellt, die nicht in der Berechtigungsrichtlinie enthalten ist, lehnt der Service die Anfrage ab. Wenn Sie beispielsweise über die Berechtigung zum Löschen einer IAM-Rolle verfügen, aber das Löschen einer IAM-Gruppe anfordern, schlägt die Anforderung fehl, wenn Sie nicht über die Berechtigung zum Löschen von IAM-Gruppen verfügen. Weitere Informationen darüber, welche Aktionen, Ressourcen und Bedingungsschlüssel die verschiedenen AWS Dienste unterstützen, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für AWS Dienste.