FinchRide führt eine mobile App ein, die nicht authentifizierten Benutzern das Durchsuchen öffentlicher Inhalte in Amazon S3 und authentifizierten Benutzern das Speichern persönlicher Präferenzen in einer DynamoDB-Tabelle direkt vom Client aus ermöglichen muss. Das Sicherheitsteam verlangt das Prinzip der geringsten Rechte pro Benutzer, ohne langlebige Anmeldeinformationen in der App zu versenden. Welchen Ansatz sollte der Solutions Architect empfehlen?
Wählen Sie eine Antwort
Tippen Sie auf eine Option, um Ihre Antwort zu überprüfen.
Richtige Antwort: Verwenden Sie einen Amazon Cognito User Pool für die Registrierung/Anmeldung und einen Cognito Identity Pool, um Benutzer- oder Gastidentitäten gegen temporäre AWS-Anmeldeinformationen auszutauschen. Konfigurieren Sie IAM-Rollen für authentifizierte und nicht authentifizierte Identitäten und verwenden Sie IAM-Richtlinienbedingungen (z. B. ${cognito-identity.amazonaws.com:sub}), um den S3/DynamoDB-Zugriff pro Identität zu beschränken..
Warum dies die Antwort ist
Die Verwendung eines Amazon Cognito User Pools für die Authentifizierung und eines Cognito Identity Pools für die Autorisierung ist die empfohlene Methode für mobile Anwendungen, die direkten AWS-Servicezugriff benötigen. Der Identity Pool tauscht Benutzer- oder Gastidentitäten gegen temporäre AWS-Anmeldeinformationen aus, wodurch keine langlebigen Anmeldeinformationen in der App gespeichert werden müssen. IAM-Rollen mit feingranularen Richtlinienbedingungen (z.B. ${cognito-identity.amazonaws.com:sub}) stellen sicher, dass das Prinzip der geringsten Rechte pro Benutzer eingehalten wird und der Zugriff auf S3 und DynamoDB entsprechend eingeschränkt ist. Die Option, nur einen User Pool zu verwenden und das ID-Token im Authorization-Header zu übergeben, funktioniert nicht direkt für S3 und DynamoDB, da diese Services keine JWTs direkt interpretieren können. Eine API Gateway REST API mit Lambda-Backend würde zwar funktionieren, ist aber komplexer und teurer, als direkten Zugriff über Cognito Identity Pools zu ermöglichen, und API-Schlüssel sind keine sichere Methode zur Unterscheidung von authentifizierten Benutzern. Der direkte Aufruf von STS AssumeRoleWithWebIdentity ist zwar technisch möglich, aber Cognito Identity Pools bieten eine integrierte und vereinfachte Abstraktion dieser Funktionalität, was die Implementierung sicherer und einfacher macht.
Bestehen Sie Ihre Prüfung – ohne endlose Antwortsuche
Erhalten Sie jede verifizierte Frage und Erklärung für diese Prüfung an einem Ort und sparen Sie Stunden der Vorbereitung. Über 1.000 Zertifizierungen · Über 20 Sprachen · Kostenloser Start.
Bestehen Sie Ihre Prüfung schneller → Keine Karte erforderlich