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à.
Scenari comuni
Nota
Ti consigliamo di richiedere agli utenti umani di utilizzare credenziali temporanee per l'accesso AWS. Hai preso in considerazione l'idea di utilizzarlo AWS IAM Identity Center? Puoi utilizzare IAM Identity Center per gestire centralmente l'accesso a più account Account AWS e fornire agli utenti un accesso Single Sign-On protetto da MFA a tutti gli account assegnati da un'unica posizione. Con IAM Identity Center puoi creare e gestire le identità degli utenti in IAM Identity Center o connetterti facilmente al tuo attuale gestore dell'identità digitale (IdP) compatibile con SAML 2.0. Per ulteriori informazioni, consulta Cos'è IAM Identity Center? nella Guida per l'utente di AWS IAM Identity Center .
Puoi utilizzare un gestore dell’identità digitale (IdP) esterno per gestire le identità degli utenti al di fuori di AWS e dell’IdP esterno. Un IdP esterno può fornire informazioni sull'identità AWS utilizzando OpenID Connect (OIDC) o Security Assertion Markup Language (SAML). L'OIDC viene comunemente utilizzato quando un'applicazione che non funziona richiede l'accesso alle risorse. AWS AWS
Quando desideri configurare la federazione con un IdP esterno, crei un provider di identità IAM per fornire AWS informazioni sull'IdP esterno e sulla sua configurazione. In questo modo si instaura un rapporto di fiducia tra il tuo Account AWS e l'IdP esterno. I seguenti argomenti forniscono scenari comuni per l'utilizzo dei provider di identità IAM.
Argomenti
Amazon Cognito per applicazioni per dispositivi mobili
Il modo migliore per utilizzare la federazione OIDC è utilizzare Amazon Cognito
Per consentire all'app per dispositivi mobili di accedere alle sue AWS risorse, Adele deve innanzitutto registrare un ID sviluppatore presso il suo nome. IdPs Configura anche l'applicazione con ciascuno di questi provider. Nella cartella Account AWS che contiene il bucket Amazon S3 e la tabella DynamoDB per il gioco, Adele utilizza Amazon Cognito per creare ruoli IAM che definiscono con precisione le autorizzazioni di cui il gioco ha bisogno. Se utilizza un IdP OIDC, crea anche un'entità provider di identità IAM OIDC per stabilire un rapporto di fiducia tra il pool di identità di Amazon Cognito che possiede e l'IdP. Account AWS
Nel codice dell'app, Adele chiama l'interfaccia di accesso per il provider di identità che ha configurato in precedenza. L'IdP gestisce tutti i dettagli relativi all'accesso dell'utente e l'app riceve un token di OAuth accesso o un token ID OIDC dal provider. L'app di Adele può scambiare queste informazioni di autenticazione con un set di credenziali di sicurezza temporanee costituite da un ID della chiave di AWS accesso, una chiave di accesso segreta e un token di sessione. L'app può quindi utilizzare queste credenziali per accedere ai servizi web offerti da. AWS L'app è limitata alle autorizzazioni definite nel ruolo che assume.
La figura riportata di seguito mostra un flusso semplificato su come questo processo potrebbe funzionare, usando Login with Amazon come provider di identità. Per la fase 2, l'app può anche utilizzare Facebook, Google o qualsiasi altro IdP compatibile con OIDC, ma ciò non è mostrato qui.
-
Un cliente avvia l'app su un dispositivo mobile. L'app richiede all'utente di effettuare l'accesso.
-
L'app utilizza il login con le risorse di Login with Amazon per accettare le credenziali dell'utente.
-
L'app utilizza le operazioni dell'API Amazon Cognito
GetIdeGetCredentialsForIdentityper scambiare il token ID di Login with Amazon con un token di Amazon Cognito. Amazon Cognito, che è stato configurato per rendere attendibile il tuo progetto Login with Amazon, genera un token che scambia con credenziali di sessione temporanee per AWS STS. -
L'app riceve le credenziali di sicurezza temporanee da Amazon Cognito. La tua app può anche utilizzare il flusso di lavoro Basic (Classic) in Amazon Cognito per recuperare i token da utilizzare. AWS STS
AssumeRoleWithWebIdentityPer ulteriori informazioni, consulta Flusso di autenticazione dei pool di identità (identità federate) nella Guida per gli sviluppatori di Amazon Cognito. -
Le credenziali di sicurezza temporanee possono essere utilizzate dall'app per accedere alle risorse AWS richieste dall'applicazione per funzionare. Il ruolo associato alle credenziali di sicurezza temporanee e alle relative policy assegnate determina a quali elementi è possibile accedere.
Utilizza la seguente procedura per configurare la tua app in modo che utilizzi Amazon Cognito per autenticare gli utenti e consentire all'app di accedere alle risorse. AWS Per le operazioni specifiche per realizzare questo scenario, consulta la documentazione di Amazon Cognito.
-
(Facoltativo) Registrati come sviluppatore con Login with Amazon, Facebook, Google o qualsiasi altro provider di identità compatibile con OpenID Connect (OIDC) e configura una o più app con il provider. Questa fase è facoltativa poiché Amazon Cognito supporta anche l'accesso non autenticato (guest) per gli utenti.
-
Vai ad Amazon Cognito in
. Console di gestione AWS Utilizza la procedura guidata di Amazon Cognito per creare un pool di identità, ovvero un container che Amazon Cognito utilizza per mantenere le identità degli utenti finali organizzate per le app. Puoi condividere i pool di identità tra le app. Quando configuru un pool di identità, Amazon Cognito crea uno o due ruoli IAM (uno per le identità autenticate e uno per le identità "guest" non autenticate) che definiscono le autorizzazioni per gli utenti di Amazon Cognito. -
Integra AWS
Amplify con l’app e importa i file necessari per utilizzare Amazon Cognito. -
Crea un'istanza del provider di credenziali di Amazon Cognito, passando l'ID del pool di identità, il numero del tuo Account AWS e l'Amazon Resource Name (ARN) dei ruoli associati al pool di identità. La procedura guidata di Amazon Cognito Console di gestione AWS fornisce un codice di esempio per aiutarti a iniziare.
-
Quando l'app accede a una AWS risorsa, passa l'istanza del provider di credenziali all'oggetto client, che passa le credenziali di sicurezza temporanee al client. Le autorizzazioni per le credenziali si basano sul ruolo o sui ruoli definiti in precedenza.
Per ulteriori informazioni, consulta gli argomenti seguenti:
-
Accedi (Android) nella
documentazione del AWS Amplify Framework. -
Accedi (iOS)
nella documentazione del AWS Amplify Framework.
Federazione OIDC per applicazioni per dispositivi mobili
Per risultati ottimali, utilizza Amazon Cognito come gestore di identità per quasi tutti gli scenari di federazione OIDC. Amazon Cognito è semplice da utilizzare e fornisce funzionalità aggiuntive quali l'accesso anonimo (non autenticato) e la sincronizzazione dei dati degli utenti tra più dispositivi e provider. Tuttavia, se hai già creato un'app che utilizza la federazione OIDC chiamando manualmente l'API AssumeRoleWithWebIdentity, puoi continuare a utilizzarla e le app funzioneranno comunque correttamente.
Il processo per l'utilizzo della federazione OIDC senza Amazon Cognito segue questa struttura generale:
-
Effettuare la registrazione come sviluppatore al provider di identità (IdP) esterno e configurare l'app con tale provider, che fornisce un ID univoco per l'app. (Diversi IdPs utilizzano una terminologia diversa per questo processo. Questo schema utilizza il termine configura per il processo di identificazione dell'app con l'IdP.) Ogni IdP ti fornisce un ID app univoco per quell'IdP, quindi se configuri la stessa app con più app IdPs, la tua app avrà più app. IDs È possibile configurare più app con ciascun provider.
I seguenti link esterni forniscono informazioni sull'utilizzo di alcuni dei provider di identità più utilizzati ()IdPs:
-
Aggiunta dell'accesso a Facebook a un'app o a un sito Web
sul sito degli sviluppatori di Facebook. -
Utilizzo della OAuth versione 2.0 per il login (OpenID Connect)
sul sito degli sviluppatori di Google.
Importante
Se utilizzi un provider di identità OIDC di Google, Facebook o Amazon Cognito, non creare un provider di identità IAM separato in. Console di gestione AWS AWS dispone di questi provider di identità OIDC integrati e disponibili per l'uso da parte tua. Ignora la fase seguente e passa direttamente alla creazione di nuovi ruoli utilizzando il provider di identità.
-
Se utilizzi un IdP di identità diverso da Google, Facebook o Amazon Cognito compatibile con OIDC, crea un'entità provider di identità IAM.
-
In IAM, crea uno o più ruoli. Per ogni ruolo, definisci chi può assumere il ruolo (policy di attendibilità) e quali autorizzazioni concedere agli utenti dell'app (policy di autorizzazione). Di solito, è necessario creare un ruolo per ogni provider di identità supportato da un'app. Ad esempio, puoi creare un ruolo che può essere assunto da un'applicazione quando l'utente effettua l'accesso tramite Login with Amazon, un secondo ruolo per la stessa applicazione in cui l'utente effettua l'accesso tramite Facebook e un terzo ruolo per l'applicazione in cui l'utente effettua l'accesso tramite Google. Per la relazione di trust, specificare il provider di identità (ad esempio Amazon.com) come
Principal(l'entità attendibile) e includere un elementoConditioncorrispondente all'ID app assegnato dal provider di identità. Esempi di ruoli per diversi provider sono descritti più in Creazione di un ruolo per un provider di identità di terze parti . -
Nell'applicazione, autenticare gli utenti con il provider di identità. Le specifiche della procedura variano sia in base al provider di identità in uso (Login with Amazon, Facebook o Google) sia in base alla piattaforma su cui viene eseguita l'app. Ad esempio, il metodo di autenticazione di un'app Android può differire da quello di un'app iOS o di un'app Web JavaScript basata.
In genere, se l'utente non ha già effettuato l'accesso, il provider di identità si occupa di visualizzare una pagina di accesso. Dopo aver autenticato l'utente, il provider di identità restituisce all'app un token di autenticazione con le informazioni sull'utente. Le informazioni incluse dipendono dagli elementi esposti dal provider di identità e dalle informazioni che l'utente è disposto a condividere. Queste informazioni possono essere utilizzate nell'app.
-
Nell'app, effettuare una chiamata non firmata all'operazione
AssumeRoleWithWebIdentityper richiedere le credenziali di sicurezza provvisorie. Nella richiesta, passi il token di autenticazione dell'IdP e specifichi l'Amazon Resource Name (ARN) per il ruolo IAM che hai creato per quell'IdP. AWS verifica che il token sia affidabile e valido e, in tal caso, restituisce all'app credenziali di sicurezza temporanee che dispongono delle autorizzazioni per il ruolo indicato nella richiesta. La risposta include anche i metadati relativi all'utente forniti dal provider di identità, ad esempio l'ID utente univoco che il provider associa all'utente. -
Utilizzando le credenziali di sicurezza temporanee della
AssumeRoleWithWebIdentityrisposta, l'app invia richieste firmate alle operazioni API. AWS Le informazioni sull'ID utente fornite dall'IdP possono distinguere gli utenti nella tua app. Ad esempio, è possibile inserire in cartelle Amazon S3 oggetti che includono l'ID utente come prefisso o suffisso. Ciò consente di creare policy di controllo degli accessi che bloccano la cartella in modo che solo l'utente con l'ID specificato possa accedervi. Per ulteriori informazioni, consulta AWS STS principi utente federati. -
L'app dovrebbe memorizzare nella cache le credenziali di sicurezza temporanee in modo da non doverne ottenere di nuove ogni volta che ha bisogno di effettuare una richiesta ad AWS. Come impostazione predefinita, le credenziali sono valide per un'ora. Quando scadono (o prima), devi effettuare un'altra chiamata ad
AssumeRoleWithWebIdentityper ottenere un nuovo set di credenziali di sicurezza temporanee. A seconda del provider di identità e di come gestisce i token, potrebbe essere necessario aggiornare il token del provider prima di effettuare una nuova chiamata adAssumeRoleWithWebIdentity, dato che anche i token di solito scadono dopo un determinato periodo di tempo. Se utilizzi l' AWS SDK per iOS o l'SDK per Android, puoi utilizzare AWS l'azione STSCredentialsAmazonProvider, che gestisce le credenziali temporanee IAM, incluso l'aggiornamento, se necessario.