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.
IAM-IDs
IAM verwendet einige verschiedene Kennungen 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 die 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önnen dann eine Richtlinie einrichten, die allen Benutzern in diesem Pfad ermöglicht, auf die Richtliniensimulator-API zuzugreifen. 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 Dokumentation zur User API. Weitere Beispiele für die Verwendung von Pfaden finden Sie unter ICH BIN ARNs.
Wenn Sie Ressourcen erstellen AWS CloudFormation , 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 gleichen Pfad haben, fügt IAM den Benutzer nicht automatisch in diese Benutzergruppe ein. 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. IAM erzwingt keine Grenzen zwischen Benutzern oder IAM-Gruppen basierend auf deren Pfaden. 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 IAM und Kontingente AWS STS.
ICH BIN ARNs
Die meisten Ressourcen haben einen Anzeigenamen, z. B. ein Benutzer mit dem Namen Bob
oder eine Gruppe mit dem Namen Developers
). Allerdings ist es für die Sprache der Berechtigungsrichtlinie erforderlich, dass Sie die Ressource oder Ressourcen im folgenden Amazon-Ressourcenname (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. IAM-Ressourcen verwenden immeriam
. -
region
identifiziert die Region der Ressource an. Für IAM-Ressourcen bleibt dies grundsätzlich leer. -
account
gibt die AWS-Konto ID ohne Bindestriche an. -
resource
identifiziert die spezifische Ressource anhand ihres Namens.
Sie können IAM angeben und die folgende AWS STS ARNs Syntax verwenden. Der Teil zur Angabe der Region im ARN ist leer, da IAM-Ressourcen globale Ressourcen sind.
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
arn:aws:iam::aws:contextProvider/context-provider-name
Viele der folgenden Beispiele enthalten Pfade im Ressourcen-Teil des ARN. 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 AWS API AWS CLI, die oder die Tools für Windows PowerShell verwenden.
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 arn:aws:iam::aws:contextProvider/IdentityCenter
Die folgenden Beispiele bieten detailliertere Informationen, damit Sie das ARN-Format für verschiedene IAM-Typen und AWS STS Ressourcen besser verstehen.
-
Ein IAM-Benutzer im Konto:
Anmerkung
Jeder IAM-Benutzername muss eindeutig sein. Beim Benutzernamen wird für den Benutzer nicht zwischen Groß- und Kleinschreibung unterschieden, z. B. während des Anmeldevorgangs, aber wenn Sie ihn in einer Richtlinie oder als Teil eines ARN verwenden, wird zwischen Groß- und Kleinschreibung unterschieden.
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
-
Einem IAM-Benutzer oder einer IAM-Gruppe:
arn:aws:iam::123456789012:group/Developers
-
Eine IAM-Gruppe 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 in IAM mit dem Namen „Paulo“:
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 Aufrufers dar, wenn sie als Ressource in einem API-Aufruf 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 (SAML und OIDC):
arn:aws:iam::123456789012:saml-provider/ADFSProvider arn:aws:iam::123456789012:oidc-provider/GoogleProvider arn:aws:iam::123456789012:oidc-provider/server.example.org
-
OIDC-Identitätsanbieter mit einem Pfad, der eine Amazon-EKS-OIDC-Identitätsanbieter-URL widerspiegelt:
arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-west-2.amazonaws.com/id/a1b2c3d4567890abcdefEXAMPLE11111
-
Der für die Verbreitung AWS IAM Identity Center vertrauenswürdiger Identitäten verwendete Kontext-Provider-ARN, aus dem die vertrauenswürdige Kontext-Assertion generiert wurde:
arn:aws:iam::aws:contextProvider/IdentityCenter
Ein weiterer wichtiger ARN ist der Stammbenutzer-ARN. Obwohl dies keine IAM-Ressource ist, sollten Sie mit dem Format dieses ARN vertraut sein. 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 die Ressource der IAM-Benutzer Richard ist.
{ "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 (z. B. den Benutzernamen) als Teil des ARN enthalten. Weitere Informationen finden Sie unter IAM-Richtlinienelemente: Variablen und Tags.
Verwenden Sie Platzhalter und Pfade in ARNs
Sie können Platzhalter im resource
Teil des ARN verwenden, um mehrere Benutzer oder 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 app_
beginnen, können Sie sich mit dem folgenden ARN auf alle beziehen.
arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/product_1234/app_*
Um alle Benutzer, IAM-Gruppen oder Richtlinien in Ihrem anzugeben AWS-Konto, verwenden Sie jeweils einen Platzhalter nach dem user/
group/
, oder einem policy/
Teil des ARN.
arn:aws:iam::123456789012:user/* arn:aws:iam::123456789012:group/* arn:aws:iam::123456789012:policy/*
Wenn Sie den folgenden ARN für einen Benutzer arn:aws:iam::111122223333:user/*
angeben, passt er zu beiden der folgenden Beispiele.
arn:aws:iam::111122223333:user/JohnDoe arn:aws:iam::111122223333:user/division_abc/subdivision_xyz/JaneDoe
Wenn Sie jedoch den folgenden ARN für einen Benutzer arn:aws:iam::111122223333:user/division_abc*
angeben, stimmt er mit dem zweiten Beispiel überein, aber nicht mit dem ersten.
arn:aws:iam::111122223333:user/JohnDoe arn:aws:iam::111122223333:user/division_abc/subdivision_xyz/JaneDoe
Verwenden Sie keinen Platzhalter innerhalb von user/
, group/
oder policy/
im ARN. Beispielsweise lässt IAM folgendes nicht zu:
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 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. Dazu gehören Patricia und Eli von the /marketing/ path. It also includes Chris and Chloe from the /sales/ path, and Alice and Jim from the /legal /path.
Eindeutige Bezeichner
Wenn IAM einen Benutzer, eine Gruppe, Rolle, Richtlinie, ein Instance-Profil oder Serverzertifikat erstellt, weist es jeder Ressource eine eindeutige ID zu. 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 benutzerfreundliche Namen in Ihrem wiederverwendet. AWS-Konto Innerhalb Ihres Kontos muss ein Anzeigename für einen Benutzer, eine Gruppe, eine Rolle oder eine Richtlinie eindeutig sein. Sie können beispielsweise einen IAM-Benutzer mit dem Namen John
erstellen. Ihr Unternehmen verwendet Amazon S3 und hat einen Bucket mit Ordnern für jeden Mitarbeiter. IAM-Benutzer John
ist ein Mitglied einer IAM-Benutzergruppe mit dem Namen User-S3-Access
mit Berechtigungen, mit denen Benutzer nur auf ihre eigenen Ordner im Bucket zugreifen können. Ein Beispiel für das Erstellen einer identitätsbasierten Richtlinie, die es IAM-Benutzern erlaubt, auf ihr eigenes Bucket-Objekt in S3 unter Verwendung des Anzeigenamens von Benutzern zuzugreifen, finden Sie unter Amazon S3:: Gewährt IAM-Benutzern programmgesteuert und in der Konsole Zugriff auf ihr S3-Stammverzeichnis..
Angenommen, der Mitarbeiter mit dem Namen John verlässt Ihr Unternehmen und Sie löschen den entsprechenden IAM-Benutzer mit Namen John
. Später jedoch fängt ein anderer Mitarbeiter mit dem Namen John an und Sie erstellen einen neuen IAM-Benutzer mit dem Namen John
. Sie fügen den neuen IAM-Benutzer mit dem Namen John
zur bestehenden IAM-Benutzergruppe User-S3-Access
hinzu. Wenn die Richtlinie, die mit der Benutzergruppe verbunden ist, den benutzerfreundlichen IAM-Benutzernamen John
angibt, 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 anstelle ihrer eindeutigen ID angeben. Allerdings haben IAM-Benutzer eine eindeutige ID, selbst wenn Sie einen neuen IAM-Benutzer mit einem vorher gelöschten Anzeigenamen erstellen. In diesem Beispiel haben der alte IAM-Benutzer John
und der neue IAM-Benutzer John
unterschiedliche eindeutige Namen. IDs 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 ein Benutzer nützlich sein IDs kann, ist, wenn Sie Ihre eigene Datenbank (oder einen anderen Speicher) mit IAM-Benutzer- oder Rolleninformationen verwalten. Die eindeutige ID kann einen eindeutigen Bezeichner für jeden von Ihnen erstellten IAM-Benutzer oder -Rolle bereitstellen. Dies ist der Fall, auch wenn Sie im Laufe der Zeit über IAM-Benutzer oder -Rollen verfügen, die wie im vorherigen Beispiel einen Namen wiederverwenden.
Grundlegendes zu eindeutigen ID-Präfixen
IAM verwendet die folgenden Präfixe, um anzugeben, auf welche Art von Ressource jede eindeutige ID angewendet wird. Präfixe können je nach Zeitpunkt ihrer Erstellung unterschiedlich sein.
Präfix | Ressourcentyp |
---|---|
ABIA | AWS STS Dienstträger-Token |
ACCA | Kontextspezifische Anmeldeinformationen |
AGPA |
Benutzergruppe |
AIDA |
IAM-Benutzer |
AIPA | EC2 Amazon-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 -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: