View a markdown version of this page

Token-Ansprüche verstehen - 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.

Token-Ansprüche verstehen

Wenn Sie die GetWebIdentityToken API aufrufen, gibt AWS Security Token Service ein signiertes JSON Web Token (JWT) zurück, das eine Reihe von Ansprüchen enthält, die die Identität des IAM-Prinzipals darstellen. Diese Token entsprechen RFC 7519. Wenn Sie die Struktur und den Inhalt dieser Token kennen, können Sie sichere Authentifizierungsabläufe implementieren, geeignete Anspruchsvalidierungen in externen Diensten konfigurieren und benutzerdefinierte Ansprüche effektiv für eine differenzierte Zugriffskontrolle verwenden.

Das JWT beinhaltet standardmäßige OpenID Connect (OIDC) -Angaben wie Betreff („Sub“), Zielgruppe („aud“) und Issuer („iss“), um die Interoperabilität zwischen verschiedenen externen Diensten zu erleichtern. AWS STS füllt das Token gegebenenfalls mit AWS identitätsspezifischen Ansprüchen (wie AWS Account-ID und Principal-Tags) und Sitzungskontextansprüchen (wie EC2-Instance-ARNs) auf. Sie können dem Token auch benutzerdefinierte Ansprüche hinzufügen, indem Sie sie als Anforderungs-Tags an die API übergeben. GetWebIdentityToken Die AWS identitätsspezifischen Ansprüche sowie die Ansprüche im Sitzungskontext und die benutzerdefinierten Ansprüche sind im Token unter dem Namespace "https://sts.amazonaws.com/" verschachtelt.

Im folgenden Beispieltoken finden Sie eine Liste der im Token enthaltenen Ansprüche. Bitte beachten Sie, dass möglicherweise nicht alle diese Ansprüche gleichzeitig in einem Token enthalten sind.

{ "iss": "https://abc123-def456-ghi789-jkl012.tokens.sts.global.api.aws", "aud": "https://api.example.com", "sub": "arn:aws:iam::123456789012:role/DataProcessingRole", "iat": 1700000000, "exp": 1700000900, "jti": "xyz123-def456-ghi789-jkl012", "https://sts.amazonaws.com/": { "aws_account": "123456789012", "source_region": "us-east-1", "org_id": "o-abc1234567", "ou_path": "o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-22222222/", "principal_tags": { "environment": "production", "team": "data-engineering", "cost-center": "engineering" }, "lambda_source_function_arn": "arn:aws:lambda:us-east-1:123456789012:function:process-data", "request_tags": { "job-id": "job-2024-001", "priority": "high", "data-classification": "sensitive" } } }

Standardansprüche

Die in den Tokens enthaltenen OIDC-Standardansprüche erleichtern die Interoperabilität mit einer Vielzahl externer Dienste. Diese Behauptungen können mit den meisten JWT-Bibliotheken validiert werden.

Antrag Name Description Beispielwert
Miss Aussteller Ihre kontospezifische Aussteller-URL. Externe Dienste überprüfen diese Angabe, um sicherzustellen, dass sie mit ihrem vertrauenswürdigen Aussteller übereinstimmt. https://abc123-def456-ghi789-jkl012.tokens.sts.global.api.aws
aud Zielgruppe Der beabsichtigte Empfänger für das in der GetWebIdentityToken Anfrage angegebene Token. https://api.example.com
sub Betreff Der ARN des IAM-Principals, der das Token angefordert hat. arn:aws:iam: :123456789012: role/DataProcessingRole
iat Ausgestellt am NumericDate Wert, der den Zeitpunkt identifiziert, zu dem das JWT ausgegeben wurde. 1700000000
exp Ablauf NumericDate Wert, der die Ablaufzeit angibt, an oder nach der das JWT NICHT zur Verarbeitung akzeptiert werden DARF. 1700000900
jti JWT IST Eindeutiger Bezeichner für diese Token-Instanz. xyz123-def456-ghi789-jkl012

Benutzerdefinierte Ansprüche

AWS STS Fügt zusätzlich zu den OIDC-Standardansprüchen gegebenenfalls Angaben zur Identität und zum Sitzungskontext hinzu. Sie können dem Token auch Ihre eigenen Ansprüche hinzufügen, indem Sie sie als Anforderungs-Tags übergeben. Benutzerdefinierte Ansprüche sind unter dem https://sts.amazonaws.com/ Namespace verschachtelt.

AWS Identitätsansprüche

Diese Ansprüche enthalten detaillierte Informationen zu Ihrem AWS Konto, Ihrer Organisationsstruktur und Ihrem IAM-Prinzipal.

Antrag Description Entspricht dem Condition Key Beispielwert
aws_account Ihre Konto-ID AWS Gesetze: PrincipalAccount 123456789012
source_region Die AWS Region, in der das Token angefordert wurde war: RequestedRegion us-east-1
org_id Ihre AWS Organisations-ID (wenn Ihr Konto Teil einer Organisation ist) als: PrincipalOrg ID o-abc1234567
ou_path Pfad zu Ihrer Organisationseinheit (falls zutreffend) Gesetze: PrincipalOrgPaths o- a1b2c3d4e5/r - ab12/ou -ab12- -ab12-22222222/ 11111111/ou
wichtigste_Schlagworte Tags, die an die IAM-Principal- oder übernommene Rollensitzung angehängt sind. Wenn ein Token angefordert wird, bei dem der anfordernde IAM-Prinzipal sowohl Prinzipal-Tags als auch Sitzungs-Tags hat, sind die Sitzungs-Tags im JWT vorhanden. als:/PrincipalTag<tag-key> {"Umgebung“: „Produktion“, „Team“: „Datenentwicklung“, „Kostenstelle“ :"Technik "}

Der Sitzungskontext behauptet

Diese Behauptungen enthalten Informationen über die Rechenumgebung und die Sitzung, aus der die Token-Anfrage stammt. AWS STS schließt diese Ansprüche automatisch ein, sofern zutreffend, basierend auf dem Sitzungskontext des anfragenden Prinzipals.

Antrag Description Wird dem Bedingungsschlüssel zugeordnet Beispielwert
original_session_exp Wann die ursprünglichen Anmeldeinformationen für die Rollensitzung ablaufen (für angenommene Rollen) N/A 15.01.2020 T10:00:00Z
verbundener Anbieter Der Name des Identitätsanbieters für Verbundsitzungen AWS: FederatedProvider arn:aws:iam:111122223333:oidc- provider/your_oidc_provider
identity_store_user_id IAM Identity Center-Benutzer-ID Identitätsspeicher: UserId user-abc123def456
identity_store_arn ARN des Identity Center-Identitätsspeichers Identitätsspeicher: IdentityStoreArn arn:aws: identitystore: :123456789012: -abc1234567 identitystore/d
ec2_source_instance_arn ARN der anfordernden EC2-Instanz ec2: SourceInstanceArn arn: aws: ec2: us-east- 1:123456789012: -abc123def456 instance/i
ec2_instance_source_vpc VPC-ID, an die die Anmeldeinformationen für die EC2-Rolle übermittelt wurden war: Ec2InstanceSourceVpc vpc-abc123def456
ec2_instance_source_private_ipv4 Private IPv4-Adresse der EC2-Instanz war: Ec2InstanceSourcePrivateIPv4 10.0.1.25
ec2_role_delivery Version des Instanz-Metadatendienstes ec2: RoleDelivery 2
Quelle/Identität Vom Principal festgelegte Quellidentität war: SourceIdentity Admin-Benutzer
lambda_source_function_arn ARN der aufrufenden Lambda-Funktion Lambda: SourceFunctionArn arn: aws: lambda: us-east- 1:123456789012: Funktion: my-function
glue_credentials _issuing_service AWS Glue-Service-ID für Glue-Jobs kleben: CredentialIssuingService glue.amazonaws.com

Schlagworte anfordern

Sie können Tokens benutzerdefinierte Ansprüche hinzufügen, indem Sie in der GetWebIdentityToken API-Anfrage Tags angeben. Diese Ansprüche werden im Feld request_tags im Token angezeigt und ermöglichen es Ihnen, spezifische Informationen zu übergeben, die externe Dienste für detaillierte Autorisierungsentscheidungen verwenden können. Sie können bis zu 50 Tags pro Anfrage angeben.

Beispielanforderung:

response = sts_client.get_web_identity_token( Audience=['https://api.example.com'], SigningAlgorithm='ES384', Tags=[ {'Key': 'team', 'Value': 'data-engineering'}, {'Key': 'cost-center', 'Value': 'analytics'}, {'Key': 'environment', 'Value': 'production'} ] )

Daraus resultierende Ansprüche in Form von Token:

{ "request_tags": { "team": "data-engineering", "cost-center": "analytics", "environment": "production" } }