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 Partitionaws
. Wenn Sie Ressourcen in anderen Partitionen haben, lautet die Partitionaws-
. Die Aufteilung der Ressourcen in der Region China (Peking) lautet beispielsweisepartitionname
aws-cn
. Es ist nicht möglich, zwischen Konten in verschiedenen Partitionen Zugriff zu delegieren. -
service
identifiziert das AWS Produkt. IAMRessourcen werden immer genutztiam
. -
region
identifiziert die Region der Ressource an. Bei IAM Ressourcen wird dieses Feld immer leer gelassen. -
account
gibt 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: