FinchRide lanceert een mobiele app die niet-geauthenticeerde gebruikers toegang moet geven tot openbare content in Amazon S3 en geauthenticeerde gebruikers in staat moet stellen persoonlijke voorkeuren op te slaan in een DynamoDB-tabel, rechtstreeks vanuit de client. Het beveiligingsteam vereist least privilege per gebruiker zonder long-lived credentials in de app mee te leveren. Welke aanpak moet de Solutions Architect aanbevelen?
Kies een antwoord
Tik op een optie om je antwoord te controleren.
Correct antwoord: Gebruik een Amazon Cognito user pool voor aanmelden/inloggen en een Cognito identity pool om gebruikers- of gastidentiteiten uit te wisselen voor tijdelijke AWS-credentials. Configureer IAM-rollen voor geauthenticeerde en niet-geauthenticeerde identiteiten en gebruik IAM policy conditions (bijvoorbeeld ${cognito-identity.amazonaws.com:sub}) om S3/DynamoDB-toegang per identiteit te beperken..
Waarom dit het antwoord is
De correcte aanpak is het gebruik van zowel een Amazon Cognito user pool als een identity pool. Een user pool beheert de aanmelding en authenticatie van gebruikers. Een identity pool wisselt de identiteit van geauthenticeerde gebruikers (en optioneel gasten) in voor tijdelijke AWS-credentials, waardoor de mobiele app direct toegang krijgt tot S3 en DynamoDB zonder long-lived credentials in de app op te slaan. IAM-rollen met least privilege en policy conditions zorgen voor fijnmazige controle per gebruiker. De andere opties zijn minder geschikt: Alleen een Cognito user pool gebruiken en de JWT direct doorgeven aan S3/DynamoDB werkt niet, omdat deze services geen JWT's direct valideren voor autorisatie. Een API Gateway met Lambda-backend is een geldige optie voor complexere logica, maar introduceert onnodige complexiteit en kosten voor directe toegang tot S3/DynamoDB, en API keys zijn geen geschikte methode voor gebruikersauthenticatie en autorisatie. STS AssumeRoleWithWebIdentity direct aanroepen is mogelijk, maar Cognito identity pools vereenvoudigen dit proces en bieden een geïntegreerde oplossing voor zowel geauthenticeerde als niet-geauthenticeerde toegang.
Slaag voor je examen — zonder eindeloos zoeken naar antwoorden
Krijg elke geverifieerde vraag en uitleg voor dit examen op één plek, en bespaar uren voorbereiding. Meer dan 1.000 certificeringen · Meer dan 20 talen · gratis om te beginnen.
Slaag sneller voor je examen → Geen kaart nodig