Passare i tag di sessione AWS STS - 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à.

Passare i tag di sessione AWS STS

I tag di sessione sono attributi di coppia chiave-valore che vengono passati quando si assume un ruolo IAM o si federa un utente in AWS STS. Puoi farlo effettuando una richiesta AWS CLI o AWS API tramite AWS STS o tramite il tuo provider di identità (IdP). Quando richiedi credenziali di sicurezza temporanee, generi una sessione. AWS STS Le sessioni scadono e dispongono di credenziali, ad esempio una coppia di chiavi di accesso e un token di sessione. Quando si utilizzano le credenziali di sessione per effettuare una richiesta successiva, il contesto della richiesta include la chiave di contesto aws:PrincipalTag. È possibile utilizzare la chiave aws:PrincipalTag nell'elemento Condition delle proprie policy per consentire o negare l'accesso in base a tali tag.

Quando si utilizzano credenziali temporanee per effettuare una richiesta, l'entità potrebbe includere un set di tag. Questi tag provengono dalle seguenti fonti:

  1. Tag di sessione: i tag passati quando assumi il ruolo o federi l'utente utilizzando l'API AWS CLI o AWS . Per ulteriori informazioni su queste operazioni, consulta Operazioni di tagging di sessione.

  2. Tag di sessione transitivi in ingresso: questi tag sono stati ereditati da una sessione precedente in un concatenamento di ruoli. Per ulteriori informazioni, consulta Concatenamento dei ruoli con i tag di sessione più avanti in questo argomento.

  3. Tag IAM: i tag associati al ruolo IAM assunto.

Operazioni di tagging di sessione

Puoi passare i tag di sessione utilizzando quanto segue AWS CLI o le operazioni AWS API in AWS STS. La funzione AWS Management Console Switch Role non consente di passare i tag di sessione.

È inoltre possibile impostare i tag di sessione come transitivi. I tag transitivi persistono durante il concatenamento dei ruoli. Per ulteriori informazioni, consulta Concatenamento dei ruoli con i tag di sessione.

Confronto dei metodi per il passaggio dei tag di sessione
Operazione Chi può assumere il ruolo Metodo di passaggio dei tag Metodo di impostazione dei tag transitivi
assume-role CLI oppure operazione API AssumeRole Utente IAM o sessione Parametro API Tags o opzione CLI --tags Parametro API TransitiveTagKeys o opzione CLI --transitive-tag-keys
assume-role-with-saml CLI oppure operazione API AssumeRoleWithSAML Tutti gli utenti autenticati che utilizzano un provider di identità SAML Attributo SAML PrincipalTag Attributo SAML TransitiveTagKeys
assume-role-with-web-identity CLI oppure operazione API AssumeRoleWithWebIdentity Qualsiasi utente autenticato utilizzando un provider OIDC PrincipalTagToken OIDC TransitiveTagKeysToken OIDC
get-federation-token CLI oppure operazione API GetFederationToken Utente IAM o utente root Parametro API Tags o opzione CLI --tags Non supportato

Le operazioni che supportano i tag di sessione potrebbero non concludersi correttamente se si verifica una delle seguenti condizioni:

  • Sono passati oltre 50 tag di sessione.

  • Il testo in chiaro delle chiavi dei tag di sessione supera i 128 caratteri.

  • Il testo in chiaro dei valori dei tag di sessione supera i 256 caratteri.

  • La dimensione totale del testo in chiaro delle policy di sessione supera i 2048 caratteri.

  • La dimensione totale del pacchetto delle policy e dei tag di sessione combinati è troppo grande. Se l'operazione non ha esito positivo, il messaggio di errore mostra quanto le policy e i tag combinati si avvicinano al limite di dimensione superiore, in percentuale.

Cose da sapere sui tag di sessione

Prima di utilizzare i tag di sessione, esaminare i seguenti dettagli sulle sessioni e sui tag.

  • Quando utilizzi i tag di sessione, le policy di attendibilità per tutti i ruoli connessi al provider di identità (IdP) che passa i tag devono disporre dell'autorizzazione sts:TagSession. Per i ruoli che non dispongono di questa autorizzazione nella policy di attendibilità, l'operazione AssumeRole avrà esito negativo.

  • Quando si richiede una sessione, è possibile specificare i tag principali come tag di sessione. I tag si applicano alle richieste effettuate utilizzando le credenziali della sessione.

  • I tag di sessione sono coppie chiave-valore. Ad esempio, per aggiungere informazioni di contatto a una sessione, è possibile aggiungere la chiave del tag di sessione email e il valore del tag johndoe@example.com.

  • I tag di sessione devono seguire le regole per la denominazione dei tag in IAM e. AWS STS In questo argomento sono incluse informazioni sulla distinzione tra maiuscole e minuscole e sui prefissi riservati validi per i tag di sessione.

  • I nuovi tag di sessione sovrascrivono i tag relativi ai ruoli assunti o agli utenti federati con la stessa chiave di tag, indipendentemente dall'utilizzo di lettere minuscole o maiuscole.

  • Non è possibile passare i tag di sessione utilizzando. AWS Management Console

  • I tag di sessione sono validi solo per la sessione corrente.

  • I tag di sessione supportano il concatenamento dei ruoli. Per impostazione predefinita, AWS STS non passa tag alle sessioni di ruolo successive. Tuttavia, è possibile impostare i tag di sessione come transitivi. I tag transitivi persistono durante il concatenamento dei ruoli e sostituiscono i valori ResourceTag corrispondenti dopo la valutazione della policy di attendibilità del ruolo. Per ulteriori informazioni, consulta Concatenamento dei ruoli con i tag di sessione.

  • È possibile utilizzare i tag di sessione per controllare l'accesso alle risorse o per controllare quali tag possono essere passati in una sessione successiva. Per ulteriori informazioni, consulta Tutorial IAM: Utilizzo dei tag di sessione SAML per ABAC.

  • È possibile visualizzare i tag del principale per la sessione, inclusi i tag di sessione, nei log AWS CloudTrail . Per ulteriori informazioni, consulta Visualizzazione dei tag di sessione in CloudTrail.

  • È necessario passare un singolo valore per ogni tag di sessione. AWS STS non supporta tag di sessione multivalore.

  • È possibile passare un massimo di 50 tag di sessione. Il numero e la dimensione delle risorse IAM in un AWS account sono limitati. Per ulteriori informazioni, consulta IAM e AWS STS quote.

  • Una AWS conversione comprime le politiche di sessione e i tag di sessione passati combinati in un formato binario compresso con un limite separato. Se superi questo limite, il messaggio di errore AWS CLI o AWS API mostra quanto le politiche e i tag combinati si avvicinano al limite di dimensione superiore, in percentuale.

Autorizzazioni necessarie per aggiungere tag di sessione

Oltre a quella sull'operazione che corrisponde all'operazione API, è necessario disporre nella policy dell'autorizzazione per le seguenti operazioni:

sts:TagSession
Importante

Quando si utilizzano i tag di sessione, i criteri di attendibilità dei ruoli per tutti i ruoli connessi a un provider di identità (IdP) devono disporre dell'autorizzazione sts:TagSession. L'operazione AssumeRole avrà esito negativo per qualsiasi ruolo connesso a un provider di identità che passa tag di sessione senza questa autorizzazione. Se non si desidera aggiornare la policy di attendibilità del ruolo per ogni ruolo, è possibile utilizzare un'istanza IdP separata per passare i tag di sessione. Quindi, aggiungi l'autorizzazione sts:TagSession solo ai ruoli connessi all'IdP separato.

È possibile utilizzare l'operazione sts:TagSession con le seguenti chiavi di condizione.

  • aws:PrincipalTag: confronta il tag collegato al principale che effettua la richiesta con il tag specificato nella policy. Ad esempio, è possibile consentire a un'entità di passare i tag di sessione solo se l'entità che effettua la richiesta dispone dei tag specificati.

  • aws:RequestTag: confronta la coppia chiave-valore del tag passata nella richiesta con la coppia del tag specificata nella policy. Ad esempio, è possibile consentire all'entità di passare tag di sessione specificati, ma solo con i valori specificati.

  • aws:ResourceTag: confronta la coppia chiave-valore tag specificata nella policy con la coppia chiave-valore collegata alla risorsa. Ad esempio, puoi consentire al principale di passare i tag di sessione solo se il ruolo che assume include i tag specificati.

  • aws:TagKeys: confronta le chiavi tag in una richiesta con quelle specificate nella policy. Ad esempio, è possibile consentire all'entità di passare solo i tag di sessione con le chiavi dei tag specificate. Questa chiave di condizione limita l'insieme massimo di tag di sessione che possono essere passati.

  • sts:TransitiveTagKeys: confronta le chiavi dei tag di sessione transitivi nella richiesta con quelle specificate nella policy. Ad esempio, è possibile scrivere una policy per consentire a un'entità di impostare solo tag specifici come transitivi. I tag transitivi persistono durante il concatenamento dei ruoli. Per ulteriori informazioni, consulta Concatenamento dei ruoli con i tag di sessione.

Ad esempio, la seguente policy di attendibilità del ruolo consente all'utente test-session-tags di assumere il ruolo a cui è collegata la policy. Quando l'utente assume il ruolo, deve utilizzare l' AWS API AWS CLI o per passare i tre tag di sessione richiesti e l'ID esterno richiesto. Inoltre, l'utente può scegliere di impostare i tag Department e Project come transitivi.

Esempio di policy di attendibilità dei ruoli per i tag di sessione
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIamUserAssumeRole", "Effect": "Allow", "Action": "sts:AssumeRole", "Principal": {"AWS": "arn:aws:iam::123456789012:user/test-session-tags"}, "Condition": { "StringLike": { "aws:RequestTag/Project": "*", "aws:RequestTag/CostCenter": "*", "aws:RequestTag/Department": "*" }, "StringEquals": {"sts:ExternalId": "Example987"} } }, { "Sid": "AllowPassSessionTagsAndTransitive", "Effect": "Allow", "Action": "sts:TagSession", "Principal": {"AWS": "arn:aws:iam::123456789012:user/test-session-tags"}, "Condition": { "StringLike": { "aws:RequestTag/Project": "*", "aws:RequestTag/CostCenter": "*" }, "StringEquals": { "aws:RequestTag/Department": [ "Engineering", "Marketing" ] }, "ForAllValues:StringEquals": { "sts:TransitiveTagKeys": [ "Project", "Department" ] } } } ] }

Che cosa fa questa policy?

  • L'istruzione AllowIamUserAssumeRole consente all'utente test-session-tags di assumere il ruolo a cui è collegata la policy. Quando tale utente assume il ruolo, deve passare i tag di sessione richiesti e l'ID esterno.

    • Il primo blocco condizionale di questa istruzione richiede all'utente di passare i tag di sessione Project, CostCenter e Department. I valori dei tag non sono significativi in questa istruzione, quindi abbiamo usato caratteri jolly (*) per i valori dei tag. Questo blocco assicura che l'utente passi almeno questi tre tag di sessione. In caso contrario, l'operazione non va a buon fine. L'utente può passare tag aggiuntivi.

    • Il secondo blocco condizionale richiede all'utente di passare un ID esterno con il valore Example987.

  • L'istruzione AllowPassSessionTagsAndTransitive autorizza l'operazione sts:TagSession. Questa operazione deve essere autorizzata prima che l'utente possa passare i tag di sessione. Se la policy include la prima istruzione senza la seconda, l'utente non può assumere il ruolo.

    • Il primo blocco condizionale di questa istruzione consente all'utente di passare qualsiasi valore per i tag di sessione CostCenter e Project. A tale scopo, è necessario utilizzare i caratteri jolly (*) per il valore del tag nella policy, il che richiede l'utilizzo dell'operatore di StringLikecondizione.

    • Il secondo blocco condizionale consente all'utente di passare solo i valori Marketing o Engineering per il tag di sessione Department.

    • Il terzo blocco condizionale elenca l'insieme massimo di tag che possono essere impostati come transitivi. L'utente può scegliere di impostare un sottoinsieme o nessun tag come transitivo. Ma non può impostare tag aggiuntivi come transitivi. È possibile richiedere che imposti almeno uno dei tag come transitivo aggiungendo un altro blocco condizionale che include "Null":{"sts:TransitiveTagKeys":"false"}.

Passare i tag di sessione utilizzando AssumeRole

L'AssumeRoleoperazione restituisce un set di credenziali temporanee che è possibile utilizzare per accedere alle AWS risorse. È possibile utilizzare le credenziali dell'utente o del ruolo IAM per chiamare AssumeRole. Per passare i tag di sessione mentre assumi un ruolo, utilizzate l'--tags AWS CLI opzione o il parametro Tags AWS API.

Per impostare i tag come transitivi, utilizzate l'--transitive-tag-keys AWS CLI opzione o il parametro TransitiveTagKeys AWS API. I tag transitivi persistono durante il concatenamento dei ruoli. Per ulteriori informazioni, consulta Concatenamento dei ruoli con i tag di sessione.

Nell'esempio seguente viene illustrata una richiesta di esempio che utilizza AssumeRole. In questo esempio, quando si assume il ruolo my-role-example, si crea una sessione denominata my-session. Aggiungere le coppie chiave-valore dei tag di sessione Project = Automation, CostCenter = 12345 e Department = Engineering. È inoltre possibile impostare i tag Project e Department come transitivi specificando le loro chiavi.

Esempio Richiesta AssumeRole CLI di esempio
aws sts assume-role \ --role-arn arn:aws:iam::123456789012:role/my-role-example \ --role-session-name my-session \ --tags Key=Project,Value=Automation Key=CostCenter,Value=12345 Key=Department,Value=Engineering \ --transitive-tag-keys Project Department \ --external-id Example987

Passaggio dei tag di sessione tramite SAML AssumeRoleWith

L'operazione AssumeRoleWithSAML viene autenticata con la federazione basata su SAML. Questa operazione restituisce un set di credenziali temporanee che è possibile utilizzare per accedere AWS alle risorse. Per ulteriori informazioni sull'utilizzo della federazione basata su SAML per AWS Management Console l'accesso, consulta. Consentire agli utenti federati SAML 2.0 di accedere a AWS Management Console Per dettagli sull'accesso alle AWS CLI nostre AWS API, consulta. Federazione SAML 2.0 Per un tutorial sulla configurazione della federazione SAML per gli utenti di Active Directory, consulta AWS Federated Authentication with Active Directory Federation Services (ADFS) nel Security Blog. AWS

In qualità di amministratore, puoi consentire ai membri della tua directory aziendale di unirsi per utilizzare l'operazione. AWS AWS STS AssumeRoleWithSAML A tale scopo, è necessario completare le seguenti attività:

AWS include fornitori di identità con end-to-end esperienza certificata per i tag di sessione con le loro soluzioni di identità. Per informazioni su come utilizzare questi provider di identità per configurare i tag di sessione, consultare Integra fornitori di soluzioni SAML di terze parti con AWS.

Per passare gli attributi SAML come tag di sessione, includere l'elemento Attribute con l'attributo Name impostato a https://aws.amazon.com/SAML/Attributes/PrincipalTag:{TagKey}. Utilizzare l'elemento AttributeValue per specificare il valore del tag. Includere un elemento Attribute separato per ogni tag di sessione.

Ad esempio, si supponga di voler passare i seguenti attributi di identità come tag di sessione:

  • Project:Automation

  • CostCenter:12345

  • Department:Engineering

Per passare questi attributi, includere i seguenti elementi nell'asserzione SAML.

Esempio di frammento di un'asserzione SAML
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:Project"> <AttributeValue>Automation</AttributeValue> </Attribute> <Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:CostCenter"> <AttributeValue>12345</AttributeValue> </Attribute> <Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:Department"> <AttributeValue>Engineering</AttributeValue> </Attribute>

Per impostare i tag sopra elencati come transitivi, include un altro elemento Attribute con l'attributo Name impostato su https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys. I tag transitivi persistono durante il concatenamento dei ruoli. Per ulteriori informazioni, consulta Concatenamento dei ruoli con i tag di sessione.

Per impostare i tag Project e Department come transitivi, utilizzare il seguente attributo multi valore.

Esempio di frammento di un'asserzione SAML
<Attribute Name="https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys"> <AttributeValue>Project</AttributeValue> <AttributeValue>Department</AttributeValue> </Attribute>

Passare i tag di sessione utilizzando AssumeRoleWithWebIdentity

Usa la federazione conforme a OpenID Connect (OIDC) per autenticare l'operazione. AssumeRoleWithWebIdentity Questa operazione restituisce un set di credenziali temporanee che è possibile utilizzare per accedere alle risorse. AWS Per ulteriori informazioni sull'utilizzo della federazione delle identità Web per AWS Management Console l'accesso, vedereFederazione OIDC.

Per passare i tag di sessione da OpenID Connect (OIDC), è necessario includere i tag di sessione nel Token Web JSON (JWT). Includere i tag di sessione nello spazio dei nomi https://aws.amazon.com/tags quando si invia la richiesta AssumeRoleWithWebIdentity. Per ulteriori informazioni sui token e le registrazioni OIDC, consultare Utilizzo di token con pool di utenti nella Guida per gli sviluppatori Amazon Cognito .

Ad esempio, il seguente JWT decodificato utilizza un token per chiamare AssumeRoleWithWebIdentity con i tag di sessione Project, CostCenter e Department. Il token imposta anche i tag Project e CostCenter come transitivi. I tag transitivi persistono durante il concatenamento dei ruoli. Per ulteriori informazioni, consulta Concatenamento dei ruoli con i tag di sessione.

Esempio di token Web JSON decodificato
{ "sub": "johndoe", "aud": "ac_oic_client", "jti": "ZYUCeRMQVtqHypVPWAN3VB", "iss": "https://xyz.com", "iat": 1566583294, "exp": 1566583354, "auth_time": 1566583292, "https://aws.amazon.com/tags": { "principal_tags": { "Project": ["Automation"], "CostCenter": ["987654"], "Department": ["Engineering"] }, "transitive_tag_keys": [ "Project", "CostCenter" ] } }

Passare i tag di sessione utilizzando GetFederationToken

La GetFederationToken consente di federare l'utente. Questa operazione restituisce un set di credenziali temporanee che è possibile utilizzare per accedere alle AWS risorse. Per aggiungere tag alla sessione utente federata, utilizzate l'--tags AWS CLI opzione o il parametro Tags AWS API. Non è possibile impostare i tag di sessione come transitivi quando si utilizza GetFederationToken, perché non è possibile utilizzare le credenziali provvisorie per assumere un ruolo. In questo caso non è possibile utilizzare il concatenamento dei ruoli.

Di seguito è mostrata una risposta di esempio che utilizza GetFederationToken. In questo esempio, quando si richiede il token, si crea una sessione denominata my-fed-user. Aggiungere le coppie chiave-valore dei tag di sessione Project = Automation e Department = Engineering.

Esempio Richiesta GetFederationToken CLI di esempio
aws sts get-federation-token \ --name my-fed-user \ --tags key=Project,value=Automation key=Department,value=Engineering

Quando si utilizzano le credenziali temporanee restituite dall'operazione GetFederationToken, i tag del principale della sessione includono i tag dell'utente e i tag di sessione passati.

Concatenamento dei ruoli con i tag di sessione

È possibile assumere un ruolo e quindi utilizzare le credenziali temporanee per assumere un altro ruolo. È possibile continuare da una sessione all'altra. Questa operazione è chiamata concatenamento del ruolo. Quando si passano i tag di sessione mentre si assume un ruolo, è possibile impostare le chiavi come transitive. Ciò garantisce che tali tag di sessione siano passati alle sessioni successive in un concatenamento di ruoli. Non è possibile impostare tag di ruolo come transitivi. Per passare questi tag alle sessioni successive, specificarli come tag di sessione.

Nota

I tag transitivi persistono durante il concatenamento dei ruoli e sostituiscono i valori ResourceTag corrispondenti dopo la valutazione della policy di attendibilità del ruolo.

L'esempio seguente mostra come AWS STS passa i tag di sessione, i tag transitivi e i tag di ruolo nelle sessioni successive in una catena di ruoli.

In questo esempio di scenario di concatenamento dei ruoli, si utilizza una chiave di accesso utente IAM AWS CLI per assumere un ruolo denominato. Role1 È quindi possibile utilizzare le credenziali di sessione risultanti per assumere un secondo ruolo denominato Role2. È quindi possibile utilizzare le credenziali della seconda sessione per assumere un terzo ruolo denominato Role3. Queste richieste sono eseguite come tre operazioni separate. Ogni ruolo è già taggato in IAM. E durante ogni richiesta, è possibile passare ulteriori tag di sessione.

Concatenazione del ruolo

Quando si concatenano i ruoli, è possibile assicurarsi che i tag di una sessione precedente persistano nelle sessioni successive. Per fare ciò utilizzando il comando assume-role della CLI, è necessario passare il tag come tag di sessione e impostare il tag come transitivo. Si passa il tag Star = 1 come tag di sessione. Il comando collega anche il tag Heart = 1 al ruolo e lo applica come tag del principale quando si utilizza la sessione. Tuttavia, si desidera anche che il tag Heart = 1 sia passato automaticamente alla seconda o terza sessione. Per farlo, è necessario includerlo manualmente come tag di sessione. I tag principali di sessione risultanti includono entrambi questi tag e li impostano come transitivi.

Assumere il primo ruolo in un concatenamento dei ruoli

Esegui questa richiesta utilizzando il seguente AWS CLI comando:

Esempio Richiesta AssumeRole CLI di esempio
aws sts assume-role \ --role-arn arn:aws:iam::123456789012:role/Role1 \ --role-session-name Session1 \ --tags Key=Star,Value=1 Key=Heart,Value=1 \ --transitive-tag-keys Star Heart

È quindi possibile utilizzare le credenziali di tale sessione per assumere il Role2. Il comando collega il tag Sun = 2 al secondo ruolo e lo applica come tag del principale quando utilizzi la sessione. I tag Heart e Star ereditano dai tag di sessione transitivi nella prima sessione. I tag del principale della seconda sessione risultanti sono Heart = 1, Star = 1 e Sun = 2. Heart e Star continueranno a essere transitivi. Il tag Sun collegato a Role2 non è contrassegnato come transitivo perché non è un tag di sessione. Le sessioni future non ereditano questo tag.

Assumere il secondo ruolo in un concatenamento dei ruoli

Esegui questa seconda richiesta utilizzando il seguente AWS CLI comando:

Esempio Richiesta AssumeRole CLI di esempio
aws sts assume-role \ --role-arn arn:aws:iam::123456789012:role/Role2 \ --role-session-name Session2

È quindi possibile utilizzare le credenziali della seconda sessione per assumere il Role3. I tag dell'entità per la terza sessione derivano da tutti i nuovi tag di sessione, i tag di sessione transitivi ereditati e i tag di ruolo. I tag Heart = 1 e Star = 1 nella seconda sessione sono stati ereditati dai tag di sessione transitivi nella prima sessione. Se provi a passare il tag di sessione Sun = 2, l'operazione avrà esito negativo. Il tag di sessione Star = 1 ereditato sostituisce il tag Star = 3 del ruolo. Nella concatenazione dei ruoli, il valore di un tag transitivo sovrascrive il ruolo che corrisponde al valore ResourceTag dopo della valutazione della policy di attendibilità del ruolo. In questo esempio, se Role3 utilizza Star come ResourceTag nella policy di attendibilità ruolo e imposta il valore ResourceTag sul valore del tag transitivo dalla sessione del ruolo chiamante. Il tag del ruolo Lightning si applica anche alla terza sessione e non è impostato come transitivo.

Assumere il terzo ruolo in un concatenamento dei ruoli

La terza richiesta viene eseguita utilizzando il seguente AWS CLI comando:

Esempio Richiesta AssumeRole CLI di esempio
aws sts assume-role \ --role-arn arn:aws:iam::123456789012:role/Role3 \ --role-session-name Session3

Utilizzo dei tag di sessione per ABAC

Il controllo degli accessi basato su attributi (Attribute-Based Access Control, ABAC) è una strategia di autorizzazione che definisce le autorizzazioni in base agli attributi dei tag.

Se l'azienda utilizza un provider di identità (IdP) basato su SAML o OIDC per gestire le identità utente, puoi configurare l'asserzione per passare i tag di sessione ad AWS. Ad esempio, con le identità utente aziendali, quando i dipendenti si uniscono AWS, AWS applica i loro attributi al principale risultante. È quindi possibile utilizzare ABAC per consentire o negare le autorizzazioni sulla base di tali attributi. Per informazioni dettagliate, vedi Tutorial IAM: Utilizzo dei tag di sessione SAML per ABAC.

Per ulteriori informazioni sull'utilizzo di IAM Identity Center con ABAC, consulta Attributi per il controllo degli accessi nella Guida per l'utente di AWS IAM Identity Center .

Visualizzazione dei tag di sessione in CloudTrail

È possibile utilizzare AWS CloudTrail per visualizzare le richieste utilizzate per assumere ruoli o federare gli utenti. Il file di CloudTrail registro include informazioni sui tag principali per la sessione utente con ruolo assunto o federata. Per ulteriori informazioni, consulta Registrazione delle chiamate IAM e AWS STS API con AWS CloudTrail.

Ad esempio, supponiamo di effettuare una AWS STS AssumeRoleWithSAML richiesta, passare i tag di sessione e impostare tali tag come transitivi. Puoi trovare le seguenti informazioni nel tuo CloudTrail registro.

Esempio di AssumeRoleWith registro SAML CloudTrail
"requestParameters": { "sAMLAssertionID": "_c0046cEXAMPLEb9d4b8eEXAMPLE2619aEXAMPLE", "roleSessionName": "MyRoleSessionName", "principalTags": { "CostCenter": "987654", "Project": "Unicorn" }, "transitiveTagKeys": [ "CostCenter", "Project" ], "durationSeconds": 3600, "roleArn": "arn:aws:iam::123456789012:role/SAMLTestRoleShibboleth", "principalArn": "arn:aws:iam::123456789012:saml-provider/Shibboleth" },

È possibile visualizzare i seguenti CloudTrail registri di esempio per visualizzare gli eventi che utilizzano tag di sessione.