View a markdown version of this page

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 si chiama l'GetWebIdentityTokenAPI, AWS Security Token Service restituisce un JSON Web Token (JWT) firmato che contiene una serie di attestazioni che rappresentano l'identità del principale IAM. Questi token sono conformi alla RFC 7519. https://datatracker.ietf.org/doc/html/rfc7519 La comprensione della struttura e del contenuto di questi token consente di implementare flussi di autenticazione sicuri, configurare le convalide appropriate delle richieste in servizi esterni e utilizzare efficacemente le attestazioni personalizzate per un controllo granulare degli accessi.

Il JWT include dichiarazioni standard OpenID Connect (OIDC) come subject («sub»), audience («aud»), issuer («iss») per facilitare l'interoperabilità tra diversi servizi esterni. AWS STS compila il token con dichiarazioni AWS specifiche sull'identità (come l'ID AWS account e i tag Principal) e dichiarazioni relative al contesto della sessione (come gli ARN delle istanze EC2), se applicabili. 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 di 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 in un token contemporaneamente.

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

I claim 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 dell'account. I servizi esterni convalidano questa dichiarazione per assicurarsi che corrisponda all'emittente attendibile. https://abc123-def456-ghi789-jkl012.tokens.sts.global.api.aws
aud Destinatari Il destinatario previsto del token specificato nella GetWebIdentityToken richiesta. https://api.example.com
sub Subject L'ARN del principale IAM che ha richiesto il token. arn:aws:iam: :123456789012: role/DataProcessingRole
iat Emesso in NumericDate valore che identifica l'ora in cui il JWT è stato emesso. 1700000000
exp Scadenza NumericDate valore che identifica l'ora di scadenza entro la quale il JWT NON DEVE essere accettato per l'elaborazione. 1700000900
kit JWT È Identificatore univoco per questa istanza di token. xyz123-def456-ghi789-jkl012

Reclami personalizzati

Oltre alle dichiarazioni OIDC standard, AWS STS aggiunge affermazioni sull'identità e sul contesto della sessione, se applicabili. Puoi anche aggiungere i tuoi claim al token passandoli come tag di richiesta. Le attestazioni personalizzate sono annidate nel https://sts.amazonaws.com/ namespace.

AWS rivendicazioni di identità

Queste dichiarazioni 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 era: PrincipalAccount 123456789012
source_region La AWS regione in cui è stato richiesto il token era: RequestedRegion us-east-1
org_id L'ID della tua AWS organizzazione (se il tuo account fa parte di un'organizzazione) aws: PrincipalOrg ID o-abc1234567
ou_path Il percorso della tua unità organizzativa (se applicabile) era: PrincipalOrgPaths o- a1b2c3d4e5/r - ab12/ou -ab12- -ab12/ 11111111/ou
tag_principali Tag allegati alla sessione con ruolo principale o presunto di IAM. Quando viene richiesto un token in cui il responsabile IAM richiedente ha sia tag principali che tag di sessione, i tag di sessione saranno presenti nel JWT. era:/PrincipalTag<tag-key> {"environment»: «produzione», «team»: «ingegneria dei dati», «cost-center» :"ingegneria "}

Dichiarazioni relative al contesto della sessione

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

Richiedi Description Si associa a Condition Key Valore di esempio
original_session_exp Quando scadranno le credenziali della sessione di ruolo originale (per i ruoli assunti) N/A 2024-01-15 T10:00:00Z
fornitore_federato Il nome del provider di identità per le sessioni federate era: 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: -abc1234567 identitystore/d
ec2_source_instance_arn ARN dell'istanza EC2 richiedente ec2: SourceInstanceArn arn:aws:ec2:us-east- 1:123456789012: -abc123def456 instance/i
ec2_instance_source_vpc ID VPC in cui sono state fornite le credenziali del ruolo EC2 era: Ec2InstanceSourceVpc vpc-abc123def456
ec2_instance_source_private_ipv4 Indirizzo IPv4 privato dell'istanza EC2 era: Ec2InstanceSourcePrivateIPv4 10.0.1.25
ec2_role_delivery Versione del servizio di metadati dell'istanza ec2: RoleDelivery 2
identità_origine Identità di origine impostata dal principale era: SourceIdentity utente amministratore
lambda_source_function_arn ARN della funzione Lambda chiamante lambda: SourceFunctionArn arn:aws:lambda:us-east- 1:123456789012:funzione:my-function
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 GetWebIdentityToken API. 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'} ] )

Dichiarazioni risultanti in token:

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