Wir haben das Kommende end-of-support für AWS SDK für JavaScript v2 angekündigt
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.
Verwenden von Web-Verbundidentitäten zum Authentifizieren von Benutzern
Sie können einzelne Identitätsanbieter direkt für den Zugriff auf AWS Ressourcen mithilfe des Web-Identitätsverbunds konfigurieren. AWS unterstützt derzeit die Authentifizierung von Benutzern mithilfe des Web-Identitätsverbunds über mehrere Identitätsanbieter:
Sie müssen Ihre Anwendung zunächst mit den Anbietern registrieren, die von Ihrer Anwendung unterstützt werden. Erstellen Sie als Nächstes eine IAM-Rolle und richten Sie die entsprechenden Berechtigungen ein. Die von Ihnen erstellte IAM-Rolle wird dann verwendet, um die Berechtigungen zu erteilen, die Sie dafür über den jeweiligen Identitätsanbieter konfiguriert haben. Sie können beispielsweise eine Rolle einrichten, die Benutzern, die sich über Facebook angemeldet haben, Lesezugriff auf einen bestimmten Amazon S3 S3-Bucket gewährt, den Sie kontrollieren.
Nachdem Sie sowohl eine IAM-Rolle mit konfigurierten Rechten als auch eine Anwendung bei den von Ihnen ausgewählten Identitätsanbietern registriert haben, können Sie das SDK so einrichten, dass Anmeldeinformationen für die IAM-Rolle mithilfe des Hilfscodes wie folgt abgerufen werden:
AWS.config.credentials = new AWS.WebIdentityCredentials({
RoleArn: 'arn:aws:iam::<AWS_ACCOUNT_ID>
/:role/<WEB_IDENTITY_ROLE_NAME>
',
ProviderId: 'graph.facebook.com|www.amazon.com', // this is null for Google
WebIdentityToken: ACCESS_TOKEN
});
Der Wert des ProviderId
-Parameters hängt vom angegebenen Identitätsanbieter ab. Der Wert des WebIdentityToken
-Parameters ist das abgerufene Zugriffstoken aus einer erfolgreichen Anmeldung mit dem Identitätsanbieter. Weitere Informationen zum Konfigurieren und Abrufen von Zugriffstoken für die einzelnen Identitätsanbieter finden Sie in der Dokumentation des Identitätsanbieters.
Schritt 1: Registrierung bei den Identitätsanbietern
Registrieren Sie eine Anwendung zu Beginn bei den Identitätsanbietern, die Sie unterstützen möchten. Sie werden um Informationen gebeten, anhand derer Ihre Anwendung und möglicherweise auch deren Autor identifiziert werden können. Auf diese Weise wird sichergestellt, dass die Identitätsanbieter den Empfänger ihrer Benutzerinformationen kennen. In jedem Fall erstellt der Identitätsanbieter eine Anwendungs-ID, mit der Sie Benutzerrollen konfigurieren können.
Schritt 2: Erstellen einer IAM-Rolle für einen Identitätsanbieter
Nachdem Sie die Anwendungs-ID von einem Identitätsanbieter erhalten haben, rufen Sie die IAM-Konsole unter auf, https://console.aws.amazon.com/iam/
Um eine IAM-Rolle für einen Identitätsanbieter zu erstellen
-
Rufen Sie in der Konsole den Abschnitt Roles (Rollen) auf und wählen Sie anschließend Create new role (Neue Rolle erstellen) aus.
-
Geben Sie einen Namen für die neue Rolle ein, über den Sie deren Verwendung verfolgen können, z. B.
facebookIdentity
. Wählen Sie anschließend Next Step (Nächster Schritt) aus. -
Wählen Sie unter Select Role Type (Rollentyp auswählen) die Option Role for Identity Provider Access (Rolle für den Zugriff von Identitätsanbietern) aus.
-
Wählen Sie unter Grant access to web identity providers (Web-Identitätsanbietern Zugriff gewähren) die Option Select (Auswählen) aus.
-
Wählen Sie aus der Liste der Identitätsanbieter den Identitätsanbieter aus, den Sie für diese IAM-Rolle verwenden möchten.
-
Geben Sie die Anwendungs-ID des Identitätsanbieters im Feld Application ID (Anwendungs-ID) ein und wählen Sie dann Next Step (Nächster Schritt) aus
-
Konfigurieren Sie Berechtigungen für die Ressourcen, die Sie bereitstellen möchten, damit der Zugriff auf bestimmte Operationen für bestimmte Ressourcen gewährt wird. Weitere Informationen zu IAM-Berechtigungen finden Sie unter Überblick über AWS IAM-Berechtigungen im IAM-Benutzerhandbuch. Überprüfen Sie die Vertrauensstellung der Rolle und passen Sie sie erforderlichenfalls an. Klicken Sie anschließend auf Next Step (Nächster Schritt).
-
Fügen Sie zusätzliche benötigte Richtlinien an und wählen Sie dann Next Step (Nächster Schritt) aus. Weitere Informationen zu IAM-Richtlinien finden Sie unter Übersicht über IAM-Richtlinien im IAM-Benutzerhandbuch.
-
Prüfen Sie die neue Rolle und wählen Sie dann Create Role (Rolle erstellen) aus.
Sie können weitere Einschränkungen für die Rolle festlegen, z. B. den Geltungsbereich auf einen bestimmten Benutzer beschränken. IDs Wenn die Rolle Schreibberechtigungen für Ihre Ressourcen erteilt, stellen Sie sicher, dass Sie die Rolle nur Benutzern mit den entsprechenden Berechtigungen zuordnen, ansonsten kann jeder Benutzer mit einer Amazon-, Facebook- oder Google-Identität Änderungen an Ihren Ressourcen vornehmen.
Weitere Informationen zur Verwendung von Web Identity Federation in IAM finden Sie unter About Web Identity Federation im IAM-Benutzerhandbuch.
Schritt 3: Abrufen eines Zugriffstokens für Anbieter nach der Anmeldung
Richten Sie die Anmeldung für Ihre Anwendung ein, indem Sie das SDK des Identitätsanbieters verwenden. Sie können ein JavaScript SDK vom Identitätsanbieter herunterladen und installieren, das die Benutzeranmeldung entweder mit OpenID OAuth oder OpenID ermöglicht. Weitere Informationen zum Herunterladen und Einrichten des SDK-Codes in Ihrer Anwendung finden Sie in der SDK-Dokumentation Ihres Identitätsanbieters:
Schritt 4: Abrufen temporärer Anmeldeinformationen
Nachdem Sie die Anwendung, Rollen und Ressourcenberechtigungen konfiguriert haben, fügen Sie Ihrer Anwendung den Code hinzu, um temporäre Anmeldeinformationen zu erhalten. Diese Anmeldeinformationen werden über den AWS Security Token Service Webidentitätsverbund bereitgestellt. Benutzer melden sich beim Identitätsanbieter an, wodurch Ihnen ein Zugriffstoken bereitgestellt wird. Richten Sie das AWS.WebIdentityCredentials
Objekt mithilfe des ARN für die IAM-Rolle ein, die Sie für diesen Identitätsanbieter erstellt haben:
AWS.config.credentials = new AWS.WebIdentityCredentials({
RoleArn: 'arn:aws:iam::<AWS_ACCOUNT_ID>
:role/<WEB_IDENTITY_ROLE_NAME>
',
ProviderId: 'graph.facebook.com|www.amazon.com', // Omit this for Google
WebIdentityToken: ACCESS_TOKEN // Access token from identity provider
});
Serviceobjekte, die anschließend erstellt werden, verfügen über die entsprechenden Anmeldeinformationen. Objekte, die vor der Einrichtung der AWS.config.credentials
-Eigenschaft erstellt wurden, verfügen nicht über die aktuellen Anmeldeinformationen.
Sie können AWS.WebIdentityCredentials
auch vor dem Abrufen des Zugriffstokens erstellen. Auf diese Weise können Sie Serviceobjekte erstellen, die von den Anmeldeinformationen abhängen, bevor Sie das Zugriffstoken laden. Erstellen Sie hierzu das Anmeldeinformationsobjekt ohne den WebIdentityToken
-Parameter:
AWS.config.credentials = new AWS.WebIdentityCredentials({
RoleArn: 'arn:aws:iam::<AWS_ACCOUNT_ID>
:role/<WEB_IDENTITY_ROLE_NAME>
',
ProviderId: 'graph.facebook.com|www.amazon.com' // Omit this for Google
});
// Create a service object
var s3 = new AWS.S3;
Definieren Sie anschließend WebIdentityToken
im Callback des SDK des Identitätsanbieters, das den Zugriffstoken enthält:
AWS.config.credentials.params.WebIdentityToken = accessToken;