Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Comprendre les réclamations symboliques
Lorsque vous appelez l'GetWebIdentityTokenAPI, le AWS Security Token Service renvoie un jeton Web JSON (JWT) signé qui contient un ensemble de revendications représentant l'identité du principal IAM. Ces jetons sont conformes à la RFC 7519
Le JWT inclut des revendications OpenID Connect (OIDC) standard telles que le sujet (« sub »), l'audience (« aud »), l'émetteur (« iss ») afin de faciliter l'interopérabilité entre les différents services externes. AWS STS remplit le jeton avec des revendications AWS spécifiques à l'identité (comme l'ID de AWS compte et les balises Principal) et des revendications de contexte de session (comme une EC2 instance ARNs) le cas échéant. Vous pouvez également ajouter des revendications personnalisées au jeton en les transmettant sous forme de balises de requête à l'GetWebIdentityTokenAPI. Les revendications AWS spécifiques à l'identité, les revendications relatives au contexte de session et les revendications personnalisées sont imbriquées sous l'espace de noms «https://sts.amazonaws.com/» du jeton.
Reportez-vous à l'exemple de jeton ci-dessous pour obtenir la liste des réclamations incluses dans le jeton. Veuillez noter que toutes ces réclamations peuvent ne pas être présentes sous forme de jeton en même temps.
{ "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" } } }
Réclamations standard
Les allégations OIDC standard présentes dans les jetons facilitent l'interopérabilité avec un large éventail de services externes. Ces affirmations peuvent être validées à l'aide de la plupart des bibliothèques JWT.
| Demander | Nom | Description | Exemple de valeur |
|---|---|---|---|
| iss | Emetteur | URL de l'émetteur spécifique à votre compte. Les services externes valident cette réclamation pour s'assurer qu'elle correspond à leur émetteur de confiance. | https://abc123-def456-ghi789-jkl012.tokens.sts.global.api.aws |
| aud | Public ciblé | Destinataire prévu pour le jeton spécifié dans la GetWebIdentityTokendemande. | https://api.example.com |
| sub | Sujet | L'ARN du principal IAM qui a demandé le jeton. | arn:aws:iam : :123456789012:role/ DataProcessingRole |
| iat | Délivré à | NumericDate valeur qui identifie l'heure à laquelle le JWT a été émis. | 1700000000 |
| exp | Expiration | NumericDate valeur qui identifie l'heure d'expiration à laquelle ou après laquelle le JWT NE DOIT PAS être accepté pour traitement. | 1700000900 |
| jti | IDENTIFIANT JWT | Identifiant unique pour cette instance de jeton. | xyz123-def456-ghi789-jkl012 |
Réclamations personnalisées
Outre les revendications OIDC standard, AWS STS ajoute des allégations concernant l'identité et le contexte de session, le cas échéant. Vous pouvez également ajouter vos propres revendications au jeton en les transmettant sous forme de balises de demande. Les revendications personnalisées sont imbriquées sous l'espace de noms https://sts.amazonaws.com/.
AWS demandes d'identité
Ces réclamations fournissent des informations détaillées sur votre AWS compte, la structure de votre organisation et le directeur d'IAM.
| Demander | Description | Cartes vers la clé de condition | Exemple de valeur |
|---|---|---|---|
| compte aws_ | L'identifiant AWS de votre compte | lois : PrincipalAccount | 123456789012 |
| source_region | La AWS région où le jeton a été demandé | lois : RequestedRegion | us-east-1 |
| org_id | Votre identifiant d' AWS organisation (si votre compte fait partie d'une organisation) | lois : PrincipalOrg ID | o-abc1234567 |
| ou_path | Le parcours de votre unité organisationnelle (le cas échéant) | lois : PrincipalOrgPaths | o-a1b2c3d4e5/r-ab12/ou-ab12-11111111/ou-ab12-222222222222/ |
| principal_tags | Balises associées à la session de rôle principal ou assumé par l'IAM. Lorsqu'un jeton est demandé alors que le principal IAM demandeur possède à la fois des balises principales et des balises de session, les balises de session seront présentes dans le JWT. | lois :PrincipalTag/<tag-key> | {"environnement » : « production », « équipe » : « ingénierie des données », « centre de coûts » « ingénierie »} |
Déclarations relatives au contexte de session
Ces allégations fournissent des informations sur l'environnement informatique et la session d'où provient la demande de jeton. AWS AWS STS inclut automatiquement ces réclamations, le cas échéant, en fonction du contexte de session du principal demandeur.
| Demander | Description | Cartes vers la clé de condition | Exemple de valeur |
|---|---|---|---|
| exp de session originale | Quand les informations d'identification de la session de rôle d'origine expireront (pour les rôles assumés) | N/A | 2024-01-15T 10:00:00 Z |
| fournisseur_fédéré | Le nom du fournisseur d'identité pour les sessions fédérées | lois : FederatedProvider | arn:aws:iam : :111122223333:oidc-provider/your_oidc_provider |
| identity_store_user_id | ID utilisateur du centre d'identité IAM | boutique d'identité : UserId | user-abc123def456 |
| identity_store_arn | ARN de la boutique d'identités Identity Center | boutique d'identité : IdentityStoreArn | arn:aws:identitystore : :123456789012 : identitystore/d-abc1234567 |
| ec2_source_instance_arn | ARN de l' EC2 instance demandeuse | EC2 : SourceInstanceArn | arn:aws:ec2:us-east- 1:123456789012 : instance/i-abc123def456 |
| ec2_instance_source_vpc | ID VPC où les informations d'identification du EC2 rôle ont été fournies | AWS : EC2 InstanceSourceVpc | vpc-abc123def456 |
| ec2_instance_source_private_ipv4 | IPv4 Adresse privée de l' EC2 instance | AWS : EC2 InstanceSourcePrivate IPv4 | 10,0.1,25 |
| ec2_role_delivery | Version du service de métadonnées d'instance | EC2 : RoleDelivery | 2 |
| identité_source | Identité de la source définie par le principal | lois : SourceIdentity | utilisateur-administrateur |
| lambda_source_function_arn | ARN de la fonction Lambda appelante | lambda : SourceFunctionArn | arn:aws:lambda:us-east- 1:123456789012 : fonction:my-function |
| glue_credential_issuing_service | AWS Identifiant du service Glue pour les tâches Glue | colle : CredentialIssuingService | glue.amazonaws.com |
Tags de demande
Vous pouvez ajouter des revendications personnalisées aux jetons en spécifiant des balises dans la demande GetWebIdentityTokend'API. Ces demandes apparaissent sous le champ request_tags du jeton et vous permettent de transmettre des informations spécifiques que les services externes peuvent utiliser pour des décisions d'autorisation précises. Vous pouvez spécifier jusqu'à 50 balises par demande.
Exemple de demande :
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'} ] )
Réclamations qui en résultent sous forme de jetons :
{ "request_tags": { "team": "data-engineering", "cost-center": "analytics", "environment": "production" } }