Über Web-Identitätsverbund - AWS Identity and Access Management

Über Web-Identitätsverbund

Angenommen, Sie erstellen eine mobile App, die auf AWS-Ressourcen zugreift, z. B. ein Spiel für Mobilgeräte, das Daten zu Spielern und Highscores mithilfe von Amazon S3 und DynamoDB.

Beim Entwickeln einer solchen App senden Sie Anforderungen an AWS-Services, die mit einem AWS-Zugriffsschlüssel signiert sein müssen. Wir empfehlen jedoch ausdrücklich, dauerhafte AWS-Anmeldeinformationen nicht in Apps einzubetten oder für Apps bereitzustellen, die von Benutzern aus einem verschlüsselten oder unverschlüsselten App-Store auf ein Gerät heruntergeladen werden. Erstellen Sie die App stattdessen so, dass temporäre AWS-Sicherheitsanmeldeinformationen bei Bedarf dynamisch über Web-Identitätsverbund angefordert werden. Die temporären Anmeldeinformationen sind einer AWS-Rolle zugeordnet, die nur über die Berechtigungen für die Aufgaben verfügt, die für die mobile App benötigt werden.

Mit Web-Identitätsverbund müssen Sie keinen eigenen Anmeldecode schreiben oder eigene Benutzeridentitäten verwalten. Stattdessen können sich Benutzer Ihrer App über einen bekannten externen Identitätsanbieter (Identity Provider, IdP), z. B. Login with Amazon, Facebook, Google oder einem anderen mit OpenID Connect (OIDC) kompatiblen Identitätsanbieter anmelden. Sie können ein Authentifizierungstoken erhalten und dann dieses Token in AWS gegen temporäre Sicherheitsanmeldeinformationen eintauschen, die einer IAM-Rolle mit Berechtigungen zur Verwendung der Ressourcen in Ihrem AWS-Konto zugeordnet sind. Der Einsatz eines Identitätsanbieters trägt zur Sicherheit Ihres AWS-Konto bei, da Sie keine dauerhaften Anmeldeinformationen in Ihre Anwendung einbetten oder für die Anwendung bereitstellen müssen.

Für die meisten Szenarien empfehlen wir die Verwendung von Amazon Cognito, da es als Identity Broker fungiert und einen Großteil der Föderationsarbeit für Sie übernimmt. Weitere Informationen finden Sie im folgenden Abschnitt, Verwenden von Amazon Cognito für mobile Apps.

Wenn Sie Amazon Cognito nicht verwenden, müssen Sie Code schreiben, der mit einem Web-Identitätsanbieter wie etwa Facebook interagiert und die AssumeRoleWithWebIdentity-API aufruft, um das Authentifizierungs-Token des Identitätsanbieters gegen temporäre AWS-Sicherheitsanmeldeinformationen auszutauschen. Wenn Sie diesen Ansatz bereits für bestehende Apps verwenden, können Sie dies auch weiterhin tun.