Utilizzo della propagazione affidabile delle identità con AWS applicazioni gestite - AWS IAM Identity Center

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

Utilizzo della propagazione affidabile delle identità con AWS applicazioni gestite

La propagazione affidabile dell'identità consente a un'applicazione AWS gestita di richiedere l'accesso ai dati nei AWS servizi per conto di un utente. La gestione dell'accesso ai dati si basa sull'identità dell'utente, pertanto gli amministratori possono concedere l'accesso in base all'appartenenza esistente degli utenti e ai gruppi. L'identità dell'utente, le azioni eseguite per suo conto e altri eventi vengono registrati in registri ed eventi specifici del servizio. CloudTrail

La propagazione affidabile delle identità si basa sullo standard OAuth 2.0. Per utilizzare questa funzionalità, le applicazioni AWS gestite devono integrarsi con IAM Identity Center. AWS i servizi di analisi potrebbero fornire interfacce basate su driver che consentono a un'applicazione compatibile di utilizzare la propagazione affidabile delle identità. Ad esempio, i driver JDBC, ODBC e Python consentono agli strumenti di interrogazione compatibili di utilizzare la propagazione affidabile delle identità senza la necessità di completare ulteriori passaggi di configurazione.

Configura applicazioni AWS gestite per la propagazione affidabile delle identità

AWS i servizi che supportano la propagazione affidabile delle identità forniscono un'interfaccia utente amministrativa e API che è possibile utilizzare per configurare questa funzionalità. Non è richiesta alcuna configurazione all'interno di IAM Identity Center per questi servizi.

Di seguito è riportato il processo di alto livello per la configurazione di un AWS servizio per la propagazione affidabile delle identità. I passaggi specifici variano a seconda dell'interfaccia amministrativa e delle API fornite dall'applicazione.

  1. Utilizza la console dell'applicazione o le API per connettere l'applicazione alla tua istanza di IAM Identity Center

    Utilizza la console per l'applicazione AWS gestita o le API dell'applicazione per connettere l'applicazione alla tua istanza di IAM Identity Center. Quando utilizzi la console per l'applicazione, l'interfaccia utente amministrativa include un widget che semplifica il processo di configurazione e connessione.

  2. Utilizzate la console dell'applicazione o le API per configurare l'accesso degli utenti alle risorse dell'applicazione

    Completa questo passaggio per autorizzare a quali risorse o dati può accedere un utente. L'accesso si basa sull'identità dell'utente o sull'appartenenza al gruppo. Il modello di autorizzazione varia in base all'applicazione.

    Importante

    È necessario completare questo passaggio per consentire agli utenti di accedere alle risorse del AWS servizio. In caso contrario, gli utenti non possono accedere alle risorse, anche se l'applicazione richiedente è autorizzata a richiedere l'accesso al servizio.

Flussi di richieste di propagazione dell'identità affidabili per applicazioni AWS gestite

Tutti i flussi di propagazione delle identità affidabili verso le applicazioni AWS gestite devono iniziare con un'applicazione che ottiene un token da IAM Identity Center. Questo token è necessario perché contiene un riferimento a un utente noto a IAM Identity Center e alle applicazioni registrate con IAM Identity Center.

Le sezioni seguenti descrivono i modi in cui un'applicazione AWS gestita può ottenere un token da IAM Identity Center per avviare la propagazione di identità affidabili.

Autenticazione IAM Identity Center basata sul Web

Per questo flusso, l'applicazione AWS gestita fornisce un'esperienza Single Sign-On basata sul Web utilizzando IAM Identity Center per l'autenticazione.

Quando un utente apre un'applicazione AWS gestita, viene attivato un flusso Single Sign-On che utilizza IAM Identity Center. Se non c'è una sessione attiva per l'utente in IAM Identity Center, all'utente viene presentata una pagina di accesso basata sulla fonte di identità che hai specificato e IAM Identity Center crea una sessione per l'utente.

IAM Identity Center fornisce all'applicazione AWS gestita un token che include l'identità dell'utente e un elenco di destinatari (Auds) e degli ambiti correlati per i quali l'applicazione è registrata. L'applicazione può quindi utilizzare il token per effettuare richieste ad altri servizi di ricezione. AWS

Richieste di autenticazione basate sulla console e avviate dall'utente

Per questo flusso, l'applicazione AWS gestita fornisce un'esperienza di console avviata dagli utenti.

In questo caso, l'applicazione AWS gestita viene inserita dalla console di AWS gestione dopo aver assunto un ruolo. Affinché l'applicazione ottenga un token, l'utente deve avviare un processo per attivare l'autenticazione dell'utente da parte dell'applicazione. Questo avvia l'autenticazione tramite IAM Identity Center, che reindirizzerà l'utente alla fonte di identità che hai configurato.

Dopo che un'applicazione ha ottenuto un token

Dopo che un'applicazione richiedente ottiene un token da IAM Identity Center, l'applicazione aggiorna periodicamente il token, che può essere utilizzato per tutta la durata della sessione dell'utente. Durante questo periodo, l'applicazione potrebbe:

  • Ottenere ulteriori informazioni sul token per determinare chi è l'utente e quali ambiti l'applicazione può utilizzare con altre applicazioni AWS gestite riceventi.

  • Passa il token nelle chiamate ad altre applicazioni AWS gestite di ricezione che supportano l'uso dei token.

  • Ottieni sessioni di ruolo IAM con identità migliorata da utilizzare per effettuare richieste ad altre applicazioni AWS gestite che utilizzano AWS Signature Version 4.

    Una sessione di ruolo IAM con identità migliorata è una sessione di ruolo IAM che contiene l'identità propagata dell'utente archiviata in un token creato da IAM Identity Center.

Sessioni di ruolo IAM con identità migliorata

AWS Security Token Service Consente a un'applicazione di ottenere una sessione di ruolo IAM con identità migliorata. AWS le applicazioni gestite che supportano il contesto utente in una sessione di ruolo possono utilizzare le informazioni sull'identità per autorizzare l'accesso in base all'utente che partecipa alla sessione di ruolo. Questo nuovo contesto consente alle applicazioni di effettuare richieste ad applicazioni AWS gestite che supportano la propagazione dell'identità affidabile tramite le richieste API AWS Signature Version 4.

Quando un'applicazione AWS gestita utilizza una sessione di ruolo IAM con identità avanzata per accedere a una risorsa, CloudTrail registra l'identità dell'utente (ID utente), la sessione di avvio e l'azione intrapresa.

Quando un'applicazione effettua una richiesta utilizzando una sessione di ruolo IAM con identità avanzata a un'applicazione ricevente, aggiunge un contesto alla sessione in modo che l'applicazione ricevente possa autorizzare l'accesso in base all'identità o all'appartenenza al gruppo dell'utente o al ruolo IAM. Le applicazioni di ricezione che supportano la propagazione dell'identità affidabile restituiranno un errore se l'applicazione ricevente o la risorsa richiesta non sono configurate per autorizzare l'accesso in base all'identità o all'appartenenza al gruppo dell'utente.

Per evitare questo problema, effettuate una delle seguenti operazioni:

  • Verifica che l'applicazione ricevente sia connessa a IAM Identity Center.

  • Utilizza la console per l'applicazione ricevente o le API dell'applicazione per configurare l'applicazione in modo da autorizzare l'accesso alle risorse in base all'identità dell'utente o all'appartenenza al gruppo. I requisiti di configurazione a tale scopo variano in base all'applicazione.

Per ulteriori informazioni, consulta la documentazione dell'applicazione AWS gestita ricevente.

Tipi di sessioni di ruolo IAM con identità migliorata

Un'applicazione ottiene una sessione di ruolo IAM con identità migliorata effettuando una richiesta all' AWS STS AssumeRoleAPI e passando un'asserzione di contesto nel parametro della richiesta. ProvidedContexts AssumeRole L'asserzione di contesto è ottenuta dall'idTokenaffermazione disponibile nella risposta alla richiesta. SSO OIDC CreateTokenWithIAM

AWS STS può creare due diversi tipi di sessioni di ruolo IAM con identità migliorata, a seconda dell'asserzione di contesto fornita alla richiesta: AssumeRole

  • Sessioni che registrano solo l'identità dell'utente. CloudTrail

  • Sessioni che abilitano l'autorizzazione in base all'identità dell'utente propagata e a CloudTrail cui la registrano.

Per ottenere una sessione di ruolo IAM con identità migliorata AWS STS che fornisca solo informazioni di controllo registrate in un CloudTrail percorso, fornisci il valore del claim alla sts:audit_context richiesta. AssumeRole Per ottenere una sessione che consenta anche al AWS servizio ricevente di autorizzare l'utente di IAM Identity Center a eseguire un'azione, fornisci il valore del claim alla richiesta. sts:identity_context AssumeRole Puoi fornire solo un contesto.

Sessioni di ruolo IAM con identità avanzate create con sts:audit_context

Quando viene effettuata una richiesta a un AWS servizio utilizzando una sessione di ruolo IAM con identità avanzata creata consts:audit_context, l'IAM Identity Center dell'utente userId viene registrato nell'elemento. CloudTrail OnBehalfOf

"userIdentity": { "type": "AssumedRole", "principalId": "AROAEXAMPLE:MyRole", "arn": "arn:aws:sts::111111111111:assumed-role/MyRole/MySession", "accountId": "111111111111", "accessKeyId": "ASIAEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAEXAMPLE", "arn": "arn:aws:iam::111111111111:role/MyRole", "accountId": "111111111111", "userName": "MyRole" }, "attributes": { "creationDate": "2023-12-12T13:55:22Z", "mfaAuthenticated": "false" } }, "onBehalfOf": { "userId": "11111111-1111-1111-1111-1111111111", "identityStoreArn": "arn:aws:identitystore::111111111111:identitystore/d-111111111" } }
Nota

Queste sessioni non possono essere utilizzate per autorizzare l'utente dell'Identity Center. Possono ancora essere utilizzate per autorizzare il ruolo IAM.

Per ottenere questo tipo di sessione di ruolo da AWS STS, fornisci il valore del sts:audit_context campo alla AssumeRole richiesta nel parametro di ProvidedContexts richiesta. Usa arn:aws:iam::aws:contextProvider/IdentityStore come valore perProviderArn.

Sessioni di ruolo IAM con identità avanzate create con sts:identity_context

Quando un utente effettua una richiesta a un AWS servizio utilizzando una sessione di ruolo IAM con identità avanzata creata consts:identity_context, l'IAM Identity Center dell'utente userId viene registrato CloudTrail nell'onBehalfOfelemento allo stesso modo di una sessione creata con. sts:audit_context

Oltre a registrare gli utenti di IAM Identity Center CloudTrail, questo tipo userId di sessione viene utilizzato anche dalle API supportate per autorizzare azioni basate sull'identità utente propagata. Per un elenco delle azioni IAM per le API supportate, consulta la policy gestita. AWSIAMIdentityCenterAllowListForIdentityContext AWS Questa policy AWS gestita viene fornita come policy di sessione quando viene creata una sessione di ruolo IAM con identità migliorata con. sts:identity_context La policy impedisce di utilizzare la sessione di ruolo con servizi non supportati. AWS

Per ottenere questo tipo di sessione di ruolo da AWS STS, fornite il valore del sts:identity_context campo alla AssumeRole richiesta nel parametro ProvidedContexts request. Usa arn:aws:iam::aws:contextProvider/IdentityStore come valore perProviderArn.

Processo di configurazione e flusso di richieste per le applicazioni AWS gestite

Questa sezione descrive il processo di configurazione e il flusso di richieste per le applicazioni AWS gestite che utilizzano la propagazione affidabile delle identità e che forniscono un'esperienza Single Sign-On basata sul Web.

Il diagramma seguente fornisce una panoramica di questo processo.

Processo di configurazione e flussi di richiesta per applicazioni AWS gestite che utilizzano la propagazione affidabile delle identità

I passaggi seguenti forniscono informazioni aggiuntive su questo processo.

  1. Utilizzate la console per l'applicazione AWS gestita o le API dell'applicazione per effettuare le seguenti operazioni:

    1. Connect l'applicazione alla tua istanza di IAM Identity Center.

    2. Imposta le autorizzazioni per autorizzare le risorse dell'applicazione a cui un utente può accedere.

  2. Il flusso di richieste inizia quando un utente apre un'applicazione AWS gestita in grado di richiedere l'accesso alle risorse (un'applicazione richiedente).

  3. Per ottenere un token per accedere all'applicazione AWS gestita ricevente, l'applicazione AWS gestita richiedente avvia una richiesta di accesso a IAM Identity Center.

    Se l'utente non ha effettuato l'accesso, IAM Identity Center attiva un flusso di autenticazione utente verso la fonte di identità che hai specificato. Questo crea una nuova sessione del portale di AWS accesso per l'utente con la durata configurata in IAM Identity Center. IAM Identity Center genera quindi un token associato alla sessione e l'applicazione può funzionare per la durata restante della sessione del portale di AWS accesso dell'utente. Se l'utente si disconnette dall'applicazione o se elimini la sessione, la sessione termina automaticamente entro due ore.

  4. L'applicazione AWS gestita avvia una richiesta all'applicazione ricevente e fornisce il relativo token.

  5. L'applicazione ricevente effettua chiamate a IAM Identity Center per ottenere l'identità dell'utente e gli ambiti codificati nel token. L'applicazione ricevente potrebbe anche effettuare richieste per ottenere gli attributi utente o l'appartenenza ai gruppi dell'utente dalla directory di Identity Center.

  6. L'applicazione ricevente utilizza la propria configurazione di autorizzazione per determinare se l'utente è autorizzato ad accedere alla risorsa dell'applicazione richiesta.

  7. Se l'utente è autorizzato ad accedere alla risorsa dell'applicazione richiesta, l'applicazione ricevente risponde alla richiesta.

  8. L'identità dell'utente, le azioni eseguite per suo conto e altri eventi registrati nei registri e AWS CloudTrail negli eventi dell'applicazione ricevente. Il modo specifico in cui queste informazioni vengono registrate varia in base all'applicazione.