Comprendere le dichiarazioni relative ai token - AWS Identity and Access Management

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Comprendere le dichiarazioni relative ai token

Quando chiami l'GetWebIdentityTokenAPI, AWS Security Token Service restituisce un token Web JSON (JWT) firmato che contiene una serie di attestazioni che rappresentano l'identità del principale IAM. Questi token sono conformi alla RFC 7519. La comprensione della struttura e del contenuto di questi token consente di implementare flussi di autenticazione sicuri, configurare le convalide appropriate delle dichiarazioni nei servizi esterni e utilizzare efficacemente le attestazioni personalizzate per un controllo granulare degli accessi.

Il JWT include dichiarazioni OpenID Connect (OIDC) standard come subject («sub»), audience («aud»), issuer («iss») per facilitare l'interoperabilità tra diversi servizi esterni. AWS STS compila il token con affermazioni AWS specifiche sull'identità (come l'ID AWS account e i tag Principal) e affermazioni relative al contesto della sessione (come l'istanza), se applicabile. EC2 ARNs Puoi anche aggiungere attestazioni personalizzate al token passandole come tag di richiesta all'API. GetWebIdentityToken Le attestazioni AWS specifiche dell'identità, le attestazioni relative al contesto della sessione e le attestazioni personalizzate sono annidate nello spazio dei nomi "https://sts.amazonaws.com/» del token.

Fai riferimento al token di esempio riportato di seguito per un elenco delle attestazioni incluse nel token. Tieni presente che tutte queste affermazioni potrebbero non essere presenti contemporaneamente in un token.

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

Reclami standard

Le affermazioni OIDC standard presenti nei token facilitano l'interoperabilità con un'ampia gamma di servizi esterni. Queste affermazioni possono essere convalidate utilizzando la maggior parte delle librerie JWT.

Richiedi Nome Description Valore di esempio
è Emittente L'URL dell'emittente specifico del tuo account. I servizi esterni convalidano questa dichiarazione per garantire che corrisponda all'emittente di fiducia. https://abc123-def456-ghi789-jkl012.tokens.sts.global.api.aws
aud Destinatari Il destinatario previsto per il token specificato nella GetWebIdentityTokenrichiesta. https://api.example.com
sub Subject L'ARN del principale IAM che ha richiesto il token. arn:aws:iam: :123456789012:role/ DataProcessingRole
iat Rilasciato a NumericDate valore che identifica il momento in cui è stato emesso il JWT. 1700000000
exp Scadenza NumericDate valore che identifica l'ora di scadenza a partire dalla quale il JWT NON DEVE essere accettato per l'elaborazione. 1700000900
jit JET È Identificatore univoco per questa istanza di token. xyz123-def456-ghi789-jkl012

Reclami personalizzati

Oltre alle attestazioni OIDC standard, AWS STS aggiunge affermazioni relative all'identità e al contesto della sessione, se applicabile. Puoi anche aggiungere le tue rivendicazioni al token passandole come tag di richiesta. Le attestazioni personalizzate sono annidate nello spazio dei nomi https://sts.amazonaws.com /.

AWS affermazioni di identità

Queste affermazioni forniscono informazioni dettagliate sull' AWS account, sulla struttura organizzativa e sul responsabile IAM.

Richiedi Description Maps to Condition Key Valore di esempio
aws_account L'ID del tuo account AWS leggi: PrincipalAccount 123456789012
source_region La AWS regione in cui è stato richiesto il token leggi: RequestedRegion us-east-1
org_id Il tuo ID AWS Organizations (se il tuo account fa parte di un'organizzazione) Aws: PrincipalOrg ID o-abc1234567
il nostro percorso Il percorso dell'unità organizzativa (se applicabile) leggi: PrincipalOrgPaths o-a1b2c3d4e5/r-ab12/ou-ab12-th/ou-ab12-22222222/
tag_principali Tag allegati alla sessione di ruolo principale o presunta di IAM. Quando viene richiesto un token in cui il principale IAM richiedente ha sia tag principali che tag di sessione, i tag di sessione saranno presenti nel JWT. leggi:/PrincipalTag<tag-key> {"environment»: «produzione», «team»: «ingegneria dei dati», «cost-center» :"ingegneria "}

Dichiarazioni relative al contesto della sessione

Queste affermazioni forniscono informazioni sull'ambiente di calcolo e sulla sessione da cui ha avuto origine la richiesta del token. AWS AWS STS include automaticamente queste attestazioni quando applicabile in base al contesto di sessione del principale richiedente.

Richiedi Description Maps to Condition Key Valore di esempio
original_session_exp Quando scadranno le credenziali della sessione di ruolo originale (per i ruoli presunti) N/D 2024-01-15H 10:00:00 Z
provider federato Il nome del provider di identità per le sessioni federate leggi: FederatedProvider arn:aws:iam: :111122223333:oidc-provider/your_oidc_provider
identity_store_user_id ID utente IAM Identity Center archivio di identità: UserId utente abc123def456
identity_store_arn ARN dell'archivio di identità di Identity Center archivio di identità: IdentityStoreArn arn:aws:identitystore: :123456789012:identitystore/d-abc1234567
ec2_source_instance_arn ARN dell'istanza richiedente EC2 ec2: SourceInstanceArn arn:aws:ec2:us-east- 1:123456789012:instance/i-abc123def456
ec2_instance_source_vpc ID VPC in cui sono state fornite le credenziali del EC2 ruolo AWS: EC2 InstanceSourceVpc vpc-abc123def456
ec2_instance_source_private_ipv4 Indirizzo privato dell'istanza IPv4 EC2 AWS: EC2 InstanceSourcePrivate IPv4 10.0.1.25
ec2_role_delivery Versione del servizio di metadati dell'istanza ec2: RoleDelivery 2
identità_fonte Identità di origine impostata dal principale leggi: SourceIdentity utente-amministratore
lambda_source_function_arn ARN della funzione Lambda chiamante lambda: SourceFunctionArn arn:aws:lambda:us-east- 1:123456789012: funzione:mia-funzione
glue_credential_issuing_service AWS Identificatore del servizio Glue per i lavori Glue colla: CredentialIssuingService colla.amazonaws.com

Richiedi tag

Puoi aggiungere attestazioni personalizzate ai token specificando i tag nella richiesta GetWebIdentityTokenAPI. Queste attestazioni vengono visualizzate nel campo request_tags del token e consentono di trasmettere informazioni specifiche che i servizi esterni possono utilizzare per decisioni di autorizzazione dettagliate. Puoi specificare fino a 50 tag per richiesta.

Richiesta di esempio:

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'} ] )

Reclami risultanti in token:

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