Grundlegendes zu Token-Ansprüchen - 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.

Grundlegendes zu Token-Ansprüchen

Wenn Sie die GetWebIdentityTokenAPI aufrufen, gibt der 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 verstehen, können Sie sichere Authentifizierungsabläufe implementieren, entsprechende Anspruchsvalidierungen in externen Diensten konfigurieren und benutzerdefinierte Ansprüche effektiv für eine detaillierte Zugriffskontrolle nutzen.

Das JWT umfasst standardmäßige OpenID Connect (OIDC) -Angaben wie Betreff („Sub“), Zielgruppe („aud“) und Emittent („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 Konto-ID und Principal-Tags) und Sitzungskontextansprüchen (wie Instanz) auf. EC2 ARNs 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 diesen Anspruch, um sicherzustellen, dass er dem Emittenten entspricht, dem sie vertrauen. https://abc123-def456-ghi789-jkl012.tokens.sts.global.api.aws
aud Zielgruppe Der beabsichtigte Empfänger für das in der GetWebIdentityTokenAnfrage angegebene Token. https://api.example.com
sub Betreff Der ARN des IAM-Prinzipals, der das Token angefordert hat. arn:aws:iam: :123456789012:role/ DataProcessingRole
iat Ausgestellt am NumericDate Wert, der den Zeitpunkt angibt, zu dem das JWT ausgestellt 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

Kundenspezifische Ansprüche

AWS STS Fügt zusätzlich zu den standardmäßigen OIDC-Ansprüchen gegebenenfalls auch Ansprüche 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 Namespace https://sts.amazonaws.com/verschachtelt.

AWS Identitätsansprüche

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

Antrag Description Wird dem Condition Key zugeordnet Beispielwert
aws_account Ihre Konto-ID AWS war: 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) aws: PrincipalOrg ID o-abc1234567
ou_path Pfad Ihrer Organisationseinheit (falls zutreffend) als: PrincipalOrgPaths o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-2222222222/
Haupte_Schlagworte Tags, die dem IAM-Prinzipal oder der Sitzung mit der angenommenen Rolle zugeordnet sind. Wenn ein Token angefordert wird, bei dem der anfordernde IAM-Principal sowohl Principal- als auch Sitzungs-Tags hat, sind die Sitzungs-Tags im JWT vorhanden. aws:/PrincipalTag<tag-key> {"Umgebung“: „Produktion“, „Team“: „Datentechnik“, „Kostenstelle“ :"Technik "}

Ansprüche aus dem Sitzungskontext

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

Antrag Description Ordnet dem Condition Key zu Beispielwert
original_session_exp Wann die Anmeldeinformationen für die ursprüngliche Rollensitzung ablaufen (für angenommene Rollen) 2024-01-15T 10:00:00 Z
föderierter_Anbieter Der Name des Identitätsanbieters für Verbundsitzungen war: FederatedProvider arn:aws:iam: :111122223333: oidc-provider/your_oidc_provider
identity_store_user_id IAM Identity Center-Benutzer-ID Identitätsspeicher: UserId benutzer-abc123def456
identity_store_arn ARN des Identity Center-Identitätsspeichers Identitätsspeicher: IdentityStoreArn arn:aws:identitystore: :123456789012:identitystore/d-abc1234567
ec2_source_instance_arn ARN der anfragenden EC2 Instanz ec2: SourceInstanceArn arn:aws:ec2:us-east-1:123456789012:instance/i-abc123def456
ec2_instance_source_vpc VPC-ID, an die die EC2 Rollenanmeldedaten übermittelt wurden AWS: EC2 InstanceSourceVpc vpc-abc123def456
ec2_instance_source_private_ipv4 Private Adresse der Instanz IPv4 EC2 AWS: EC2 InstanceSourcePrivate IPv4 10.0.1.25
ec2_role_delivery Version des Instanz-Metadatendienstes ec2: RoleDelivery 2
Quellidentität Vom Prinzipal 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:meine-funktion
glue_credentials issuing_service AWS Glue-Service-ID für Glue-Jobs Klebstoff: CredentialIssuingService kleber.amazonaws.com

Tags anfordern

Sie können Tokens benutzerdefinierte Ansprüche hinzufügen, indem Sie in der GetWebIdentityTokenAPI-Anfrage Tags angeben. Diese Ansprüche werden unter dem Feld request_tags im Token angezeigt und ermöglichen es Ihnen, spezifische Informationen weiterzugeben, 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 eines Tokens:

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