FinchRide lance une application mobile qui doit permettre aux utilisateurs non authentifiés de parcourir le contenu public dans Amazon S3 et aux utilisateurs authentifiés d'enregistrer leurs préférences personnelles dans une table DynamoDB directement depuis le client. L'équipe de sécurité exige le principe du moindre privilège par utilisateur sans inclure de justificatifs d'identité à long terme dans l'application. Quelle approche l'architecte de solutions devrait-il recommander ?
Choisissez une réponse
Appuyez sur une option pour vérifier votre réponse.
Bonne réponse : Utiliser un groupe d'utilisateurs Amazon Cognito pour l'inscription/la connexion et un groupe d'identités Cognito pour échanger les identités d'utilisateur ou d'invité contre des justificatifs d'identité AWS temporaires. Configurer des rôles IAM pour les identités authentifiées et non authentifiées, et utiliser des conditions de politique IAM (par exemple, ${cognito-identity.amazonaws.com:sub}) pour limiter l'accès S3/DynamoDB par identité..
Pourquoi c'est la réponse
L'option correcte utilise Amazon Cognito User Pools pour l'authentification des utilisateurs et Cognito Identity Pools pour échanger les identités authentifiées ou non authentifiées contre des informations d'identification AWS temporaires. Cela respecte le principe du moindre privilège en attribuant des rôles IAM distincts pour les utilisateurs authentifiés et non authentifiés, et en utilisant des conditions de politique IAM pour un contrôle d'accès granulaire. Cette approche évite les informations d'identification à long terme dans l'application. L'option "Utiliser uniquement un groupe d'utilisateurs Cognito..." est incorrecte car S3 et DynamoDB ne peuvent pas valider directement les JWT Cognito sans un service intermédiaire comme Identity Pools ou une fonction Lambda. L'option "Créer une API REST API Gateway..." est une solution valide mais introduit une complexité et des coûts supplémentaires pour un cas d'utilisation que Cognito Identity Pools gère nativement. L'option "Appeler STS AssumeRoleWithWebIdentity directement..." est moins sécurisée car elle expose potentiellement la logique d'échange de jetons côté client et ne gère pas nativement les utilisateurs non authentifiés de manière élégante comme Identity Pools.
Réussissez votre examen — sans la chasse aux réponses interminable
Obtenez toutes les questions et explications vérifiées pour cet examen en un seul endroit, et économisez des heures de préparation. Plus de 1 000 certifications · Plus de 20 langues · Gratuit pour commencer.
Réussissez votre examen plus rapidement → Pas de carte requise