IAMIdentifikatoren - 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.

IAMIdentifikatoren

IAMverwendet einige verschiedene Bezeichner für Benutzer, IAM Gruppen, Rollen, Richtlinien und Serverzertifikate. In diesem Abschnitt werden die IDs und deren jeweilige Verwendung beschrieben.

Anzeigenamen und -pfade

Wenn Sie einen Benutzer, eine Rolle, eine Gruppe oder eine Richtlinie erstellen oder ein Serverzertifikat hochladen, geben Sie diesen einen Anzeigenamen. Beispiele hierfür sind Bob, TestApp 1, Developers ManageCredentialsPermissions, oder ProdServerCert.

Wenn Sie das IAM API oder AWS Command Line Interface (AWS CLI) verwenden, um IAM Ressourcen zu erstellen, können Sie einen optionalen Pfad hinzufügen. Sie können einen einzelnen Pfad verwenden oder mehrere Pfade in einer Ordnerstruktur verschachteln. Beispielsweise können Sie den verschachtelten Pfad /division_abc/subdivision_xyz/product_1234/engineering/ verwenden, um der Organisationsstruktur Ihres Unternehmens zu entsprechen. Sie könnten dann eine Richtlinie erstellen, die allen Benutzern in diesem Pfad den Zugriff auf den Richtliniensimulator ermöglichtAPI. Informationen zu dieser Richtlinie finden Sie unter: IAM: Zugriff auf die Richtliniensimulator-API basierend auf dem Benutzerpfad. Informationen darüber, wie ein Anzeigename angegeben werden kann, finden Sie in der API Benutzerdokumentation. Weitere Beispiele für die Verwendung von Pfaden finden Sie unter IAM ARNs.

Wenn Sie Ressourcen AWS CloudFormation erstellen, können Sie einen Pfad für Benutzer, IAM Gruppen und Rollen sowie vom Kunden verwaltete Richtlinien angeben.

Wenn Sie einen Benutzer und eine Benutzergruppe im selben Pfad haben, wird der Benutzer IAM nicht automatisch dieser Benutzergruppe zugeordnet. Sie können beispielsweise die Gruppe "Developers" erstellen und als deren Pfad /division_abc/subdivision_xyz/product_1234/engineering/ angeben. Wenn Sie einen Benutzer namens Bob erstellen und ihm denselben Pfad hinzufügen, bedeutet dies nicht, dass Bob automatisch der Benutzergruppe „Developers“ zugeordnet wird. IAMerzwingt keine Grenzen zwischen Benutzern oder IAM Gruppen auf der Grundlage ihrer Pfade. Benutzer mit verschiedenen Pfaden können dieselben Ressourcen verwenden (dabei wird davon ausgegangen, dass Berechtigungen für diese Ressourcen erteilt wurden). Die Anzahl und Größe der IAM Ressourcen in einem AWS Konto sind begrenzt. Weitere Informationen finden Sie unter IAMund AWS STS Kontingente.

IAM ARNs

Die meisten Ressourcen haben einen Anzeigenamen, z. B. ein Benutzer mit dem Namen Bob oder eine Gruppe mit dem Namen Developers). Die Sprache der Berechtigungsrichtlinie erfordert jedoch, dass Sie die Ressource oder Ressourcen im folgenden Amazon-Ressourcennamen (ARN) -Format angeben.

arn:partition:service:region:account:resource

Wobei gilt:

  • partition identifiziert die Partition, in der sich die Ressource befindet. Für AWS -Standardregionen lautet die Partition aws. Wenn Sie Ressourcen in anderen Partitionen haben, lautet die Partition aws-partitionname. Die Aufteilung der Ressourcen in der Region China (Peking) lautet beispielsweise aws-cn. Es ist nicht möglich, zwischen Konten in verschiedenen Partitionen Zugriff zu delegieren.

  • serviceidentifiziert das AWS Produkt. IAMRessourcen werden immer genutztiam.

  • region identifiziert die Region der Ressource an. Bei IAM Ressourcen wird dieses Feld immer leer gelassen.

  • accountgibt die AWS-Konto ID ohne Bindestriche an.

  • resource identifiziert die spezifische Ressource anhand ihres Namens.

Sie können die folgende IAM Syntax angeben und AWS STS ARNs verwenden. Der Teil Region von ARN ist leer, da es sich bei den IAM Ressourcen um globale Ressourcen handelt.

Syntax:

arn:aws:iam::account:root arn:aws:iam::account:user/user-name-with-path arn:aws:iam::account:group/group-name-with-path arn:aws:iam::account:role/role-name-with-path arn:aws:iam::account:policy/policy-name-with-path arn:aws:iam::account:instance-profile/instance-profile-name-with-path arn:aws:sts::account:federated-user/user-name arn:aws:sts::account:assumed-role/role-name/role-session-name arn:aws:sts::account:self arn:aws:iam::account:mfa/virtual-device-name-with-path arn:aws:iam::account:u2f/u2f-token-id arn:aws:iam::account:server-certificate/certificate-name-with-path arn:aws:iam::account:saml-provider/provider-name arn:aws:iam::account:oidc-provider/provider-name

Viele der folgenden Beispiele enthalten Pfade im Ressourcenteil vonARN. Pfade können in der AWS Management Console weder erstellt noch bearbeitet werden. Um Pfade verwenden zu können, müssen Sie mit der Ressource arbeiten, indem Sie die Tools AWS API AWS CLI, die oder die Tools für Windows verwenden PowerShell.

Beispiele:

arn:aws:iam::123456789012:root arn:aws:iam::123456789012:user/JohnDoe arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/JaneDoe arn:aws:iam::123456789012:group/Developers arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_A/Developers arn:aws:iam::123456789012:role/S3Access arn:aws:iam::123456789012:role/application_abc/component_xyz/RDSAccess arn:aws:iam::123456789012:role/aws-service-role/access-analyzer.amazonaws.com/AWSServiceRoleForAccessAnalyzer arn:aws:iam::123456789012:role/service-role/QuickSightAction arn:aws:iam::123456789012:policy/UsersManageOwnCredentials arn:aws:iam::123456789012:policy/division_abc/subdivision_xyz/UsersManageOwnCredentials arn:aws:iam::123456789012:instance-profile/Webserver arn:aws:sts::123456789012:federated-user/JohnDoe arn:aws:sts::123456789012:assumed-role/Accounting-Role/JaneDoe arn:aws:sts::123456789012:self arn:aws:iam::123456789012:mfa/JaneDoeMFA arn:aws:iam::123456789012:u2f/user/JohnDoe/default (U2F security key) arn:aws:iam::123456789012:server-certificate/ProdServerCert arn:aws:iam::123456789012:server-certificate/division_abc/subdivision_xyz/ProdServerCert arn:aws:iam::123456789012:saml-provider/ADFSProvider arn:aws:iam::123456789012:oidc-provider/GoogleProvider arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-west-2.amazonaws.com/id/a1b2c3d4567890abcdefEXAMPLE11111 arn:aws:iam::123456789012:oidc-provider/server.example.org

Die folgenden Beispiele enthalten detailliertere Informationen, damit Sie das ARN Format für verschiedene Typen von IAM AWS STS Ressourcen besser verstehen.

  • Ein IAM-Benutzer im Konto

    Anmerkung

    Jeder IAM Benutzername ist einzigartig. Beim Benutzernamen wird nicht zwischen Groß- und Kleinschreibung unterschieden, z. B. bei der Anmeldung, aber bei der Verwendung in einer Richtlinie oder als Teil einer. ARN

    arn:aws:iam::123456789012:user/JohnDoe
  • Ein anderer Benutzer mit einem Pfad basierend auf einem Organigramm:

    arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/JaneDoe
  • Eine IAM Benutzergruppe:

    arn:aws:iam::123456789012:group/Developers
  • Eine IAM Benutzergruppe mit einem Pfad:

    arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_A/Developers
  • Eine IAM-Rolle:

    arn:aws:iam::123456789012:role/S3Access
  • Eine serviceverknüpfte Rolle:

    arn:aws:iam::123456789012:role/aws-service-role/access-analyzer.amazonaws.com/AWSServiceRoleForAccessAnalyzer
  • Eine Servicerolle:

    arn:aws:iam::123456789012:role/service-role/QuickSightAction
  • Eine verwaltete Richtlinie:

    arn:aws:iam::123456789012:policy/ManageCredentialsPermissions
  • Ein Instance-Profil, das mit einer EC2 Amazon-Instance verknüpft werden kann:

    arn:aws:iam::123456789012:instance-profile/Webserver
  • Ein Verbundbenutzer, der IAM als „Paulo“ identifiziert wurde:

    arn:aws:sts::123456789012:federated-user/Paulo
  • Die aktive Sitzung einer Benutzerin mit der Rolle "Accounting-Role" und dem Rollen-Sitzungsnamen "Mary":

    arn:aws:sts::123456789012:assumed-role/Accounting-Role/Mary
  • Stellt die eigene Sitzung des Anrufers dar, wenn sie als Ressource in einem API Anruf verwendet wird, z. B. die AWS STS SetContextAPI, die in der aufrufenden Sitzung ausgeführt wird:

    arn:aws:sts::123456789012:self
  • Das dem Benutzer Jorge zugewiesene Gerät für Multifaktor-Authentifizierung:

    arn:aws:iam::123456789012:mfa/Jorge
  • Ein Serverzertifikat

    arn:aws:iam::123456789012:server-certificate/ProdServerCert
  • Ein Serverzertifikat mit einem Pfad, der ein Organigramm widerspiegelt:

    arn:aws:iam::123456789012:server-certificate/division_abc/subdivision_xyz/ProdServerCert
  • Identitätsanbieter (SAMLundOIDC):

    arn:aws:iam::123456789012:saml-provider/ADFSProvider arn:aws:iam::123456789012:oidc-provider/GoogleProvider arn:aws:iam::123456789012:oidc-provider/server.example.org
  • OIDCIdentitätsanbieter mit einem Pfad, der einen EKS OIDC Amazon-Identitätsanbieter widerspiegeltURL:

    arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-west-2.amazonaws.com/id/a1b2c3d4567890abcdefEXAMPLE11111

Ein weiterer wichtiger Benutzer ARN ist der Root-BenutzerARN. Obwohl dies keine IAM Ressource ist, sollten Sie mit dem Format dieser Ressource vertraut seinARN. Er wird häufig im Principal-Element einer ressourcenbasierter Richtlinie verwendet.

  • Das AWS-Konto zeigt Folgendes an:

    arn:aws:iam::123456789012:root

Das folgende Beispiel zeigt eine Richtlinie, die Sie Richard zuweisen können, damit er die Berechtigung zur Verwaltung seiner eigenen Zugriffsschlüssel erhält. Beachten Sie, dass es sich bei der Ressource um den IAM Benutzer Richard handelt.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageRichardAccessKeys", "Effect": "Allow", "Action": [ "iam:*AccessKey*", "iam:GetUser" ], "Resource": "arn:aws:iam::*:user/division_abc/subdivision_xyz/Richard" }, { "Sid": "ListForConsole", "Effect": "Allow", "Action": "iam:ListUsers", "Resource": "*" } ] }
Anmerkung

Wenn Sie Ressourcen ARNs in einer IAM Richtlinie identifizieren, können Sie Richtlinienvariablen einbeziehen. Richtlinienvariablen können Platzhalter für Laufzeitinformationen (wie den Namen des Benutzers) als Teil von enthalten. ARN Weitere Informationen finden Sie unter IAM-Richtlinienelemente: Variablen und Tags

Verwenden von Platzhaltern und Pfaden in ARNs

Sie können Platzhalter verwenden in resource Teil vonARN, um mehrere Benutzer, IAM Gruppen oder Richtlinien anzugeben. Wenn Sie beispielsweise alle Benutzer, die auf product_1234 arbeiten, angeben möchten, geben Sie Folgendes an:

arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/product_1234/*

Wenn Sie Benutzer haben, deren Namen mit der Zeichenfolge beginnenapp_, können Sie mit dem Folgenden auf alle Benutzer verweisenARN.

arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/product_1234/app_*

Um alle Benutzer, IAM Gruppen oder Richtlinien in Ihrem System anzugeben AWS-Konto, verwenden Sie jeweils einen Platzhalter nach dem user/group/, oder einen policy/ Teil davon. ARN

arn:aws:iam::123456789012:user/* arn:aws:iam::123456789012:group/* arn:aws:iam::123456789012:policy/*

Wenn Sie Folgendes ARN für einen Benutzer angeben, entspricht arn:aws:iam::111122223333:user/* dies den beiden folgenden Beispielen.

arn:aws:iam::111122223333:user/JohnDoe arn:aws:iam::111122223333:user/division_abc/subdivision_xyz/JaneDoe

Wenn Sie jedoch Folgendes ARN für einen Benutzer angeben, entspricht arn:aws:iam::111122223333:user/division_abc* dies dem zweiten Beispiel, aber nicht dem ersten.

arn:aws:iam::111122223333:user/JohnDoe arn:aws:iam::111122223333:user/division_abc/subdivision_xyz/JaneDoe

Verwenden Sie keinen Platzhalter im user/group/, oder policy/ Teil von. ARN IAMErlaubt beispielsweise Folgendes nicht:

arn:aws:iam::123456789012:u*
Beispiel für die Verwendung von Pfaden und ARNs für eine projektbasierte Benutzergruppe

Pfade können in der AWS Management Console weder erstellt noch bearbeitet werden. Um Pfade verwenden zu können, müssen Sie mit der Ressource arbeiten, indem Sie die Tools AWS API AWS CLI, die oder die Tools für Windows verwenden. PowerShell

In diesem Beispiel erstellt Jules in der Gruppe „Marketing_Admin“ eine projektbasierte Gruppe im Pfad /marketing/. Jules ordnet Benutzer aus verschiedenen Teilen des Unternehmens der Gruppe zu. Dieses Beispiel veranschaulicht, dass keine Beziehung zwischen dem Pfad und den Gruppen, in denen sich der Benutzer befindet, existiert.

Die Marketinggruppe möchte ein neues Produkt einführen, daher erstellt Jules eine neue Gruppe im Pfad /marketing/ mit dem Namen Widget Launch. Jules weist dann die folgende Richtlinie der Gruppe zu, die der Gruppe den Zugriff auf Objekte auf den Teil vom example_bucket, der für diese Markteinführung vorgesehen ist, gewährt.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "arn:aws:s3:::example_bucket/marketing/newproductlaunch/widget/*" }, { "Effect": "Allow", "Action": "s3:ListBucket*", "Resource": "arn:aws:s3:::example_bucket", "Condition": {"StringLike": {"s3:prefix": "marketing/newproductlaunch/widget/*"}} } ] }

Jules fügt dann die Benutzer, die an dieser Markteinführung arbeiten, der Gruppe hinzu. Dies schließt Patricia und Eli aus dem /Marketing/-Pfad ein. Außerdem werden auch Chris und Chloe aus dem Pfad /sales/ sowie Alice und Jim aus dem Pfad /legal/ der Gruppe hinzugefügt.

Eindeutige Bezeichner

Beim IAM Erstellen eines Benutzers, einer Benutzergruppe, einer Rolle, einer Richtlinie, eines Instanzprofils oder eines Serverzertifikats wird jeder Ressource eine eindeutige ID zugewiesen. Die eindeutige ID sieht wie folgt aus:

AIDAJQABLZS4A3QDU576Q

In den meisten Fällen verwenden Sie benutzerfreundliche Namen und ARNswenn Sie mit IAM Ressourcen arbeiten. Auf diese Weise müssen Sie die eindeutige ID für eine bestimmte Ressource nicht kennen. Die eindeutige ID kann allerdings in einigen Fällen nützlich sein, wenn die Verwendung von Anzeigenamen unpraktisch ist.

In einem Beispiel werden freundliche Namen in Ihrem AWS-Konto wiederverwendet. Innerhalb Ihres Kontos muss ein Anzeigename für einen Benutzer, eine Gruppe, eine Rolle oder eine Richtlinie eindeutig sein. Sie könnten beispielsweise einen IAM Benutzer mit dem Namen John erstellen. Ihr Unternehmen verwendet Amazon S3 und hat einen Bucket mit Ordnern für jeden Mitarbeiter. IAMEin Benutzer John ist Mitglied einer IAM Benutzergruppe User-S3-Access mit einem Namen, der über Berechtigungen verfügt, die Benutzern nur Zugriff auf ihre eigenen Ordner im Bucket gewähren. Ein Beispiel dafür, wie Sie eine identitätsbasierte Richtlinie erstellen könnten, die es IAM Benutzern ermöglicht, auf ihr eigenes Bucket-Objekt in S3 unter dem benutzerfreundlichen Namen von Benutzern zuzugreifen, finden Sie unter. Amazon S3: Ermöglicht IAM Benutzern programmgesteuert und in der Konsole den Zugriff auf ihr S3-Home-Verzeichnis

Angenommen, der Mitarbeiter mit dem Namen John verlässt Ihr Unternehmen und Sie löschen den entsprechenden IAM Nutzernamen. John Aber später beginnt ein anderer Mitarbeiter namens John, und Sie erstellen einen neuen IAM Benutzer mit dem NamenJohn. Sie fügen den neuen IAM Benutzer mit John dem Namen der vorhandenen IAM Benutzergruppe hinzuUser-S3-Access. Wenn die der Benutzergruppe zugeordnete Richtlinie den benutzerfreundlichen IAM Benutzernamen festlegtJohn, ermöglicht die Richtlinie dem neuen John den Zugriff auf Informationen, die der ehemalige John hinterlassen hat.

Im Allgemeinen empfehlen wir, dass Sie in Ihren Richtlinien den ARN für die Ressource verwendeten und nicht ihre eindeutige ID angeben. Jeder IAM Benutzer hat jedoch eine eindeutige ID, auch wenn Sie einen neuen IAM Benutzer erstellen, der einen benutzerfreundlichen Namen wiederverwendet, den Sie zuvor gelöscht haben. In diesem Beispiel haben der alte IAM John und der neue IAM Benutzer John unterschiedliche eindeutige IDs Namen. Sie können ressourcenbasierte Richtlinien erstellen, die den Zugriff nach einer eindeutigen ID und nicht nur nach dem Benutzernamen gewähren. Dadurch wird die Wahrscheinlichkeit verringert, dass Sie versehentlich Zugriff auf Informationen gewähren, die ein Mitarbeiter nicht erhalten sollte.

Das folgende Beispiel zeigt, wie Sie IDs im PrincipalElement einer ressourcenbasierten Richtlinie den Wert unique angeben können.

"Principal": { "AWS": [ "arn:aws:iam::111122223333:role/role-name", "AIDACKCEVSQ6C2EXAMPLE", "AROADBQP57FF2AEXAMPLE" }

Das folgende Beispiel zeigt, wie Sie mithilfe eines globalen IDs Bedingungsschlüssels im ConditionElement einer Richtlinie den Wert unique angeben können. aws:userid

"Condition": { "StringLike": { "aws:userId": [ "AIDACKCEVSQ6C2EXAMPLE", "AROADBQP57FF2AEXAMPLE:role-session-name", "AROA1234567890EXAMPLE:*", "111122223333" ] } }

Ein weiteres Beispiel, bei dem Benutzer nützlich sein IDs können, ist, wenn Sie Ihre eigene Datenbank (oder einen anderen Speicher) mit IAM Benutzer- oder Rolleninformationen verwalten. Die eindeutige ID kann für jeden IAM Benutzer oder jede Rolle, die Sie erstellen, eine eindeutige Kennung bereitstellen. Dies ist der Fall, wenn Sie IAM Benutzer oder Rollen haben, die einen Namen wiederverwenden, wie im vorherigen Beispiel.

Grundlegendes zu eindeutigen ID-Präfixen

IAMverwendet die folgenden Präfixe, um anzugeben, für welchen Ressourcentyp jede eindeutige ID gilt. Präfixe können je nachdem, wann sie erstellt wurden, variieren.

Präfix Ressourcentyp
ABIA AWS STS Dienstträger-Token
ACCA Kontextspezifische Anmeldeinformationen

AGPA

Benutzergruppe

AIDA

IAMBenutzer

AIPA EC2Amazon-Instanzprofil
AKIA Zugriffsschlüssel
ANPA

Verwaltete Richtlinie

ANVA

Version in einer verwalteten Richtlinie

APKA Öffentlicher Schlüssel
AROA Rolle
ASCA Zertifikat

ASIA

Temporäre Zugriffsschlüssel (AWS STS) IDs verwenden dieses Präfix, sind aber nur in Kombination mit dem geheimen Zugriffsschlüssel und dem Sitzungstoken eindeutig.

Abrufen des eindeutigen Bezeichners

Die eindeutige ID für eine IAM Ressource ist in der IAM Konsole nicht verfügbar. Um die eindeutige ID zu erhalten, können Sie die folgenden AWS CLI Befehle oder IAM API Aufrufe verwenden.

AWS CLI:

IAM API: