FinchRide sta lanciando un'app mobile che deve consentire agli utenti non autenticati di sfogliare contenuti pubblici in Amazon S3 e agli utenti autenticati di salvare le preferenze personali in una tabella DynamoDB direttamente dal client. Il team di sicurezza richiede il privilegio minimo per utente senza spedire credenziali a lungo termine nell'app. Quale approccio dovrebbe raccomandare il Solutions Architect?
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Utilizzare un pool di utenti Amazon Cognito per la registrazione/accesso e un pool di identità Cognito per scambiare le identità degli utenti o degli ospiti con credenziali AWS temporanee. Configurare i ruoli IAM per le identità autenticate e non autenticate e utilizzare le condizioni delle policy IAM (ad esempio, ${cognito-identity.amazonaws.com:sub}) per definire l'ambito di accesso a S3/DynamoDB per identità..
Perché questa è la risposta
Questa opzione è la più appropriata perché sfrutta Amazon Cognito Identity Pool per gestire sia gli utenti non autenticati (ospiti) che quelli autenticati, fornendo credenziali AWS temporanee con privilegi minimi. I ruoli IAM separati per utenti autenticati e non autenticati, insieme alle condizioni delle policy IAM, garantiscono che l'accesso a S3 e DynamoDB sia granulare e basato sull'identità specifica dell'utente, aderendo al principio del privilegio minimo senza esporre credenziali a lungo termine. Le altre opzioni sono meno ideali: L'uso del solo User Pool non fornisce un meccanismo diretto per l'accesso ai servizi AWS con privilegi minimi e richiederebbe configurazioni complesse e meno sicure per S3/DynamoDB per fidarsi direttamente dei JWT. Un'API Gateway con Lambda come proxy introduce un livello di complessità e costo aggiuntivo non necessario, e l'uso di chiavi API per distinguere gli utenti non è un meccanismo di autenticazione robusto per questo caso d'uso. Chiamare STS AssumeRoleWithWebIdentity direttamente dall'app è possibile, ma Cognito Identity Pool semplifica questo processo, gestendo l'interazione con STS e fornendo un'astrazione più semplice e sicura per gli sviluppatori.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta