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