IAMruoli - Amazon Cognito

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à.

IAMruoli

Durante la creazione di un pool di identità, ti viene richiesto di aggiornare i IAM ruoli assunti dagli utenti. IAMi ruoli funzionano in questo modo: quando un utente accede alla tua app, Amazon Cognito genera credenziali AWS temporanee per l'utente. Queste credenziali temporanee sono associate a un ruolo specifico. IAM Con il IAM ruolo, puoi definire una serie di autorizzazioni per accedere alle tue AWS risorse.

È possibile specificare IAM ruoli predefiniti per utenti autenticati e non autenticati. Inoltre, puoi definire le regole per scegliere il ruolo di ogni utente in base alle richieste nel token ID dell'utente. Per ulteriori informazioni, consulta Utilizzo del controllo degli accessi basato su ruoli.

Per impostazione predefinita, la console Amazon Cognito crea IAM ruoli che forniscono l'accesso ad Amazon Mobile Analytics e ad Amazon Cognito Sync. In alternativa, puoi scegliere di utilizzare ruoli esistentiIAM.

Modifica IAM i ruoli per consentire o limitare l'accesso ad altri servizi. Per farlo, accedi alla IAM console. Quindi seleziona Roles (Ruoli) e seleziona un ruolo. Le policy associate al ruolo selezionato sono elencate nella scheda Permissions (Autorizzazioni). Puoi personalizzare una policy di accesso predefinita selezionando il collegamento Manage Policy (Gestisci Policy) corrispondente. Per ulteriori informazioni sull'utilizzo e la definizione delle politiche, consulta Panoramica delle IAM politiche.

Nota

È consigliabile definire policy in grado di seguire il principio di concessione di privilegi minimi. In altre parole, le policy includono solo le autorizzazioni che gli utenti richiedono per eseguire le attività. Per ulteriori informazioni, consulta Grant Least Privilege nella Guida per l'IAMutente.

Ricorda che le identità non autenticate verranno assunte dagli utenti che non effettuano l'accesso alla tua app. Di solito, le autorizzazioni che assegni per le identità non autenticate devono essere più restrittive rispetto a quelle per le identità autenticate.

Configurazione di una policy di attendibilità

Amazon Cognito utilizza i IAM ruoli per generare credenziali temporanee per gli utenti dell'applicazione. L'accesso alle autorizzazioni è controllato da una relazione di attendibilità del ruolo. Ulteriori informazioni su Attendibilità del ruolo e autorizzazioni.

Il token a cui AWS STS viene presentato viene generato da un pool di identità, che traduce un pool di utenti, un token social o di OIDC provider o un'SAMLasserzione nel proprio token. Il token del pool di identità contiene un'attestazione aud che è l'ID del pool di identità.

Il seguente esempio di policy di trust dei ruoli consente al responsabile del servizio federato di cognito-identity.amazonaws.com chiamare il. AWS STS API AssumeRoleWithWebIdentity La richiesta avrà esito positivo solo se il token del pool di identità nella API richiesta presenta le seguenti attestazioni.

  1. Un'attestazione aud dell'ID del pool di identità us-west-2:abcdefg-1234-5678-910a-0e8443553f95.

  2. Un'attestazione amr di authenticated viene aggiunta quando l'utente ha effettuato l'accesso e non è un utente ospite.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-west-2:abcdefg-1234-5678-910a-0e8443553f95" }, "ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "authenticated" } } } ] }

Politiche di attendibilità per IAM i ruoli nell'autenticazione di base (classica)

È necessario applicare almeno una condizione che limiti le politiche di attendibilità per i ruoli utilizzati con i pool di identità. Quando si creano o si aggiornano i criteri di attendibilità dei ruoli per i pool di identità, viene IAM restituito un errore se si tenta di salvare le modifiche senza almeno una chiave di condizione che limiti le identità di origine. AWS STS non consente AssumeRoleWithWebIdentityoperazioni su più account, dai pool di identità ai IAM ruoli privi di una condizione di questo tipo.

Questo argomento include diverse condizioni che limitano le identità di origine per i pool di identità. Per un elenco completo, vedi Chiavi disponibili per la federazione delle identità AWS web.

Nell'autenticazione di base o classica con un pool di identità, puoi assumere qualsiasi IAM ruolo AWS STS se disponi della giusta politica di fiducia. IAMi ruoli per i pool di identità di Amazon Cognito si affidano al responsabile del servizio cognito-identity.amazonaws.com per assumere il ruolo. Questa configurazione non è sufficiente per proteggere i IAM ruoli dall'accesso involontario alle risorse. I ruoli di questo tipo devono applicare una condizione aggiuntiva alla politica di attendibilità dei ruoli. Non è possibile creare o modificare i ruoli per i pool di identità senza almeno una delle seguenti condizioni.

cognito-identity.amazonaws.com:aud

Limita il ruolo alle operazioni provenienti da uno o più pool di identità. Amazon Cognito indica il pool di identità di origine nel aud claim nel token del pool di identità.

cognito-identity.amazonaws.com:amr

Limita il ruolo a uno authenticated o agli utenti unauthenticated (ospiti). Amazon Cognito indica lo stato di autenticazione nel amr claim nel token del pool di identità.

cognito-identity.amazonaws.com:sub

Limita il ruolo a uno o più utenti di. UUID Questo UUID è l'ID di identità dell'utente nel pool di identità. Questo valore non è il sub valore del provider di identità originale dell'utente. Amazon Cognito lo indica nel sub claim UUID contenuto nel token del pool di identità.

L'autenticazione a flusso avanzato richiede che il IAM ruolo appartenga allo Account AWS stesso pool di identità, ma questo non è il caso dell'autenticazione di base.

Considerazioni aggiuntive si applicano ai pool di identità di Amazon Cognito che assumono IAM ruoli tra account. Le politiche di fiducia di tali ruoli devono accettare il principio del cognito-identity.amazonaws.com servizio e contenere la condizione specifica. cognito-identity.amazonaws.com:aud Per impedire l'accesso involontario alle AWS risorse, la chiave aud condizionale limita il ruolo agli utenti dei pool di identità indicati nel valore della condizione.

Il token emesso da un pool di identità per un'identità contiene informazioni sull'origine del pool Account AWS di identità. Quando presenti un token del pool di identità in una AssumeRoleWithWebIdentityAPIrichiesta, AWS STS verifica se il pool di identità di origine ha lo stesso Account AWS ruolo. IAM Se AWS STS determina che la richiesta è interaccount, verifica se la policy di attendibilità dei ruoli presenta una aud condizione. La chiamata assume-role fallisce se non sono presenti tali condizioni nella policy di fiducia dei ruoli. Se la richiesta non è interaccount, AWS STS non applica questa restrizione. Come procedura consigliata, applica sempre una condizione di questo tipo alle politiche di attendibilità dei ruoli del pool di identità.

Condizioni aggiuntive relative alla politica di fiducia

Riutilizzo dei ruoli tra i pool di identità

Per riutilizzare un ruolo tra più pool di identità, poiché condividono un set di autorizzazioni, puoi includere più pool di identità come segue:

"StringEquals": { "cognito-identity.amazonaws.com:aud": [ "us-east-1:12345678-abcd-abcd-abcd-123456790ab", "us-east-1:98765432-dcba-dcba-dcba-123456790ab" ] }
Limitazione dell'accesso a specifiche identità

Per creare una policy limitata a uno specifico set di app utenti, controlla il valore di cognito-identity.amazonaws.com:sub:

"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" ] }
Limitazione dell'accesso a specifici provider

Per creare una policy limitata agli utenti che hanno eseguito l'accesso con un determinato provider (probabilmente il tuo provider di accesso), controlla il valore di cognito-identity.amazonaws.com:amr:

"ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "login.myprovider.myapp" }

Ad esempio, un'applicazione che fa affidamento solo su Facebook avrebbe la seguente clausola amr:

"ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "graph.facebook.com" }

Policy di accesso

Le autorizzazioni collegate a un ruolo si applicano a tutti gli utenti che assumono tale ruolo. Per eseguire il partizionamento dell'accesso degli utenti, utilizza le condizioni e le variabili di policy. Per ulteriori informazioni, consulta Elementi IAM della politica: variabili e tag. Puoi utilizzare sub questa condizione per limitare le azioni all'identità di Amazon Cognito IDs nelle tue politiche di accesso. Utilizza questa opzione con cautela, in particolare per identità non autenticate, prive di un ID utente coerente. Per ulteriori informazioni sulle variabili di IAM policy per la federazione web con Amazon Cognito, consulta IAMe AWS STS condiziona le chiavi di contesto nella Guida per l'AWS Identity and Access Management utente.

Per una maggiore protezione di sicurezza, Amazon Cognito applica una policy di riduzione dell'ambito alle credenziali assegnate agli utenti non autenticati nel flusso avanzato, utilizzando GetCredentialsForIdentity. La politica scope-down aggiunge un Policy di sessione inline e un AWS politica di sessione gestita alle IAM politiche che applichi al tuo ruolo non autenticato. Poiché è necessario concedere l'accesso sia nelle IAM politiche relative al ruolo che nelle politiche di sessione, la politica scope-down limita l'accesso degli utenti a servizi diversi da quelli elencati di seguito.

Nota

Nel flusso di base (classico), puoi crearne uno tuo AssumeRoleWithWebIdentityAPIrichiesta e può applicare queste restrizioni alla richiesta. Come best practice di sicurezza, non assegnare autorizzazioni superiori a questa policy di riduzione dell'ambito a utenti non autenticati.

Amazon Cognito impedisce inoltre agli utenti autenticati e non autenticati di effettuare richieste ai pool di identità di Amazon Cognito e API Amazon Cognito Sync. Altri Servizi AWS potrebbero imporre restrizioni all'accesso ai servizi dalle identità web.

In caso di richiesta riuscita con il flusso migliorato, Amazon Cognito effettua una AssumeRoleWithWebIdentity API richiesta in background. Tra i parametri di questa richiesta, Amazon Cognito include quelli riportati di seguito.

  1. L'ID identificativo dell'utente.

  2. Il ARN IAM ruolo che l'utente vuole assumere.

  3. Un parametro policy che aggiunge una policy di sessione inline.

  4. Un PolicyArns.member.N parametro il cui valore è una politica AWS gestita che concede autorizzazioni aggiuntive in Amazon. CloudWatch

Servizi cui possono accedere gli utenti non autenticati

Quando utilizzi il flusso avanzato, le policy di riduzione dell'ambito applicate da Amazon Cognito alla sessione dell'utente impediscono l'utilizzo di servizi diversi da quelli elencati nella tabella seguente. Per un sottoinsieme di servizi, sono consentite solo azioni specifiche.

Categoria Servizio

Analisi

Amazon Data Firehose

Servizio gestito da Amazon per Apache Flink

Integrazione di applicazioni

Amazon Simple Queue Service

Realtà aumentata e realtà virtuale

Amazon Sumerian

Applicazioni aziendali

Amazon Mobile Analytics

Amazon Simple Email Service

Calcolo

AWS Lambda

Crittografia e PKI

AWS Key Management Service¹

Database

Amazon DynamoDB

Amazon SimpleDB

Web e dispositivi mobili front-end

AWS AppSync

Servizio di posizione Amazon

Amazon Simple Notification Service

Amazon Pinpoint

Servizio di posizione Amazon

Sviluppo dei giochi

Amazon GameLift

Internet of Things (IoT)

AWS IoT

Machine Learning

Amazon CodeWhisperer

Amazon Comprehend

Amazon Lex

Amazon Machine Learning

Amazon Personalize

Amazon Polly

Amazon Rekognition

SageMakerAmazon¹

Amazon Textract¹

Amazon Transcribe

Amazon Translate

Gestione e governance

Amazon CloudWatch

CloudWatch Registri Amazon

Reti e distribuzione di contenuti

Amazon API Gateway

Sicurezza, identità e conformità

Pool di utenti Amazon Cognito

Storage

Amazon Simple Storage Service

¹ Per quanto riguarda la tabella seguente, la policy in linea prevede un sottoinsieme di azioni. Servizi AWS Nella tabella sono visualizzate le azioni disponibili in ciascuno di essi.

Servizio AWS Autorizzazioni massime per gli utenti non autenticati del flusso avanzato
AWS Key Management Service

Encrypt

Decrypt

ReEncrypt

GenerateDataKey

Amazon SageMaker

InvokeEndpoint

Amazon Textract

DetectDocumentText

AnalyzeDocument

Amazon Sumerian

View*

Servizio di posizione Amazon

SearchPlaceIndex*

GetPlace

CalculateRoute*

*Geofence

*Geofences

*DevicePosition*

Per concedere l'accesso a un numero Servizi AWS superiore a questo elenco, attiva il flusso di autenticazione di base (classico) nel tuo pool di identità. Se i tuoi utenti riscontrano NotAuthorizedException errori Servizi AWS che sono consentiti dalle politiche assegnate al IAM ruolo per gli utenti non autenticati, valuta se puoi rimuovere quel servizio dal tuo caso d'uso. Se non è possibile, passa al flusso di base.

La politica di sessione in linea per gli utenti ospiti

Amazon Cognito applica innanzitutto una policy in linea nella richiesta di credenziali. IAM La policy di sessione inline limita le autorizzazioni effettive dell'utente per evitare di includere l'accesso a qualsiasi Servizi AWS diverso da quelli elencati di seguito. Inoltre, devi concedere le autorizzazioni a queste persone Servizi AWS nelle politiche che applichi al ruolo dell'utente. IAM Le autorizzazioni effettive di un utente per una sessione del ruolo assunto sono l'intersezione delle policy assegnate al relativo ruolo e policy di sessione. Per ulteriori informazioni, consulta Policy di sessione nella Guida per l'utente di AWS Identity and Access Management .

Amazon Cognito aggiunge la seguente policy inline alle sessioni per gli utenti nelle  Regioni AWS  abilitate per impostazione predefinita. Per una panoramica dell'effetto netto della politica in linea e di altre politiche di sessione, consulta. Servizi cui possono accedere gli utenti non autenticati

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:*", "logs:*", "dynamodb:*", "kinesis:*", "mobileanalytics:*", "s3:*", "ses:*", "sns:*", "sqs:*", "lambda:*", "machinelearning:*", "execute-api:*", "iot:*", "gamelift:*", "scs:*", "cognito-identity:*", "cognito-idp:*", "lex:*", "polly:*", "comprehend:*", "translate:*", "transcribe:*", "rekognition:*", "mobiletargeting:*", "firehose:*", "appsync:*", "personalize:*", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "sagemaker:InvokeEndpoint", "cognito-sync:*", "sumerian:View*", "codewhisperer:*", "textract:DetectDocumentText", "textract:AnalyzeDocument", "sdb:*" ], "Resource": [ "*" ] } ] }

Per tutte le altre regioni, la policy di riduzione dell'ambito inline include tutto ciò che è elencato nelle regioni predefinite ad eccezione delle seguenti istruzioni Action.

"cognito-sync:*", "sumerian:View*", "codewhisperer:*", "textract:DetectDocumentText", "textract:AnalyzeDocument", "sdb:*"

La politica di sessione AWS gestita per gli ospiti

Amazon Cognito applica anche una policy AWS gestita come policy di sessione alle sessioni a flusso avanzato di ospiti non autenticati. Questa policy limita l'ambito delle autorizzazioni degli utenti non autenticati alla policy. AmazonCognitoUnAuthedIdentitiesSessionPolicy

È inoltre necessario concedere questa autorizzazione nelle politiche allegate al ruolo non autenticato. IAM Le autorizzazioni effettive di un utente per una sessione con ruolo presunto sono l'intersezione tra le IAM politiche assegnate al suo ruolo e le politiche di sessione. Per ulteriori informazioni, consulta Policy di sessione nella Guida per l'utente di AWS Identity and Access Management .

Per una panoramica dell'effetto netto di questa politica AWS gestita e di altre politiche di sessione, vedere. Servizi cui possono accedere gli utenti non autenticati

La policy gestita AmazonCognitoUnAuthedIdentitiesSessionPolicy contiene le seguenti autorizzazioni.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "rum:PutRumEvents", "polly:*", "comprehend:*", "translate:*", "transcribe:*", "rekognition:*", "mobiletargeting:*", "firehose:*", "personalize:*", "sagemaker:InvokeEndpoint", "geo:GetMap*", "geo:SearchPlaceIndex*", "geo:GetPlace", "geo:CalculateRoute*", "geo:*Geofence", "geo:*Geofences", "geo:*DevicePosition*" ], "Resource": "*" }] }

Esempi di policy di accesso

In questa sezione, sono disponibili policy di accesso di Amazon Cognito di esempio che concedono agli utenti le autorizzazioni minime necessarie per eseguire un'operazione specifica. Puoi limitare ulteriormente le autorizzazioni per un determinato ID identità utilizzando variabili di policy, laddove possibile. Ad esempio, utilizzando ${cognito-identity.amazonaws.com:sub}. Per ulteriori informazioni, consulta Informazioni sull'autenticazione di Amazon Cognito parte 3: Ruoli e policy nel blog di AWS Mobile.

Nota

Come best practice di sicurezza, le policy devono includere solo le autorizzazioni necessarie agli utenti per eseguire le loro attività. Ciò significa che dovresti cercare sempre di definire, laddove possibile, l'ambito dell'accesso a una singola identità per gli oggetti.

Autorizzazione per l'accesso in lettura di un'identità a un singolo oggetto in Amazon S3

La seguente policy di accesso concede autorizzazioni di lettura a un'identità per recuperare un singolo oggetto da un determinato bucket S3.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket/assets/my_picture.jpg"] } ] }

Autorizzazione per l'accesso in lettura e scrittura di un'identità a percorsi specifici in Amazon S3

La seguente policy di accesso concede le autorizzazioni di lettura e scrittura per accedere a una specifica "cartella" prefisso in un bucket S3 mappando il prefisso alla variabile ${cognito-identity.amazonaws.com:sub}.

Con questa policy, un'identità come us-east-1:12345678-1234-1234-1234-123456790ab inserita tramite ${cognito-identity.amazonaws.com:sub} sarà in grado di ottenere, inserire ed elencare oggetti in arn:aws:s3:::amzn-s3-demo-bucket/us-east-1:12345678-1234-1234-1234-123456790ab. Tuttavia, all'identità non verrà concesso l'accesso ad altri oggetti in arn:aws:s3:::amzn-s3-demo-bucket.

{ "Version": "2012-10-17", "Statement": [ { "Action": ["s3:ListBucket"], "Effect": "Allow", "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket"], "Condition": {"StringLike": {"s3:prefix": ["${cognito-identity.amazonaws.com:sub}/*"]}} }, { "Action": [ "s3:GetObject", "s3:PutObject" ], "Effect": "Allow", "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket/${cognito-identity.amazonaws.com:sub}/*"] } ] }

Assegnazione dell'accesso granulare delle identità ad Amazon DynamoDB

La seguente policy di accesso fornisce un controllo granulare dell'accesso alle risorse DynamoDB utilizzando variabili d'ambiente Amazon Cognito. Tali variabili concedono l'accesso agli elementi in DynamoDB attraverso l'ID identità. Per ulteriori informazioni, consulta Using IAM Policy Conditions for Fine-Grained Access Control nella Amazon DynamoDB Developer Guide.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:GetItem", "dynamodb:BatchGetItem", "dynamodb:Query", "dynamodb:PutItem", "dynamodb:UpdateItem", "dynamodb:DeleteItem", "dynamodb:BatchWriteItem" ], "Resource": [ "arn:aws:dynamodb:us-west-2:123456789012:table/MyTable" ], "Condition": { "ForAllValues:StringEquals": { "dynamodb:LeadingKeys": ["${cognito-identity.amazonaws.com:sub}"] } } } ] }

Autorizzazione di un'identità a richiamare una funzione Lambda

La seguente policy di accesso concede a un'identità l'autorizzazione per richiamare una funzione Lambda.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": [ "arn:aws:lambda:us-west-2:123456789012:function:MyFunction" ] } ] }

Autorizzazione di un'identità a pubblicare record in flussi di dati Kinesis

La policy di accesso seguente consente a un'identità di utilizzare l'operazione PutRecord con qualsiasi Kinesis Data Streams. Può essere applicata agli utenti che devono aggiungere record di dati a tutti i flussi in un account. Per ulteriori informazioni, consulta Controlling Access to Amazon Kinesis Data Streams IAM Resources Using nella Amazon Kinesis Data Streams Developer Guide.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "kinesis:PutRecord", "Resource": [ "arn:aws:kinesis:us-east-1:111122223333:stream/stream1" ] } ] }

Autorizzazione di un'identità ad accedere ai propri dati nell'archivio di Amazon Cognito Sync

La seguente policy di accesso concede a un'identità le autorizzazioni solo per i dati nell'archivio di Amazon Cognito Sync.

{ "Version": "2012-10-17", "Statement":[{ "Effect":"Allow", "Action":"cognito-sync:*", "Resource":["arn:aws:cognito-sync:us-east-1:123456789012:identitypool/${cognito-identity.amazonaws.com:aud}/identity/${cognito-identity.amazonaws.com:sub}/*"] }] }

Attendibilità del ruolo e autorizzazioni

Questi ruoli differiscono nelle loro relazioni di attendibilità. Di seguito viene riportato un esempio di policy di attendibilità per i ruoli non autenticati:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-east-1:12345678-corner-cafe-123456790ab" }, "ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "unauthenticated" } } } ] }

Questa policy concede l'autorizzazione agli utenti federati di cognito-identity.amazonaws.com (approvatore del token OpenID Connect) di assumere questo ruolo. Inoltre la policy limita l'aud del token, in questo caso l'ID dei pool di identità, in base al pool di identità. Infine, la policy specifica che uno dei membri dell'array del amr claim multivalore del token emesso dall'operazione Amazon GetOpenIdToken API Cognito ha il valore. unauthenticated

Quando Amazon Cognito crea un token, imposta l'amr del token o come unauthenticated o authenticated. Se amr è authenticated, il token include tutti i provider utilizzati durante l'autenticazione. In questo modo, puoi creare un ruolo che fa affidamento solo sugli utenti che eseguono l'accesso tramite Facebook. Ti basterà cambiare la condizione amr in modo che sia somigliante alla seguente:

"ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "graph.facebook.com" }

Presta attenzione quando vengono modificate le relazioni di affidabilità sui tuoi ruoli, oppure quando si tenta di utilizzare ruoli tra pool di identità. Se non configuri correttamente il tuo ruolo in modo da considerare attendibile il tuo pool di identità, si verificherà un'eccezione, STS come la seguente:

AccessDenied -- Not authorized to perform sts:AssumeRoleWithWebIdentity

Se vedi questo mesaggio, verifica che il tuo pool di identità e il tipo di autenticazione siano appropriati per il ruolo.