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
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" } }