DynamoDB - Federazione identità web
Web Identity Federation consente di semplificare l'autenticazione e l'autorizzazione per grandi gruppi di utenti. Puoi saltare la creazione di account individuali e richiedere agli utenti di accedere a un provider di identità per ottenere credenziali o token temporanei. Utilizza AWS Security Token Service (STS) per gestire le credenziali. Le applicazioni utilizzano questi token per interagire con i servizi.
Web Identity Federation supporta anche altri provider di identità come Amazon, Google e Facebook.
Function- In uso, Web Identity Federation chiama prima un provider di identità per l'autenticazione di utenti e app e il provider restituisce un token. In questo modo l'app chiama AWS STS e passa il token per l'input. STS autorizza l'app e le concede credenziali di accesso temporanee, che consentono all'app di utilizzare un ruolo IAM e di accedere alle risorse in base alla policy.
Implementazione di Web Identity Federation
È necessario eseguire i tre passaggi seguenti prima dell'uso:
Utilizza un provider di identità di terze parti supportato per registrarti come sviluppatore.
Registra la tua applicazione con il provider per ottenere un ID app.
Crea uno o più ruoli IAM, incluso l'allegato alla policy. Devi utilizzare un ruolo per provider per app.
Assumi uno dei tuoi ruoli IAM per utilizzare Web Identity Federation. La tua app deve quindi eseguire un processo in tre fasi:
- Authentication
- Acquisizione delle credenziali
- Accesso alle risorse
Nel primo passaggio, l'app utilizza la propria interfaccia per chiamare il provider e quindi gestisce il processo del token.
Quindi il passaggio due gestisce i token e richiede che la tua app invii un file AssumeRoleWithWebIdentityrichiesta ad AWS STS. La richiesta contiene il primo token, l'ID dell'app del provider e l'ARN del ruolo IAM. Il servizio token di sicurezza fornisce le credenziali impostate per scadere dopo un certo periodo.
Nella fase finale, l'app riceve una risposta da STS contenente le informazioni di accesso per le risorse DynamoDB. È costituito da credenziali di accesso, ora di scadenza, ruolo e ID ruolo.