Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Um den Web-Identitätsverbund zu verwenden, muss die Anwendung die IAM-Rolle übernehmen, die Sie erstellt haben. Von diesem Punkt an berücksichtigt die Anwendung die Zugriffsrichtlinie, die mit der Rolle verknüpft ist.
Wenn Ihre Anwendung den Web-Identitätsverbund zur Laufzeit nutzt, muss sie die folgenden Schritte befolgen:
-
Authentifizieren mit einem externen Identitätsanbieter. Ihre Anwendung muss den Identitätsanbieter mithilfe der Schnittstelle, die er bereitstellt, aufrufen. Die genaue Art und Weise, wie Sie den Benutzer authentifizieren, hängt von dem Anbieter und der Plattform ab, auf der Sie die Anwendung ausführen. Wenn der Benutzer nicht bereits angemeldet ist, kümmert sich der Identitätsanbieter in der Regel um die Anzeige einer Anmeldeseite dieses Anbieters.
Nachdem der Identitätsanbieter den Benutzer authentifiziert hat, gibt der Anbieter ein Web-Identitäts-Token an Ihre Anwendung zurück. Das Format dieses Tokens hängt von dem Anbieter ab, ist in der Regel aber eine sehr lange Zeichenfolge.
-
Besorgen Sie sich temporäre AWS Sicherheitsanmeldeinformationen. Zu diesem Zweck sendet die App eine
AssumeRoleWithWebIdentity
-Anforderung an AWS Security Token Service (AWS STS). Diese Anforderung enthält Folgendes:-
Das Web-Identitäts-Token aus dem vorherigen Schritt
-
Die Anwendungs-ID des Identitätsanbieters
-
Der Amazon-Ressourcenname (ARN) der IAM;-Rolle, die Sie für diesen Identitätsanbieter für diese Anwendung erstellt haben
AWS STS gibt eine Reihe von AWS Sicherheitsanmeldeinformationen zurück, die nach einer bestimmten Zeit ablaufen (standardmäßig 3.600 Sekunden).
Das Folgende ist eine Beispielanforderung und -antwort von einer
AssumeRoleWithWebIdentity
-Aktion in AWS STS. Das Web-Identitäts-Token wurde von dem „Login with Amazon“-Identitätsanbieter erhalten.GET / HTTP/1.1 Host: sts.amazonaws.com Content-Type: application/json; charset=utf-8 URL: https://sts.amazonaws.com/?ProviderId=www.amazon.com &DurationSeconds=900&Action=AssumeRoleWithWebIdentity &Version=2011-06-15&RoleSessionName=web-identity-federation &RoleArn=arn:aws:iam::123456789012:role/GameRole &WebIdentityToken=Atza|IQEBLjAsAhQluyKqyBiYZ8-kclvGTYM81e...(remaining characters omitted)
<AssumeRoleWithWebIdentityResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/"> <AssumeRoleWithWebIdentityResult> <SubjectFromWebIdentityToken>amzn1.account.AGJZDKHJKAUUSW6C44CHPEXAMPLE</SubjectFromWebIdentityToken> <Credentials> <SessionToken>AQoDYXdzEMf//////////wEa8AP6nNDwcSLnf+cHupC...(remaining characters omitted)</SessionToken> <SecretAccessKey>8Jhi60+EWUUbbUShTEsjTxqQtM8UKvsM6XAjdA==</SecretAccessKey> <Expiration>2013-10-01T22:14:35Z</Expiration> <AccessKeyId>06198791C436IEXAMPLE</AccessKeyId> </Credentials> <AssumedRoleUser> <Arn>arn:aws:sts::123456789012:assumed-role/GameRole/web-identity-federation</Arn> <AssumedRoleId>AROAJU4SA2VW5SZRF2YMG:web-identity-federation</AssumedRoleId> </AssumedRoleUser> </AssumeRoleWithWebIdentityResult> <ResponseMetadata> <RequestId>c265ac8e-2ae4-11e3-8775-6969323a932d</RequestId> </ResponseMetadata> </AssumeRoleWithWebIdentityResponse>
-
-
Greifen Sie auf AWS Ressourcen zu. Die Antwort von AWS STS enthält Informationen, die die Anwendung benötigt, um auf DynamoDB-Ressourcen zuzugreifen:
-
Die Felder
AccessKeyID
-,SecretAccessKey
- undSessionToken
beinhalten Sicherheitsanmeldeinformationen, die nur für diesen Benutzer und diese Anwendung gültig sind. -
Das
Expiration
-Feld gibt die Frist für diese Anmeldeinformationen an, nach der sie nicht mehr gültig sind. -
Das
AssumedRoleId
-Feld enthält den Namen einer sitzungsspezifischen IAM-Rolle, der von der Anwendung übernommen wurde. Die Anwendung berücksichtigt die Zugriffskontrollen im IAM–Richtliniendokument für die Dauer dieser Sitzung. -
Das
SubjectFromWebIdentityToken
-Feld enthält die eindeutige ID, die in einer IAM-Richtlinienvariablen für diesen bestimmten Identitätsanbieter erscheint. Die Folgenden sind die IAM-Richtlinienvariablen für unterstützte Anbieter und einige Beispielwerte für diese:Richtlinienvariable Beispielwert ${www.amazon.com:user_id}
amzn1.account.AGJZDKHJKAUUSW6C44CHPEXAMPLE
${graph.facebook.com:id}
123456789
${accounts.google.com:sub}
123456789012345678901
-
Beispiele für IAM-Richtlinien, in denen diese Richtlinienvariablen verwendet werden, finden Sie unter Beispielrichtlinien: Verwenden von Bedingungen für die differenzierte Zugriffskontrolle.
Weitere Informationen zur AWS STS Generierung temporärer Zugangsdaten finden Sie unter Temporäre Sicherheitsanmeldedaten anfordern im IAM-Benutzerhandbuch.