View a markdown version of this page

IAM e AWS STS chiavi di contesto delle condizioni - 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à.

IAM e AWS STS chiavi di contesto delle condizioni

È possibile utilizzare l'Conditionelemento in una policy JSON per testare il valore delle chiavi incluse nel contesto della richiesta di tutte le AWS richieste. Queste chiavi forniscono informazioni sulla richiesta in sé o sulle risorse a cui la richiesta fa riferimento. È possibile controllare che le chiavi abbiano determinati valori prima di consentire l'operazione richiesta dall'utente. Ciò consente un controllo granulare sulla corrispondenza o meno delle istruzioni della policy JSON rispetto a una richiesta API in ingresso. Per informazioni su come utilizzare l'elemento Condition in una policy JSON, consulta Elementi della policy JSON IAM: Condizione.

Questo argomento descrive le chiavi definite e fornite dal servizio IAM (con un iam: prefisso) e dal servizio Servizio di token di sicurezza AWS (AWS STS) (con un sts: prefisso). Diversi altri AWS servizi forniscono anche chiavi specifiche del servizio che sono rilevanti per le azioni e le risorse definite da quel servizio. Per ulteriori informazioni, consulta Azioni, risorse e chiavi di condizione per AWS i servizi. La documentazione relativa a un servizio che supporta le chiavi di condizione contiene spesso ulteriori informazioni. Ad esempio, per informazioni sulle chiavi che puoi utilizzare nelle policy per le risorse Amazon S3, consulta Chiavi di policy Amazon S3 nella Guida per l'utente di Amazon Simple Storage Service.

Chiavi disponibili per IAM

È possibile utilizzare le seguenti chiavi di condizione nelle policy che controllano l'accesso alle risorse IAM:

Sono: AssociatedResourceArn

Lavora con operatori ARN.

Specifica l'ARN della risorsa a cui verrà associato questo ruolo al servizio di destinazione. La risorsa in genere appartiene al servizio a cui l'entità sta passando il ruolo. A volte, la risorsa potrebbe appartenere a un terzo servizio. Ad esempio, potresti passare un ruolo a Amazon EC2 Auto Scaling che può essere utilizzato in un'istanza di Amazon EC2. In questo caso, la condizione corrisponderebbe all'ARN dell'istanza Amazon EC2.

Questa chiave di condizione si applica solo all'PassRoleazione in una policy. Non può essere usata per limitare altre operazioni.

Importante

Quando si utilizza la iam:AssociatedResourceArn condizione in una policy per limitare l'PassRoleazione, si applicano considerazioni speciali se la policy è destinata a definire l'accesso all'AddRoleToInstanceProfileazione. In questo caso, non è possibile specificare una regione o un ID istanza nell'ARN dell'istanza EC2. Il valore dell'ARN deve essere arn:aws:ec2:*:CallerAccountId:instance/*. L'utilizzo di qualsiasi altro valore dell'ARN può portare a risultati di valutazione imprevisti.

Utilizza questa chiave di condizione in una policy basata su identità per consentire a un'entità di passare un ruolo, ma solo se tale ruolo è associato alla risorsa specificata. Ad esempio, è possibile consentire a un utente o a un ruolo IAM di passare qualsiasi ruolo al servizio Amazon EC2 da utilizzare con istanze nell' Account AWS. L'utente o il ruolo IAM non è autorizzato a passare ruoli ad altri servizi.

{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" }, "ArnLike": { "iam:AssociatedResourceARN": [ "arn:aws:ec2:*:111122223333:instance/*" ] } } }
Nota

AWS servizi che supportano iam: supportano PassedToService anche questa chiave condizionale.

sono: AWSServiceName

Lavora con operatori stringa.

Specifica il AWS servizio a cui è associato questo ruolo.

Questa chiave di condizione è supportata dall’operazione API CreateServiceLinkedRole.

Suggerimento

Per informazioni sui servizi che supportano l'utilizzo di ruoli collegati ai servizi, visualizza AWS servizi supportati da IAM e cerca i servizi con nella Service-Linked colonna Ruolo. Scegliere in corrispondenza di un link per visualizzare la documentazione relativa al ruolo collegato al servizio per tale servizio.

In questo esempio, consenti a un’entità di creare un ruolo collegato al servizio utilizzando l’operazione API CreateServiceLinkedRole se il nome del servizio è access-analyzer.amazonaws.com.

JSON
{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "access-analyzer.amazonaws.com" } } }] }
Sono: FIDO-certification

Lavora con operatori stringa.

Verifica il livello di certificazione FIDO del dispositivo MFA al momento della registrazione di una chiave di sicurezza FIDO. La certificazione del dispositivo viene recuperata dal FIDO Alliance Metadata Service (MDS). Se lo stato o il livello di certificazione della chiave di sicurezza FIDO cambia, questa non verrà aggiornata a meno che la registrazione del dispositivo non sia stata annullata e poi effettuata nuovamente per recuperare le informazioni di certificazione aggiornate.

Valori possibili di L1, L1plus, L2, L2plus, L3, L3plus

In questo esempio, registri una chiave di sicurezza e recuperi la certificazione FIDO Level 1 plus per il tuo dispositivo.

JSON
{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Create" } } }, { "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Activate", "iam:FIDO-certification": "L1plus" } } } ] }
sono: FIDO-FIPS-140-2-certification

Lavora con operatori stringa.

Verifica il livello di certificazione di FIPS-140-2 convalida del dispositivo MFA al momento della registrazione di una chiave di sicurezza FIDO. La certificazione del dispositivo viene recuperata dal FIDO Alliance Metadata Service (MDS). Se lo stato o il livello di certificazione della chiave di sicurezza FIDO cambia, questa non verrà aggiornata a meno che la registrazione del dispositivo non sia stata annullata e poi effettuata nuovamente per recuperare le informazioni di certificazione aggiornate.

Valori possibili di L1, L2, L3, L4

In questo esempio, registri una chiave di sicurezza e recuperi la certificazione di FIPS-140-2 livello 2 per il tuo dispositivo.

JSON
{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Create" } } }, { "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Activate", "iam:FIDO-FIPS-140-2-certification": "L2" } } } ] }
Sono: FIDO-FIPS-140-3-certification

Lavora con operatori stringa.

Verifica il livello di certificazione di FIPS-140-3 convalida del dispositivo MFA al momento della registrazione di una chiave di sicurezza FIDO. La certificazione del dispositivo viene recuperata dal FIDO Alliance Metadata Service (MDS). Se lo stato o il livello di certificazione della chiave di sicurezza FIDO cambia, questa non verrà aggiornata a meno che la registrazione del dispositivo non sia stata annullata e poi effettuata nuovamente per recuperare le informazioni di certificazione aggiornate.

Valori possibili di L1, L2, L3, L4

In questo esempio, registri una chiave di sicurezza e recuperi la certificazione di FIPS-140-3 livello 3 per il tuo dispositivo.

JSON
{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Create" } } }, { "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Activate", "iam:FIDO-FIPS-140-3-certification": "L3" } } } ] }
Sono: OrganizationsPolicyId

Lavora con operatori stringa.

Verifica che la policy con l' AWS Organizations ID specificato corrisponda alla policy utilizzata nella richiesta. Per visualizzare una policy IAM di esempio che utilizza la chiave di condizione, consulta IAM: visualizza le informazioni sull'ultimo accesso al servizio per una AWS Organizations policy.

sono: PassedToService

Lavora con operatori stringa.

Specifica il principale del servizio a cui un ruolo può essere passato. Questa chiave di condizione si applica solo all'PassRoleazione in una policy. Non può essere usata per limitare altre operazioni.

Quando si utilizza questa chiave di condizione in una policy, specificare il servizio utilizzando un principale del servizio. Il principale di un servizio è il nome di un servizio che può essere specificato nell'elemento Principal di una policy. Il formato tipico è SERVICE_NAME_URL.amazonaws.com.

Puoi utilizzare iam:PassedToService per limitare gli utenti in modo che possano passare ruoli solo a servizi specifici. Ad esempio, un utente potrebbe creare un ruolo di servizio che si fidi di CloudWatch scrivere dati di log in un bucket Amazon S3 per suo conto. L'utente deve quindi collegare una policy di autorizzazione e una policy di affidabilità al nuovo ruolo di servizio. In questo caso, la policy di affidabilità deve specificare cloudwatch.amazonaws.com nell'elemento Principal. Per visualizzare una policy che consente all'utente di passare il ruolo a CloudWatch, consulta. IAM: passa un ruolo IAM a un AWS servizio specifico

Utilizzando questa chiave di condizione, puoi assicurarti che gli utenti creino ruoli di servizio solo per i servizi specificati. Ad esempio, se un utente con la policy precedente tenta di creare un ruolo di servizio per Amazon EC2, l'operazione avrà esito negativo. L'errore si verifica perché l'utente non dispone dell'autorizzazione per trasferire il ruolo ad Amazon EC2.

A volte si passa un ruolo a un servizio che poi a sua volta lo passa a un servizio diverso. iam:PassedToService include solo il servizio finale che assume il ruolo, non il servizio intermedio che lo passa.

Nota

Alcuni servizi non supportano questa chiave di condizione.

sono: PermissionsBoundary

Lavora con operatori ARN.

Verifica che la policy specificata è collegata come limite delle autorizzazioni sulla risorsa del principale IAM. Per ulteriori informazioni, consulta la sezione Limiti delle autorizzazioni per le entità IAM

iam:PolicyARN

Lavora con operatori ARN.

Controlla l'Amazon Resource Name (ARN) di una policy gestita nelle richieste che implicano una policy gestita. Per ulteriori informazioni, consulta Controllo dell'accesso alle policy.

sono: RegisterSecurityKey

Lavora con operatori stringa.

Verifica lo stato corrente dell'abilitazione dei dispositivi MFA.

Valori possibili di Create o Activate.

In questo esempio, registri una chiave di sicurezza e recuperi la certificazione di FIPS-140-3 livello 1 per il tuo dispositivo.

JSON
{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Create" } } }, { "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Activate", "iam:FIDO-FIPS-140-3-certification": "L1" } } } ] }
Sono:/ResourceTagkey-name

Lavora con operatori stringa.

Controlla che il tag collegato alla risorsa dell'identità (utente o ruolo) corrisponda al nome e al valore della chiave specificata.

Nota

IAM e AWS STS supportano sia la chiave di condizione iam:ResourceTag IAM che la chiave di condizione aws:ResourceTag globale.

Puoi aggiungere attributi personalizzati alle risorse IAM sotto forma di coppia chiave-valore. Per ulteriori informazioni sui tag per le risorse IAM, consulta Tag per AWS Identity and Access Management le risorse. Puoi utilizzare ResourceTag per controllare l'accesso alle risorse AWS , incluse le risorse IAM. Tuttavia, poiché IAM non supporta i tag per i gruppi, non puoi utilizzare i tag per controllare l'accesso ai gruppi.

Questo esempio mostra come creare una policy basata sull'identità che consenta di eliminare gli utenti con il tag status=terminated. Per utilizzare questa policy, sostituisci la italicized placeholder text policy di esempio con le tue informazioni. Quindi, segui le indicazioni fornite in Creazione di una policy o Modifica di una policy.

JSON
{ "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:DeleteUser", "Resource": "*", "Condition": {"StringEquals": {"iam:ResourceTag/status": "terminated"}} }] }
sono: ServiceSpecificCredentialAgeDays

Lavora con operatori numerici.

Questa chiave di condizione limita la creazione di credenziali specifiche del servizio in base alle relative impostazioni di scadenza. Consente di controllare l’età massima, in giorni, delle credenziali specifiche del servizio che possono essere create.

L’intervallo valido per i giorni è compreso tra 1 e 36600 (minimo 1 giorno, massimo 36600 giorni).

Questa chiave di condizione è supportata dall’operazione API CreateServiceSpecificCredential.

In questo esempio, consenti a un utente di creare credenziali specifiche per il servizio Amazon Bedrock solo se scadono entro 90 giorni.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceSpecificCredential", "Resource": "arn:aws:iam::111122223333:user/username", "Condition": { "StringEquals": { "iam:ServiceSpecificCredentialServiceName": "bedrock.amazonaws.com" }, "NumericLessThanEquals": { "iam:ServiceSpecificCredentialAgeDays": "90" } } } ] }
sono: ServiceSpecificCredentialServiceName

Lavora con operatori stringa.

Specifica quali AWS servizi possono essere utilizzati per la gestione delle credenziali specifiche del servizio. Questa chiave di condizione consente di limitare i AWS servizi consentiti durante la gestione delle credenziali specifiche del servizio.

Questa chiave di condizione è supportata dalle seguenti operazioni API:

I seguenti servizi sono supportati per le credenziali specifiche del servizio con la formattazione esatta dei valori:

  • bedrock.amazonaws.com

  • cassandra.amazonaws.com

  • codecommit.amazonaws.com

In questo esempio, consenti a un utente di creare credenziali specifiche del servizio utilizzando l’operazione API CreateServiceSpecificCredential solo per il servizio Amazon Bedrock.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceSpecificCredential", "Resource": "arn:aws:iam::111122223333:user/username", "Condition": { "StringEquals": { "iam:ServiceSpecificCredentialServiceName": "bedrock.amazonaws.com" } } } ] }
sono: DelegationDuration

Lavora con operatori numerici.

Filtra l'accesso in base alla durata dell'accesso temporaneo richiesto in una richiesta di delega.

I fornitori di prodotti possono utilizzare questa chiave condizionale per controllare la durata massima consentita nelle richieste di delega inviate ai clienti. La durata è specificata in secondi e determina per quanto tempo le credenziali temporanee rimangono valide dopo che il cliente ha rilasciato il token di scambio. Questo aiuta i fornitori di prodotti ad applicare politiche interne sui limiti di durata dell'accesso in base al loro caso d'uso.

Questa chiave di condizione è supportata dall’operazione API CreateDelegationRequest.

In questo esempio, è possibile creare richieste di delega solo se la durata richiesta è pari o inferiore a 7200 secondi (2 ore).

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateDelegationRequest", "Resource": "*", "Condition": { "NumericLessThanEquals": { "iam:DelegationDuration": "7200" } } } ] }
sono: NotificationChannel

Lavora con operatori ARN.

Filtra l'accesso in base all'argomento ARN di Amazon SNS specificato per la ricezione delle notifiche di richiesta di delega.

I fornitori di prodotti possono utilizzare questa chiave di condizione per limitare gli argomenti SNS che possono essere utilizzati per le notifiche di richieste di delega nella chiamata API. CreateDelegationRequest I fornitori di prodotti devono specificare un argomento SNS per ricevere notifiche di modifica dello stato e scambiare token. Ciò garantisce che le notifiche vengano inviate solo ai canali approvati all'interno dell'organizzazione del fornitore del prodotto.

Questa chiave di condizione è supportata dall’operazione API CreateDelegationRequest.

In questo esempio, consentite la creazione di richieste di delega solo se utilizzano un argomento SNS specifico per le notifiche.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateDelegationRequest", "Resource": "*", "Condition": { "ArnEquals": { "iam:NotificationChannel": "arn:aws:sns:us-east-1:123456789012:delegation-notifications" } } } ] }
Sono: TemplateArn

Lavora con operatori ARN.

Filtra l'accesso in base al modello di policy ARN utilizzato per definire le autorizzazioni in una richiesta di delega.

I fornitori di prodotti possono utilizzare questa chiave di condizione per controllare quali modelli di policy possono essere utilizzati nella CreateDelegationRequest chiamata API. I modelli di policy definiscono le autorizzazioni temporanee richieste dai fornitori di prodotti negli account dei clienti. Ciò consente ai fornitori di prodotti di limitare i modelli di policy registrati che possono essere utilizzati durante la creazione di richieste di delega.

Questa chiave di condizione è supportata dall’operazione API CreateDelegationRequest.

In questo esempio, è possibile creare richieste di delega solo se utilizzano un modello di policy di un dominio partner specifico.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateDelegationRequest", "Resource": "*", "Condition": { "ArnLike": { "iam:TemplateArn": "arn:aws:iam::*:delegation-template/partner_*" } } } ] }
sono: DelegationRequestOwner

Lavora con operatori ARN.

Filtra l'accesso in base all' AWS identità o al principale proprietario della richiesta di delega.

I clienti possono utilizzare questa chiave condizionale per controllare chi può eseguire azioni sulle richieste di delega in base alla proprietà. Il proprietario di una richiesta di delega è l' AWS identità o il titolare dell'account cliente che ha avviato o ricevuto la richiesta di delega.

Questa chiave di condizione è supportata dalle seguenti operazioni API:

  • GetDelegationRequest

  • AcceptDelegationRequest

  • RejectDelegationRequest

  • SendDelegatedToken

  • ListDelegationRequests

  • UpdateDelegationRequest

In questo esempio, si consente agli utenti di gestire solo le richieste di delega di loro proprietà.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetDelegationRequest", "iam:AcceptDelegationRequest", "iam:RejectDelegationRequest", "iam:SendDelegatedToken", "iam:UpdateDelegationRequest", "iam:ListDelegationRequests" ], "Resource": "*", "Condition": { "ArnEquals": { "iam:DelegationRequestOwner": "${aws:PrincipalArn}" } } } ] }

Chiavi disponibili per AWS Federazione OIDC

Puoi utilizzare la federazione OIDC per fornire credenziali di sicurezza temporanee agli utenti che sono stati autenticati tramite un provider di identità (IdP) compatibile con OpenID Connect (IdP) a un provider di identità IAM OpenID Connect (OIDC) nel tuo account. AWS Esempi di tali provider includono Amazon Cognito GitHub, Login with Amazon e Google. È possibile utilizzare token di identità e token di accesso del proprio IdP, nonché token di account di servizio concessi ai carichi di lavoro di Amazon Elastic Kubernetes Service.

Puoi utilizzare le chiavi di contesto delle condizioni AWS OIDC per scrivere policy che limitino l'accesso dei gestori federati alle risorse associate a un provider, un'app o un utente specifici. Queste chiavi vengono in genere utilizzate nelle policy di trust di un ruolo. Definisci le chiavi di condizione utilizzando il nome del provider OIDC (token.actions.githubusercontent.com) seguito da un'attestazione (:aud): token.actions.githubusercontent.com:aud.

Alcune chiavi di condizioni di federazione OIDC possono essere utilizzate nella sessione di ruolo per autorizzare l'accesso alle risorse. Se il valore è nella colonna Disponibile nella sessione, puoi utilizzare queste chiavi di condizione nelle policy per definire a quali utenti possono accedere in altri servizi. AWS Quando un'attestazione non è disponibile nella sessione, la chiave di contesto della condizione OIDC può essere utilizzata solo in una policy di fiducia dei ruoli per l'autenticazione iniziale AssumeRoleWithWebIdentity.

Seleziona il tuo IdP per vedere in che modo le attestazioni del tuo IdP vengono mappate alle chiavi di contesto delle condizioni IAM in AWS. Ulteriori informazioni sulle chiavi per GitHub e Google sono disponibili nella scheda Predefinito.

Default

L'impostazione predefinita elenca le dichiarazioni OIDC standard e il modo in cui vengono associate alle chiavi AWS STS di contesto in. AWS Puoi utilizzare queste chiavi per controllare l'accesso a un ruolo. A tale scopo, confronta le chiavi di condizioni AWS STS con i valori nella colonna delle attestazioni di JWT dell'IdP. Usa questa mappatura se il tuo IdP non è elencato nelle opzioni della scheda.

GitHub Actions Workflows e Google sono alcuni esempi di come utilizzano IdPs l'implementazione predefinita nel token ID JWT OIDC.

AWS STS chiave di condizione Attestazione JWT IdP Disponibile nella sessione

amr

amr

aud

azp

Se non è impostato alcun valore per azp, la chiave di condizione aud corrisponde all'attestazione aud.

e-mail

e-mail

No

oaud

aud

No

sub

sub

Per ulteriori informazioni sull'utilizzo delle chiavi di contesto delle condizioni OIDC con GitHub, vedere. Configurazione di un ruolo per il provider di GitHub identità OIDC Per ulteriori informazioni sui campi aud e azp di Google, consulta la Guida OpenID Connect di Google Identity Platform .

amr

Lavora con operatori stringa. La chiave è multivalore, il che significa che è possibile testarla in una policy con operatori di definizione di condizioni.

Esempio: token.actions.githubusercontent.com:amr

Il riferimento ai metodi di autenticazione include le informazioni di accesso relative all'utente. La chiave può contenere i seguenti valori:

  • Se l'utente non è autenticato, la chiave contiene solo unauthenticated.

  • Se l'utente è autenticato, la chiave contiene il valore authenticated e il nome del provider di accesso utilizzato nella chiamata (accounts.google.com).

aud

Lavora con operatori stringa.

Esempi:

  • accounts.google.com:aud

  • token.actions.githubusercontent.com:aud

Utilizza la chiave di condizione aud per verificare che il pubblico corrisponda a quello specificato nella policy È possibile utilizzare la chiave aud con la chiave sub per lo stesso provider di identità.

Questa chiave di condizione è impostata dai seguenti campi di token:

  • aud per gli ID client Google OAuth 2.0 dell'applicazione, quando il campo azp non è impostato. Quando il campo azp è impostato, il campo aud corrisponde alla chiave della condizione accounts.google.com:oaud.

  • azp quando il campo azp è impostato. Questo può accadere per app ibride in cui un'applicazione Web e un'app Android hanno un ID client Google OAuth 2.0 diverso ma condividono lo stesso progetto delle API di Google.

Quando si scrive una policy utilizzando la chiave di condizione accounts.google.com:aud, occorre sapere se l'app è un'app ibrida che imposta il campo azp.

Campo azp non impostato

La policy di esempio seguente funziona per le app non ibride che non impostano il campo azp. In questo caso, il valore del campo aud del token ID di Google corrisponde a entrambi i valori della chiave di condizione accounts.google.com:aud e accounts.google.com:oaud.

JSON
JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"Federated": "accounts.google.com"}, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "accounts.google.com:aud": "aud-value", "accounts.google.com:oaud": "aud-value", "accounts.google.com:sub": "sub-value" } } } ] }

Campo azp impostato

La policy di esempio seguente funziona per app ibride che impostano il campo azp. In questo caso, il valore del campo aud del token ID di Google corrisponde solo al valore della chiave di condizione accounts.google.com:oaud. Il valore del campo azp corrisponde al valore della chiave di condizione accounts.google.com:aud.

JSON
JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"Federated": "accounts.google.com"}, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "accounts.google.com:aud": "azp-value", "accounts.google.com:oaud": "aud-value", "accounts.google.com:sub": "sub-value" } } } ] }
e-mail

Lavora con operatori stringa.

Esempio: accounts.google.com:email

Questa chiave di condizione convalida l'indirizzo e-mail dell'utente. Il valore di questa attestazione potrebbe non essere univoco per l'account e potrebbe cambiare nel tempo, pertanto non dovresti utilizzare questo valore come identificatore principale per verificare il tuo record utente.

oaud

Lavora con operatori stringa.

Esempio: accounts.google.com:oaud

Questa chiave specifica l'altro pubblico (aud) a cui è rivolto questo token ID. Deve essere uno degli ID client OAuth 2.0 dell'applicazione.

sub

Lavora con operatori stringa.

Esempi:

  • accounts.google.com:sub

  • token.actions.githubusercontent.com:sub

Utilizzare queste chiavi per verificare che il soggetto corrisponda a quello specificato nella policy. È possibile utilizzare la chiave sub con la chiave aud per lo stesso provider di identità.

Nella seguente politica di fiducia dei ruoli, la chiave sub condizionale limita il ruolo al GitHub ramo denominato. demo

JSON
JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/token.actions.githubusercontent.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "token.actions.githubusercontent.com:aud": "sts.amazonaws.com", "token.actions.githubusercontent.com:sub": "repo:org-name/repo-name:ref:refs/heads/demo" } } } ] }
Amazon Cognito

Questa scheda spiega come Amazon Cognito mappa le dichiarazioni OIDC per AWS STS condizionare le chiavi di contesto. AWS Puoi utilizzare queste chiavi per controllare l'accesso a un ruolo. A tale scopo, confronta le chiavi di condizioni AWS STS con i valori nella colonna delle attestazioni di JWT dell'IdP.

Per i ruoli utilizzati da Amazon Cognito, le chiavi vengono definite utilizzando cognito-identity.amazonaws.com seguita dall'attestazione.

Per ulteriori informazioni sulla mappatura delle attestazioni del pool di identità, consulta Mappature dei provider predefinite nella Guida per gli sviluppatori di Amazon Cognito. Per ulteriori informazioni sulla mappatura delle attestazioni del pool di utenti, consulta Utilizzo del token ID nella Guida per gli sviluppatori di Amazon Cognito.

AWS STS chiave di condizione Attestazione JWT IdP Disponibile nella sessione

amr

amr

aud

aud

oaud

aud

No

sub

sub

amr

Lavora con operatori stringa. La chiave è multivalore, il che significa che è possibile testarla in una policy con operatori di definizione di condizioni.

Esempio: cognito-identity.amazonaws.com:amr

Il riferimento ai metodi di autenticazione include le informazioni di accesso relative all'utente. La chiave può contenere i seguenti valori:

  • Se l'utente non è autenticato, la chiave contiene solo unauthenticated.

  • Se l'utente è autenticato, la chiave contiene il valore authenticated e il nome del provider di accesso utilizzato nella chiamata (cognito-identity.amazonaws.com).

Ad esempio, la seguente condizione nella policy di attendibilità di un ruolo Amazon Cognito verifica se l'utente non è autenticato.

"Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-east-2:identity-pool-id" }, "ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "unauthenticated" } }
aud

Lavora con operatori stringa.

Esempio: cognito-identity.amazonaws.com:aud

Il client dell'app del pool di utenti che ha autenticato l'utente. Amazon Cognito restituisce lo stesso valore nell'attestazione client_id del token di accesso.

oaud

Lavora con operatori stringa.

Esempio: cognito-identity.amazonaws.com:oaud

Il client dell'app del pool di utenti che ha autenticato l'utente. Amazon Cognito restituisce lo stesso valore nell'attestazione client_id del token di accesso.

sub

Lavora con operatori stringa.

Esempio: cognito-identity.amazonaws.com:sub

L'identificatore univoco (UUID), o soggetto, dell'utente autenticato. Il nome utente potrebbe non essere univoco nel pool di utenti. L'attestazione sub è il modo migliore per identificare un determinato utente. È possibile utilizzare la chiave sub con la chiave aud per lo stesso provider di identità.

"Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-east-1:12345678-abcd-abcd-abcd-123456790ab", "cognito-identity.amazonaws.com:sub": [ "us-east-1:12345678-1234-1234-1234-123456790ab", "us-east-1:98765432-1234-1234-1243-123456790ab" ] } }
Login with Amazon

Questa scheda spiega come Login with Amazon mappa le dichiarazioni di OIDC per AWS STS condizionare le chiavi di contesto. AWS Puoi utilizzare queste chiavi per controllare l'accesso a un ruolo. A tale scopo, confronta le chiavi di condizioni AWS STS con i valori nella colonna delle attestazioni di JWT dell'IdP.

AWS STS chiave di condizione Attestazione JWT IdP Disponibile nella sessione

app_id

ID applicazione

sub

ID utente

user_id

ID utente

app_id

Lavora con operatori stringa.

Esempio: www.amazon.com:app_id

Questa chiave specifica il contesto del pubblico che corrisponde al campo aud utilizzato da altri provider di identità.

sub

Lavora con operatori stringa.

Esempio: www.amazon.com:sub

Questa chiave verifica che l'ID utente corrisponda a quello specificato nella policy. È possibile utilizzare la chiave sub con la chiave aud per lo stesso provider di identità.

user_id

Lavora con operatori stringa.

Esempio: www.amazon.com:user_id

Questa chiave specifica il contesto del pubblico che corrisponde al campo aud utilizzato da altri provider di identità. È possibile utilizzare la chiave user_id con la chiave id per lo stesso provider di identità.

Facebook

Questa scheda spiega come Facebook mappa le dichiarazioni OIDC per AWS STS condizionare le chiavi di contesto. AWS Puoi utilizzare queste chiavi per controllare l'accesso a un ruolo. A tale scopo, confronta le chiavi di condizioni AWS STS con i valori nella colonna delle attestazioni di JWT dell'IdP.

AWS STS chiave di condizione Attestazione JWT IdP Disponibile nella sessione

app_id

ID applicazione

id

id

app_id

Lavora con operatori stringa.

Esempio: graph.facebook.com:app_id

Questa chiave verifica che il contesto del pubblico corrisponda al campo aud utilizzato da altri provider di identità.

id

Lavora con operatori stringa.

Esempio: graph.facebook.com:id

Questa chiave verifica che l'ID applicazione (o del sito) corrisponda a quello specificato nella policy.

GitHub

Questa scheda spiega come GitHub Actions mappa i claim OIDC per AWS STS condizionare le chiavi di contesto. AWS Puoi utilizzare queste chiavi per controllare l'accesso a un ruolo. A tale scopo, confronta le chiavi di condizioni AWS STS con i valori nella colonna delle attestazioni di JWT dell'IdP.

AWS STS chiave di condizione Attestazione JWT IdP Disponibile nella sessione

attore

attore

No

actor_id

actor_id

No

job_workflow_ref

job_workflow_ref

No

repository

repository

No

repository_id

repository_id

No

repository_owner_id

repository_owner_id

No

flusso di lavoro

flusso di lavoro

No

rif

rif

No

ambiente

ambiente

No

id_impresa

id_azienda

No

attore

Lavora con operatori stringa.

Esempio: token.actions.githubusercontent.com:actor

Questa chiave identifica l'account personale che ha avviato l'esecuzione del flusso di lavoro. Usalo per limitare l'accesso a attori specifici.

actor_id

Lavora con operatori stringa.

Esempio: token.actions.githubusercontent.com:actor_id

Questa chiave verifica l'ID dell'account personale che ha avviato l'esecuzione del flusso di lavoro. Gli Actor ID sono generati da GitHub e sono immutabili.

job_workflow_ref

Lavora con operatori stringa.

Esempio: token.actions.githubusercontent.com:job_workflow_ref

Questa chiave contiene il percorso di riferimento al flusso di lavoro riutilizzabile per i lavori che utilizzano un flusso di lavoro riutilizzabile. Usalo per limitare l'accesso a flussi di lavoro specifici e per garantire che solo i flussi di lavoro approvati possano assumere ruoli.

repository

Lavora con operatori stringa.

Esempio: token.actions.githubusercontent.com:repository

Questa chiave identifica il repository da cui viene eseguito il flusso di lavoro. Usalo per limitare l'accesso a repository specifici GitHub .

repository_id

Lavora con operatori stringa.

Esempio: token.actions.githubusercontent.com:repository_id

Questa chiave verifica l'ID del repository da cui viene eseguito il flusso di lavoro. Gli ID del repository sono immutabili e non cambiano anche se il repository viene rinominato.

repository_owner_id

Lavora con operatori stringa.

Esempio: token.actions.githubusercontent.com:repository_owner_id

Questa chiave verifica l'ID dell'organizzazione in cui è archiviato il repository. L'ID del proprietario del repository è un identificatore univoco e stabile che non cambia.

flusso di lavoro

Lavora con operatori stringa.

Esempio: token.actions.githubusercontent.com:workflow

Questa chiave contiene il nome del flusso di lavoro. Usalo per limitare l'accesso a flussi di lavoro specifici all'interno dei tuoi repository.

rif

Lavora con operatori stringa.

Esempio: token.actions.githubusercontent.com:ref

Questa chiave identifica il git ref (ramo o tag) che ha attivato l'esecuzione del flusso di lavoro. Usalo per limitare l'accesso in base a rami specifici, ad esempio permettendo solo main o production rami.

environment

Lavora con operatori stringa.

Esempio: token.actions.githubusercontent.com:environment

Questa chiave contiene il nome dell'ambiente utilizzato dal job. Utilizzatela per implementare controlli di accesso basati sull'ambiente, ad esempio autorizzazioni separate per gli ambienti di sviluppo, staging e produzione.

Nota

Se l'attestazione relativa all'ambiente è inclusa nella politica di fiducia, è necessario configurare e fornire un ambiente nel flusso di lavoro. GitHub

enterprise_id

Lavora con operatori stringa.

Esempio: token.actions.githubusercontent.com:enterprise_id

Questa chiave verifica l'ID dell'azienda che contiene il repository da cui viene eseguito il flusso di lavoro. Utilizzala per assicurarti che l'accesso sia limitato ai repository all'interno della tua GitHub organizzazione Enterprise.

Il seguente esempio di politica di fiducia utilizza attestazioni personalizzate nel token GitHub OIDC per limitare l'accesso a un ruolo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::AWS_ACCOUNT_ID:oidc-provider/token.actions.githubusercontent.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringLike": { "token.actions.githubusercontent.com:aud": "sts.amazonaws.com", "token.actions.githubusercontent.com:job_workflow_ref": "octo-org/octo-automation/.github/workflows/oidc.yml@refs/heads/main", "token.actions.githubusercontent.com:repository": "octo-org/octo-repo", "token.actions.githubusercontent.com:actor": "octocat", "token.actions.githubusercontent.com:ref": "refs/heads/main", "token.actions.githubusercontent.com:enterprise_id": "345" } } } ] }
Google

Questa scheda spiega come Google mappa le dichiarazioni OIDC per AWS STS condizionare le chiavi di contesto. AWS Puoi utilizzare queste chiavi per controllare l'accesso a un ruolo. A tale scopo, confronta le chiavi di condizioni AWS STS con i valori nella colonna delle attestazioni di JWT dell'IdP.

AWS STS chiave di condizione Attestazione JWT IdP Disponibile nella sessione

google/organization_number

google:numero_organizzazione

No

google/organization_number

Lavora con operatori numerici.

Esempio: accounts.google.com:google/organization_number

Questa chiave verifica che un token rappresenti un'identità Google appartenente a una specifica organizzazione Google Cloud o Google Workspace. Utilizzala per limitare l'accesso agli utenti di organizzazioni specifiche, assicurando che solo le identità della tua organizzazione possano assumere il ruolo.

L'esempio seguente di politica di fiducia utilizza l'google/organization_numberattestazione per limitare l'accesso a un ruolo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "accounts.google.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "NumericEquals": { "accounts.google.com:google/organization_number": "123456" } } } ] }
CircleCI

Questa scheda spiega come CircleCI mappa i claim OIDC per AWS STS condizionare le chiavi di contesto. AWS Puoi utilizzare queste chiavi per controllare l'accesso a un ruolo. A tale scopo, confronta le chiavi di condizioni AWS STS con i valori nella colonna delle attestazioni di JWT dell'IdP.

AWS STS chiave di condizione Attestazione JWT IdP Disponibile nella sessione

oidc.circleci. com/project-id

oidc.circleci. com/project-id

No

oidc.circleci. com/project-id

Lavora con operatori stringa.

Esempio: circleci-issuer-url:oidc.circleci.com/project-id

Questa chiave identifica il progetto CircleCI in cui il lavoro è in esecuzione. Il suo valore è una stringa contenente un UUID che identifica in modo univoco il progetto CircleCI. Usalo per limitare l'accesso a specifici progetti CircleCI.

Il seguente esempio di politica di fiducia utilizza il oidc.circleci.com/project-id claim per limitare l'accesso a un ruolo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::123456789012:oidc-provider/oidc.circleci.com/org/12345" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.circleci.com/org/12345:aud": "sts.amazonaws.com", "oidc.circleci.com/org/12345:oidc.circleci.com/project-id": "76543210-ba98-fedc-3210-edcba0987654" } } } ] }
Oracle Cloud Infrastructure (OCI)

Questa scheda spiega come Oracle Cloud Infrastructure mappa i claim OIDC per AWS STS condizionare le chiavi di contesto. AWS Puoi utilizzare queste chiavi per controllare l'accesso a un ruolo. A tale scopo, confronta le chiavi di condizioni AWS STS con i valori nella colonna delle attestazioni di JWT dell'IdP.

AWS STS chiave di condizione Attestazione JWT IdP Disponibile nella sessione

rpst_id

rpst_id

No

rpst_id

Lavora con operatori stringa.

Esempio: oci-issuer-url:rpst_id

Questa chiave identifica in modo univoco la risorsa principale in OCI. Usalo per limitare l'accesso a risorse principali OCI specifiche. Il rpst_id (Resource Principal Session Token ID) fornisce un identificatore stabile per l'autenticazione basata su risorse OCI.

L'esempio seguente di policy di fiducia utilizza il rpst_id claim per limitare l'accesso a un ruolo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::123456789012:oidc-provider/idcs-abc123ef5678901234abcd.identity.oraclecloud.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "idcs-abc123ef5678901234abcd.identity.oraclecloud.com:aud": "sts.amazonaws.com", "idcs-abc123ef5678901234abcd.identity.oraclecloud.com:rpst_id": "your-rpst-id" } } } ] }
GitLab.com

Questa scheda spiega come GitLab.com CI/CD mappa i claim OIDC per AWS STS condizionare le chiavi di contesto. AWS Puoi utilizzare queste chiavi per controllare l'accesso a un ruolo. A tale scopo, confronta le chiavi di condizioni AWS STS con i valori nella colonna delle attestazioni di JWT dell'IdP.

Nota

Queste chiavi di condizione personalizzate sono supportate solo quando si utilizza l'istanza SaaS GitLab.com multi-tenant come provider di identità OIDC. Non è possibile utilizzare queste chiavi di condizione con istanze dedicate o. GitLab GitLab Self-Managed

AWS STS chiave di condizione Attestazione JWT IdP Disponibile nella sessione

namespace_id

namespace_id

No

project_id

project_id

No

user_id

user_id

No

user_login

login_utente

No

user_email

user_email

No

livello_accesso utente

livello_accesso utente

No

ref_protected

ref_protected

No

pipeline_source

sorgente_pipeline

No

ambiente_runner

ambiente_runner

No

namespace_id

Lavora con operatori stringa.

Esempio: gitlab.com:namespace_id

Questa chiave identifica l'ID dello spazio dei nomi (gruppo) del progetto che esegue il job. CI/CD L'ID dello spazio dei nomi è un identificatore stabile e univoco che non cambia se il gruppo viene rinominato.

project_id

Lavora con operatori stringa.

Esempio: gitlab.com:project_id

Questa chiave identifica l'ID del progetto che esegue il job. CI/CD L'ID del progetto è un identificatore univoco e stabile che non cambia se il progetto viene rinominato o spostato.

user_id

Lavora con operatori stringa.

Esempio: gitlab.com:user_id

Questa chiave identifica l'ID dell'utente che esegue il lavoro. CI/CD L'ID utente è un identificatore univoco e stabile.

user_login

Lavora con operatori stringa.

Esempio: gitlab.com:user_login

Questa chiave identifica il nome utente dell'utente che esegue il job. CI/CD I nomi utente possono essere modificati; per un identificatore stabile, utilizzali invece. user_id

user_email

Lavora con operatori stringa.

Esempio: gitlab.com:user_email

Questa chiave identifica l'indirizzo email dell'utente che esegue il job. CI/CD Il valore di questa dichiarazione può cambiare nel tempo; per un identificatore stabile, user_id utilizzalo invece.

user_access_level

Lavora con operatori stringa.

Esempio: gitlab.com:user_access_level

Questa chiave identifica il livello di accesso dell'utente all'interno del progetto (ad esempio,,). maintainer developer owner

ref_protected

Lavora con operatori stringa.

Esempio: gitlab.com:ref_protected

Questa chiave indica se il riferimento Git che ha attivato il processo è protetto. Il valore è true se protetto, false altrimenti.

pipeline_source

Lavora con operatori stringa.

Esempio: gitlab.com:pipeline_source

Questa chiave identifica la fonte che ha attivato la pipeline (ad esempio,,,,push). web schedule api merge_request_event

runner_environment

Lavora con operatori stringa.

Esempio: gitlab.com:runner_environment

Questa chiave identifica il tipo di runner utilizzato dal lavoro. CI/CD

Importante

In modalità GitLab.com SaaS, i percorsi di gruppo o progetto eliminati in precedenza potevano essere ricreati da utenti diversi, il che poteva far sì che le policy basate esclusivamente su dichiarazioni basate sui percorsi (ad esempiosub) concedessero l'accesso a identità indesiderate. A partire dal 1° giugno 2026, GitLab ha implementato un aggiornamento a livello di piattaforma che impedisce l'emissione di nuovi token CI ID per i percorsi di progetto che avevano precedentemente emesso token, riducendo questo rischio in futuro. Come ulteriore livello di protezione, GitLab consigliamo di includere condizioni relative a identificatori univoci AWS e stabili, come namespace_id o, nelle politiche di fiducia o nelle politiche di controllo delle project_id risorse.

L'esempio seguente di politica di fiducia utilizza il namespace_id claim insieme sub a per limitare l'accesso a un GitLab.com progetto e a una filiale specifici.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::123456789012:oidc-provider/gitlab.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "gitlab.com:sub": "project_path:mygroup/myproject:ref_type:branch:ref:main", "gitlab.com:namespace_id": "12345" } } } ] }
Buildkite

Questa scheda spiega come Buildkite mappa i claim OIDC per AWS STS condizionare le chiavi di contesto. AWS Puoi utilizzare queste chiavi per controllare l'accesso a un ruolo. A tale scopo, confronta le chiavi di condizioni AWS STS con i valori nella colonna delle attestazioni di JWT dell'IdP.

AWS STS chiave di condizione Attestazione JWT IdP Disponibile nella sessione

organization_slug

organizzazione_slug

No

organization_id

organization_id

No

pipeline_slug

pipeline_slug

No

pipeline_id

id_pipeline

No

nome_cluster

nome_cluster

No

cluster_id

cluster_id

No

build_branch

build_branch

No

organizzazione_slug

Lavora con operatori stringa.

Esempio: agent.buildkite.com:organization_slug

Questa chiave identifica l'organizzazione Buildkite da cui viene eseguito il job. Usalo per limitare l'accesso a organizzazioni specifiche.

organization_id

Lavora con operatori stringa.

Esempio: agent.buildkite.com:organization_id

Questa chiave verifica l'ID dell'organizzazione Buildkite da cui viene eseguito il lavoro. Gli ID dell'organizzazione sono generati da Buildkite e sono immutabili.

pipeline_slug

Lavora con operatori stringa.

Esempio: agent.buildkite.com:pipeline_slug

Questa chiave identifica la pipeline in cui il processo è in esecuzione. Usalo per limitare l'accesso a specifiche pipeline Buildkite.

pipeline_id

Lavora con operatori stringa.

Esempio: agent.buildkite.com:pipeline_id

Questa chiave verifica l'ID della pipeline in cui il processo è in esecuzione. Gli ID della pipeline sono generati da Buildkite e sono immutabili.

cluster_name

Lavora con operatori stringa.

Esempio: agent.buildkite.com:cluster_name

Questa chiave identifica il cluster su cui è in esecuzione il job. Usalo per limitare l'accesso a cluster Buildkite specifici.

cluster_id

Lavora con operatori stringa.

Esempio: agent.buildkite.com:cluster_id

Questa chiave verifica l'ID del cluster su cui è in esecuzione il job. Gli ID del cluster sono generati da Buildkite e sono immutabili.

build_branch

Lavora con operatori stringa.

Esempio: agent.buildkite.com:build_branch

Questa chiave identifica il ramo git che ha attivato la build. Usalo per limitare l'accesso in base a rami specifici, ad esempio permettendo solo main o production rami.

Il seguente esempio di politica di fiducia utilizza attestazioni personalizzate nel token OIDC Buildkite per limitare l'accesso a un ruolo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::123456789012:oidc-provider/agent.buildkite.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "agent.buildkite.com:aud": "sts.amazonaws.com", "agent.buildkite.com:organization_slug": "acme-inc", "agent.buildkite.com:pipeline_slug": "super-duper-app", "agent.buildkite.com:build_branch": "main" } } } ] }

Ulteriori informazioni sulla federazione OIDC

Chiavi disponibili per SAML-based AWS STS federazione

Se si utilizza la SAML-based federazione utilizzando Servizio di token di sicurezza AWS (AWS STS), è possibile includere chiavi di condizione aggiuntive nella policy.

Policy di affidabilità di un ruolo SAML

Nella policy di affidabilità di un ruolo è possibile includere le chiavi seguenti, che consentono di stabilire se il chiamante è autorizzato ad assumere il ruolo. Salvo per saml:doc, tutti i valori sono derivati dall'asserzione SAML. Tutti gli elementi nell'elenco sono disponibili nell'editor visivo della console IAM quando crei o modifichi una policy con condizioni. Gli elementi contrassegnati con [] possono avere un valore che è un elenco del tipo specificato.

saml:aud

Lavora con operatori stringa.

L'URL di un endpoint a cui vengono presentate le asserzioni SAML. Il valore di questa chiave proviene dal campo SAML Recipient dell'asserzione, non dal campo Audience.

saml:commonName[]

Lavora con operatori stringa.

Questo è un attributo commonName.

saml:cn[]

Lavora con operatori stringa.

Questo è un attributo eduOrg.

saml:doc

Lavora con operatori stringa.

Rappresenta il principale utilizzato per assumere il ruolo. Il formato èaccount-ID/provider-friendly-name, ad esempio123456789012/SAMLProviderName. Il valore ID account si riferisce all'account proprietario del provider SAML.

saml:edupersonaffiliation[]

Lavora con operatori stringa.

Questo è un attributo eduPerson.

saml:edupersonassurance[]

Lavora con operatori stringa.

Questo è un attributo eduPerson.

saml:edupersonentitlement[]

Lavora con operatori stringa.

Questo è un attributo eduPerson.

saml:edupersonnickname[]

Lavora con operatori stringa.

Questo è un attributo eduPerson.

saml:edupersonorgdn

Lavora con operatori stringa.

Questo è un attributo eduPerson.

saml:edupersonorgunitdn[]

Lavora con operatori stringa.

Questo è un attributo eduPerson.

saml:edupersonprimaryaffiliation

Lavora con operatori stringa.

Questo è un attributo eduPerson.

saml:edupersonprimaryorgunitdn

Lavora con operatori stringa.

Questo è un attributo eduPerson.

saml:edupersonprincipalname

Lavora con operatori stringa.

Questo è un attributo eduPerson.

saml:edupersonscopedaffiliation[]

Lavora con operatori stringa.

Questo è un attributo eduPerson.

saml:edupersontargetedid[]

Lavora con operatori stringa.

Questo è un attributo eduPerson.

saml:eduorghomepageuri[]

Lavora con operatori stringa.

Questo è un attributo eduOrg.

saml:eduorgidentityauthnpolicyuri[]

Lavora con operatori stringa.

Questo è un attributo eduOrg.

saml:eduorglegalname[]

Lavora con operatori stringa.

Questo è un attributo eduOrg.

saml:eduorgsuperioruri[]

Lavora con operatori stringa.

Questo è un attributo eduOrg.

saml:eduorgwhitepagesuri[]

Lavora con operatori stringa.

Questo è un attributo eduOrg.

saml:givenName[]

Lavora con operatori stringa.

Questo è un attributo givenName.

saml:iss

Lavora con operatori stringa.

L'approvatore, che è rappresentato da un URN.

saml:mail[]

Lavora con operatori stringa.

Questo è un attributo mail.

saml:name[]

Lavora con operatori stringa.

Questo è un attributo name.

saml:namequalifier

Lavora con operatori stringa.

Un valore hash basato sul nome descrittivo del provider SAML. Il valore è la concatenazione dei seguenti valori, in ordine e separati da un carattere '/':

  1. Il valore di risposta Issuer (saml:iss)

  2. L'ID dell'account AWS

  3. Il nome descrittivo (l'ultima parte dell'ARN) del provider SAML in IAM

La concatenazione dell'ID account e del nome descrittivo del provider SAML è disponibile per le policy IAM sotto forma di chiave saml:doc. Per ulteriori informazioni, consulta Identificazione univoca degli SAML-based utenti nella federazione.

saml:organizationStatus[]

Lavora con operatori stringa.

Questo è un attributo organizationStatus.

saml:primaryGroupSID[]

Lavora con operatori stringa.

Questo è un attributo primaryGroupSID.

saml:sub

Lavora con operatori stringa.

Questo è l'oggetto della richiesta, che include un valore che identifica in modo univoco un singolo utente in un'organizzazione (ad esempio, _cbb88bf52c2510eabe00c1642d4643f41430fe25e3).

saml:sub_type

Lavora con operatori stringa.

Questa chiave può avere il valore persistent o transient oppure consistere dell'URI Format completo, tratto dagli elementi Subject e NameID utilizzati nell'asserzione SAML. Il valore persistent indica che il valore in saml:sub è lo stesso per un utente da una sessione all'altra. Se il valore è transient, l'utente dispone di un valore saml:sub diverso per ogni sessione. Per ulteriori informazioni sull'attributo Format dell'elemento NameID, consulta Configurare le asserzioni SAML per la risposta di autenticazione.

saml:surname[]

Lavora con operatori stringa.

Questo è un attributo surnameuid.

saml:uid[]

Lavora con operatori stringa.

Questo è un attributo uid.

saml:x500 [] UniqueIdentifier

Lavora con operatori stringa.

Questo è un attributo x500UniqueIdentifier.

Per informazioni generali sugli attributi eduPerson ed eduOrg, consulta il sito Web REFEDS. Per un elenco di eduPerson attributi, consulta la specifica della classe di oggetti eduPerson (201602).

Le chiavi di condizione il cui tipo è un elenco possono includere più valori. Per creare condizioni nelle policy per valori con elenchi, è possibile utilizzare gli operatori di definizione (ForAllValues, ForAnyValue). Ad esempio, per consentire l'accesso a qualsiasi utente la cui affiliazione è "facoltà" o "staff" (ma non "studente") è possibile utilizzare una condizione come la seguente:

"Condition": { "ForAllValues:StringLike": { "saml:edupersonaffiliation":[ "faculty", "staff"] } }

Cross-service SAML-based AWS STS chiavi di contesto della federazione

Alcune chiavi di condizione di SAML-based federazione possono essere utilizzate nelle richieste successive per autorizzare AWS le operazioni in altri servizi e AssumeRole chiamate. Queste sono le seguenti chiavi di condizione che possono essere utilizzate nelle politiche di fiducia dei ruoli quando i principali federati assumono un altro ruolo e nelle politiche delle risorse di altri AWS servizi per autorizzare l'accesso alle risorse da parte dei responsabili federati. Per ulteriori informazioni sull'utilizzo di queste chiavi, consulta Informazioni sulla federazione basata su SAML 2.0.

Seleziona una chiave di condizione per visualizzarne la descrizione.

Nota

Nessun'altra chiave di condizione di SAML-based federazione è disponibile per l'uso dopo la risposta iniziale di autenticazione del provider di identità esterno (IdP).

Chiavi disponibili per AWS STS

È possibile utilizzare le seguenti chiavi di condizione nelle politiche di fiducia dei ruoli IAM per i ruoli assunti utilizzando le operazioni Servizio di token di sicurezza AWS (AWS STS).

saml:sub

Lavora con operatori stringa.

Questo è l'oggetto della richiesta, che include un valore che identifica in modo univoco un singolo utente in un'organizzazione (ad esempio, _cbb88bf52c2510eabe00c1642d4643f41430fe25e3).

set: AWSServiceName

Lavora con operatori stringa.

Utilizzare questa chiave per specificare il servizio in cui è possibile utilizzare un token al portatore. Quando si utilizza questa chiave di condizione in una policy, specificare il servizio utilizzando un principale del servizio. Il principale di un servizio è il nome di un servizio che può essere specificato nell'elemento Principal di una policy. Ad esempio, codeartifact.amazonaws.com è il principale del AWS CodeArtifact servizio.

Disponibilità: questa chiave è presente nelle richieste che ottengono un token di connessione. Non è possibile effettuare una chiamata diretta per AWS STS ottenere un token al portatore. Quando si eseguono alcune operazioni in altri servizi, il servizio richiede il token del portatore per conto dell'utente.

Alcuni AWS servizi richiedono l'autorizzazione per ottenere un AWS STS service bearer token prima di poter accedere alle loro risorse a livello di codice. Ad esempio, AWS CodeArtifact richiede che le entità utilizzino token portatori per eseguire alcune operazioni. Il comando aws codeartifact get-authorization-token restituisce un token di connessione. È quindi possibile utilizzare il token al portatore per eseguire operazioni. AWS CodeArtifact Per ulteriori informazioni sui token del portatore, vedere Token di connessione al servizio.

È possibile utilizzare questa chiave di condizione per consentire ai principal di ottenere un token di portatore da utilizzare con un servizio specifico.

st: DurationSeconds

Lavora con operatori numerici.

Usa questa chiave per specificare la durata (in secondi) che un principale può utilizzare per ottenere un token al AWS AWS STS portatore o un token Web JSON dall'GetWebIdentityTokenAPI.

Disponibilità: questa chiave è presente nelle richieste che ottengono un token al portatore o un token Web JSON dall'API. GetWebIdentityToken Non è possibile effettuare una chiamata diretta a per ottenere un AWS STS token al portatore. Quando si eseguono alcune operazioni in altri servizi, il servizio richiede il token del portatore per conto dell'utente. La chiave non è applicabile alle operazioni che prevedono AWS STS un ruolo.

Alcuni AWS servizi richiedono l'autorizzazione per ottenere un AWS STS service bearer token prima di poter accedere alle relative risorse a livello di programmazione. Ad esempio, AWS CodeArtifact richiede che le entità utilizzino token portatori per eseguire alcune operazioni. Il comando aws codeartifact get-authorization-token restituisce un token di connessione. È quindi possibile utilizzare il token al portatore per eseguire operazioni. AWS CodeArtifact Per ulteriori informazioni sui token del portatore, vedere Token di connessione al servizio.

st: IdentityTokenAudience

Lavora con operatori stringa.

Usa questa chiave per specificare il pubblico per il quale un principal IAM può richiedere JSON Web Tokens (JWT) utilizzando l'API. GetWebIdentityToken Quando questa chiave di condizione è presente in una policy IAM, i principali IAM possono richiedere token solo per i segmenti di pubblico specificati nella policy. I servizi esterni convalidano l'attestazione relativa all'audience («aud») contenuta nel JSON Web Token per garantire che il token sia destinato a loro.

Disponibilità: questa chiave è presente nelle richieste all' GetWebIdentityToken API utilizzata per ottenere JSON Web Tokens (JWT) per l'autenticazione con servizi esterni.

Quando utilizzi questa chiave condizionale in una policy, specifica il valore del pubblico che corrisponde all'identificatore del destinatario previsto (ad esempio,). https://api.example.com

La seguente policy di esempio consente a un principale di richiedere token per i servizi esterni specificati:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:GetWebIdentityToken", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "sts:IdentityTokenAudience": [ "https://api2.example.com", "https://api1.example.com" ] } } } ] }
set: SigningAlgorithm

Lavora con operatori stringa.

Usa questa chiave per specificare l'algoritmo crittografico AWS AWS STS utilizzato per firmare i JSON Web Tokens (JWT) generati dall'API. GetWebIdentityToken Quando utilizzate questa chiave di condizione in una policy, specificate ES384 (ECDSA con P-384 curva e) o RS256 (RSA con). SHA-384 SHA-256

Disponibilità: questa chiave è presente nelle richieste all' GetWebIdentityToken API utilizzata per ottenere JSON Web Tokens (JWT) per l'autenticazione con servizi esterni.

Puoi utilizzare questa chiave condizionale per far sì che i principali IAM richiedano i token utilizzando algoritmi di firma compatibili con i tuoi requisiti di sicurezza o con i servizi esterni con cui ti integri. L'ES384 offre sicurezza e prestazioni ottimali, mentre RS256 offre una più ampia compatibilità con i sistemi che non supportano l'ECDSA.

La seguente politica di esempio richiede che i principali utilizzino l'algoritmo di firma ES384:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:GetWebIdentityToken", "Resource": "*", "Condition": { "StringEquals": { "sts:SigningAlgorithm": "ES384" } } } ] }
set: ExternalId

Lavora con operatori stringa.

Utilizza questa chiave per richiedere che un'entità principale fornisca un identificatore specifico quando assume un ruolo IAM.

Disponibilità: questa chiave è presente nella richiesta quando il principale fornisce un ID esterno mentre assume un ruolo utilizzando l' AWS API AWS CLI or.

Un identificatore univoco che può essere richiesto quando assumi un ruolo in un altro account. Se l'amministratore dell'account a cui appartiene il ruolo ha fornito un ID esterno, specifica questo valore nel parametro ExternalId. Questo valore può essere qualsiasi stringa, ad esempio una passphrase o un numero di account. La funzione principale dell'ID esterno è quella di risolvere e prevenire il problema del "confused deputy" (delegato confuso). Per ulteriori informazioni sull'ID esterno e il problema del "confused deputy", consulta Accesso a Account AWS di proprietà di terzi.

Il valore ExternalId deve avere un minimo di 2 caratteri e un massimo di 1.224 caratteri. Il valore deve essere alfanumerico senza spazi. Può anche includere i seguenti simboli: più (+), uguale (=), virgola (,), punto (.), chiocciola (@), due punti (:), barra (/) e trattino (-).

sts:RequestContext//context-key

Lavora con operatori stringa.

Utilizza questa chiave per confrontare le coppie chiave-valore del contesto di sessione incorporate nell'asserzione di contesto firmata dall'emittente del token affidabile passata nella richiesta con i valori chiave-valore del contesto specificati nella policy di attendibilità del ruolo.

Disponibilità: questa chiave è presente nella richiesta quando viene fornita un'asserzione di contesto nel parametro di ProvidedContexts richiesta mentre si assume un ruolo utilizzando l'operazione API. AWS STS AssumeRole

Questa chiave di contesto è formattata come "sts:RequestContext/context-key":"context-value" dove context-key e context-value rappresentano una coppia chiave-valore di contesto. Quando più chiavi di contesto sono incorporate nell'asserzione di contesto firmata passata nella richiesta, è presente una chiave di contesto per ogni coppia chiave-valore. È necessario concedere l'autorizzazione per l'azione sts:SetContext nella policy di attendibilità del ruolo per consentire a un principale di impostare le chiavi di contesto all'interno del token di sessione risultante. Per ulteriori informazioni sulle chiavi di contesto del Centro identità IAM supportate che possono essere utilizzate con questa chiave, consulta Chiavi di condizione AWS STS per il Centro identità IAM nella Guida per l'utente di Centro identità AWS IAM .

È possibile utilizzare questa chiave in una policy di attendibilità del ruolo per applicare un controllo di accesso granulare in base all'utente o ai suoi attributi quando assume un ruolo. Dopo l'assunzione del ruolo, l'attività viene visualizzata nei AWS CloudTrail log all'interno dell'AdditionalEventDataattributo, contenenti le coppie chiave-valore del contesto di sessione impostate dal provider di contesto nella richiesta di assunzione del ruolo. Ciò consente agli amministratori di distinguere tra le sessioni di ruolo quando un ruolo viene utilizzato da principali diversi. Le coppie chiave-valore vengono impostate dal provider di contesto specificato, non da o. AWS CloudTrail AWS STS Ciò consente al provider di contesto di controllare quale contesto è incluso nei CloudTrail log e nelle informazioni sulla sessione.

set: RequestContextProviders

Lavora con operatori ARN.

Utilizza questa chiave per confrontare l'ARN del provider di contesto nella richiesta con l'ARN del provider di contesto specificato nella policy di attendibilità del ruolo.

Disponibilità: questa chiave è presente nella richiesta quando viene fornita un'asserzione di contesto nel parametro di ProvidedContexts richiesta mentre si assume un ruolo utilizzando l'operazione AWS STS AssumeRole API.

La condizione di esempio seguente verifica che l'ARN del provider di contesto passato nella richiesta corrisponda all'ARN specificato nella condizione della policy di attendibilità del ruolo. Ti consigliamo di aggiungere un controllo di valore null con ForAllValues per evitare che le chiavi di contesto mancanti o con valori vuoti vengano valutate come True. Per informazioni dettagliate, vedi Operatore di condizione per verificare la presenza di chiavi di condizione.

JSON
{ "Version":"2012-10-17", "Statement": { "Action": "sts:SetContext", "Effect": "Allow", "Resource": "*", "Condition": { "ForAllValues:ArnEquals": { "sts:RequestContextProviders": [ "arn:aws:iam::aws:contextProvider/IdentityCenter" ] }, "Null": { "sts:RequestContextProviders": "false" } } } }
set: RoleAuthorizedByIdp

Lavora con operatori booleani.

Utilizza questa chiave per verificare che il provider di identità (IdP) abbia autorizzato esplicitamente il ruolo richiesto tramite l'https://aws.amazon.com/rolesattestazione nel token OIDC. L'attestazione dei ruoli contiene gli ARN del ruolo IAM che il token può assumere. AWS STS supporta due formati per il valore del claim:

Array JSON (consigliato):

"https://aws.amazon.com/roles": [ "arn:aws:iam::111122223333:role/RoleA", "arn:aws:iam::111122223333:role/RoleB" ]

Semicolon-delimited stringa:

"https://aws.amazon.com/roles": "arn:aws:iam::111122223333:role/RoleA;arn:aws:iam::111122223333:role/RoleB"

Disponibilità: questa chiave è presente nelle richieste che utilizzano l'AssumeRoleWithWebIdentityoperazione. Il valore è true quando il token include il https://aws.amazon.com/roles claim e il ruolo richiesto ARN corrisponde a un valore nel claim. Il valore è false quando il token non include il claim. Poiché la chiave è sempre presente nelle AssumeRoleWithWebIdentity richieste, utilizza l'operatore di Bool condizione anzichéBoolIfExists.

Quando il token include il claim ma il ruolo richiesto ARN non corrisponde a un valore del claim, la AssumeRoleWithWebIdentity chiamata restituisce un InvalidIdentityToken errore.

È possibile utilizzare questa chiave condizionale nelle politiche di fiducia dei ruoli, nelle politiche di controllo delle risorse (RCP) e nelle politiche degli endpoint VPC per richiedere che un IdP autorizzi il ruolo prima che possa essere assunto.

La seguente politica di fiducia dei ruoli è consentita AssumeRoleWithWebIdentity solo quando l'IdP ha autorizzato il ruolo richiesto nel token.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/idp.example.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "idp.example.com:aud": "my-app-id" }, "Bool": { "sts:RoleAuthorizedByIdp": "true" } } } ] }
set: RoleSessionName

Lavora con operatori stringa.

Utilizzare questa chiave per confrontare il nome di sessione specificato da un'entità principale quando si assume un ruolo con il valore specificato nella policy.

Disponibilità: questa chiave è presente nella richiesta quando il principale assume il ruolo utilizzando qualsiasi comando CLI Console di gestione AWS assume-role o qualsiasi operazione API. AWS STS AssumeRole

È possibile utilizzare questa chiave in una policy di attendibilità del ruolo per richiedere che gli utenti forniscano un nome di sessione specifico quando assumono un ruolo. Ad esempio, è possibile richiedere che gli utenti IAM specifichino il proprio nome utente come nome di sessione. Dopo che l'utente IAM assume il ruolo, l'attività viene visualizzata nei log AWS CloudTrail con il nome della sessione corrispondente al nome utente. Ciò consente agli amministratori di distinguere tra le sessioni di ruolo quando un ruolo viene utilizzato da principali diversi.

La seguente policy di attendibilità del ruolo richiede che gli utenti IAM nell'account 111122223333 forniscano il nome utente IAM come nome di sessione quando assumono il ruolo. Questo requisito viene applicato utilizzando la variabile di condizione aws:username nella chiave di condizione. Questa policy consente agli utenti IAM di assumere il ruolo a cui è collegata la policy. Questa policy non consente a chiunque utilizzi credenziali temporanee di assumere il ruolo perché la variabile username è presente solo per gli utenti IAM.

Importante

È possibile utilizzare qualsiasi chiave di condizione a valore singolo come variabile. Non è possibile utilizzare una chiave della condizione multi-valore come variabile.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "RoleTrustPolicyRequireUsernameForSessionName", "Effect": "Allow", "Action": "sts:AssumeRole", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Condition": { "StringLike": {"sts:RoleSessionName": "prefix-${aws:username}"} } } ] }

Quando un amministratore visualizza il AWS CloudTrail registro di un'azione, può confrontare il nome della sessione con i nomi utente nel proprio account. Nell'esempio seguente, l'utente denominato matjac ha eseguito l'operazione utilizzando il ruolo denominato MateoRole. L'amministratore può quindi contattare Mateo Jackson, che ha il nome dell'utente matjac.

"assumedRoleUser": { "assumedRoleId": "AROACQRSTUVWRAOEXAMPLE:matjac", "arn": "arn:aws:sts::111122223333:assumed-role/MateoRole/matjac" }

Se si consente l'accesso tra account mediante i ruoli, gli utenti di un account possono assumere un ruolo in un altro account. L'ARN dell'utente del ruolo assunto elencato in CloudTrail include l'account in cui esiste il ruolo. Non include l'account dell'utente che ha assunto il ruolo. Gli utenti sono univoci solo all'interno di un account. Pertanto, si consiglia di utilizzare questo metodo per controllare CloudTrail i registri solo per i ruoli assunti dagli utenti negli account che amministri. Gli utenti potrebbero utilizzare lo stesso nome utente in più account.

set: SourceIdentity

Lavora con operatori stringa.

Utilizza questa chiave per confrontare l'identità di origine che un principale specifica quando si assume un ruolo con il valore specificato nella policy.

Disponibilità: questa chiave è presente nella richiesta quando il principale fornisce un'identità di origine assumendo un ruolo utilizzando qualsiasi comando CLI AWS STS assume-role o operazione API. AWS STS AssumeRole

È possibile utilizzare questa chiave in una policy di attendibilità del ruolo per richiedere che gli utenti forniscano un nome di sessione specifico quando assumono un ruolo. Ad esempio, è possibile richiedere alla forza lavoro o alle identità federate di specificare un valore per l'identità di origine. Puoi configurare il provider di identità (IdP) per utilizzare uno degli attributi associati agli utenti, ad esempio un nome utente o un messaggio di posta elettronica come identità di origine. L'IdP passa quindi l'identità di origine come attributo nelle asserzioni o nei claim a cui invia. AWS Il valore dell'attributo di identità di origine identifica l'utente o l'applicazione che assume il ruolo.

Dopo che l'utente assume il ruolo, l'attività viene visualizzata in Log di AWS CloudTrail con il valore dell'identità di origine impostato. In questo modo è più facile per gli amministratori determinare chi o cosa ha eseguito le azioni aventi un ruolo. AWS Per consentire a un'identità di impostare un'identità di origine, è necessario concedere le autorizzazioni per l'operazione sts:SetSourceIdentity.

A differenza di sts:RoleSessionName, dopo aver impostato l'identità di origine, il valore non può essere modificato. È presente nel contesto della richiesta di tutte le operazioni intraprese con il ruolo dall'identità di origine. Il valore persiste nelle sessioni di ruolo successive quando si utilizzano le credenziali di sessione per assumere un altro ruolo. L'assunzione di un ruolo partendo da un altro si chiama concatenamento del ruolo.

È possibile utilizzare la chiave di condizione aws:SourceIdentity globale per controllare ulteriormente l'accesso alle AWS risorse in base al valore dell'identità di origine nelle richieste successive.

La seguente policy di attendibilità del ruolo consente all'utente IAM AdminUser di assumere un ruolo nell'account 111122223333. Inoltre, concede l'autorizzazione all'AdminUser per impostare un'identità di origine, purché il set di identità di origine sia DiegoRamirez.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowAdminUserAssumeRole", "Effect": "Allow", "Principal": {"AWS": " arn:aws:iam::111122223333:user/AdminUser"}, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity" ], "Condition": { "StringEquals": {"sts:SourceIdentity": "DiegoRamirez"} } } ] }

Per ulteriori informazioni sull'utilizzo dell'identità di origine, consulta Monitoraggio e controllo delle operazioni intraprese con i ruoli assunti.

set: TaskPolicyArn

Lavora con operatori ARN.

Usa questa chiave per confrontare l'ARN della policy in una AssumeRoot richiesta sts: con l'ARN della policy specificato nella policy.

Disponibilità: questa chiave è presente nella richiesta quando si effettua una richiesta utilizzando sts:. AssumeRoot

Gli amministratori possono utilizzare questa chiave di condizione nelle policy IAM per impedire a ruoli o utenti specifici all’interno dell’account di gestione o dell’account amministratore delegato di eseguire determinate operazioni quando assumono le credenziali root. Per ulteriori informazioni, consulta Esegui un'attività privilegiata su un AWS Organizations account membro.

sts: TransitiveTagKeys

Lavora con operatori stringa.

Utilizzare questa chiave per confrontare le chiavi dei tag di sessione transitivi nella richiesta con quelle specificate nella policy.

Disponibilità: questa chiave è presente nella richiesta quando si effettua una richiesta utilizzando credenziali di sicurezza temporanee. Queste includono le credenziali create utilizzando qualsiasi operazione di assume-role o l'operazione GetFederationToken.

Quando si effettua una richiesta utilizzando credenziali di sicurezza temporanee, il contesto della richiesta include la chiave di contesto aws:PrincipalTag. Questa chiave include un elenco di tag di sessione, tag di sessione transitivi e tag di ruolo. I tag di sessione transitivi sono tag che persistono in tutte le sessioni successive quando si utilizzano le credenziali di sessione per assumere un altro ruolo. L'assunzione di un ruolo partendo da un altro si chiama concatenamento del ruolo.

È possibile utilizzare questa chiave di condizione in una policy per richiedere l'impostazione di specifici tag di sessione come transitivi quando si assume un ruolo o si federa un utente.