Einrichten von Storage Browser für S3 - Amazon Simple Storage Service

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.

Einrichten von Storage Browser für S3

Um Endbenutzer mit Amazon-S3-Standorten zu verbinden, müssen Sie zunächst eine Authentifizierungs- und Autorisierungsmethode einrichten. Es gibt drei Methoden, um eine Authentifizierungs- und Autorisierungsmethode mit Storage Browser einzurichten:

Methode 1: Verwalten des Datenzugriffs für Ihre Kunden und Drittanbieter

Mit dieser Methode können Sie AWS Amplify Auth verwenden, um Datenzugriff und -sicherheit zu verwalten. Diese Methode ist ideal, wenn Sie Ihre Kunden oder Drittanbieter mit Daten in S3 verbinden möchten. Mit dieser Option können sich Ihre Kunden mithilfe von Identitätsanbietern für soziale Netzwerke oder Unternehmen authentifizieren.

Sie stellen Ihren Endbenutzern und Drittanbietern IAM-Anmeldeinformationen zur Verfügung, indem Sie AWS Amplify Auth mit einem S3-Bucket verwenden, der für die Verwendung von Amplify Storage konfiguriert ist. AWS Amplify Auth basiert auf Amazon Cognito, einem vollständig verwalteten Kundenidentitäts- und Zugriffsverwaltungsservice, mit dem Sie Benutzer über ein integriertes Benutzerverzeichnis oder Unternehmensverzeichnis oder über Anbieter von Verbraucheridentitäten authentifizieren und autorisieren können. Das Amplify-Autorisierungsmodell definiert, auf welche Präfixe der aktuell authentifizierte Benutzer zugreifen kann. Weitere Informationen zum Einrichten der Autorisierung für AWS Amplify finden Sie unter Einrichten des Speichers.

Um die Komponente mit den Amplify-Authentifizierungs- und Speichermethoden zu initialisieren, fügen Sie Ihrer Webanwendung den folgenden Codeausschnitt hinzu:

import { createAmplifyAuthAdapter, createStorageBrowser, } from '@aws-amplify/ui-react-storage/browser'; import "@aws-amplify/ui-react-storage/styles.css"; import config from './amplify_outputs.json'; Amplify.configure(config); export const { StorageBrowser } = createStorageBrowser({ config: createAmplifyAuthAdapter(), });

Methode 2: Verwaltung des Datenzugriffs für Ihre IAM-Prinzipale für Ihr Konto AWS

Wenn Sie den Zugriff für Ihre IAM-Prinzipale oder für Sie AWS-Konto direkt verwalten möchten, können Sie eine IAM-Rolle erstellen, die über Berechtigungen zum Aufrufen der GetDataAccessS3-API-Betrieb. Um dies einzurichten, müssen Sie eine S3 Access Grants-Instanz erstellen, um den angegebenen IAM-Identitäten die Berechtigungen für S3-Allzweck-Buckets und -Präfixe zuzuordnen. Die Storage Browser-Komponente (die nach dem Abrufen der IAM-Anmeldeinformationen auf der Clientseite aufgerufen werden muss) ruft dann den ListCallerAccessGrantsS3-API-Vorgang zum Abrufen der verfügbaren Zuschüsse für den Identitätsanforderer und zum Auffüllen der Speicherorte in der Komponente. Nachdem Sie die s3:GetDataAccess-Genehmigung erhalten haben, werden diese Anmeldeinformationen dann von der Storage-Browser-Komponente verwendet, um den Datenzugriff auf S3 anzufordern.

import { createManagedAuthAdapter, createStorageBrowser, } from '@aws-amplify/ui-react-storage/browser'; import "@aws-amplify/ui-react-storage/styles.css"; export const { StorageBrowser } = createStorageBrowser({ config: createManagedAuthAdapter({ credentialsProvider: async (options?: { forceRefresh?: boolean }) => { // return your credentials object return { credentials: { accessKeyId: 'my-access-key-id', secretAccessKey: 'my-secret-access-key', sessionToken: 'my-session-token', expiration: new Date() }, } }, // AWS `region` and `accountId` region: '', accountId: '', // call `onAuthStateChange` when end user auth state changes // to clear sensitive data from the `StorageBrowser` state registerAuthListener: (onAuthStateChange) => {}, }) });

Methode 3: Verwalten des Datenzugriffs in großem Umfang

Wenn Sie Ihrem IAM Identity Center eine S3-Access-Grants-Instance zuordnen möchten, um eine skalierbarere Lösung zu erhalten (z. B. Datenzugriff für Ihr gesamtes Unternehmen gewähren), können Sie im Namen des aktuell authentifizierten Benutzers Daten von Amazon S3 anfordern. Sie können beispielsweise Benutzergruppen in Ihrem Unternehmensverzeichnis Zugriff auf Ihre Daten in S3 gewähren. Mit diesem Ansatz können Sie S3-Access-Grants-Berechtigungen für Ihre Benutzer und Gruppen zentral verwalten, einschließlich derer, die bei externen Anbietern wie Microsoft Entra, Okta und anderen gehostet werden.

Wenn Sie diese Methode verwenden, ermöglicht Ihnen die Integration mit dem IAM Identity Center die Verwendung vorhandener Benutzerverzeichnisse. Ein weiterer Vorteil der Weitergabe vertrauenswürdiger Identitäten im IAM Identity Center besteht darin, dass jedes AWS CloudTrail -Datenereignis für Amazon S3 einen direkten Verweis auf die Identität des Endbenutzers enthält, der auf die S3-Daten zugegriffen hat.

Wenn Sie über eine Anwendung verfügen, die OAuth 2.0 unterstützt, und Ihre Benutzer von diesen Anwendungen aus Zugriff auf AWS Dienste benötigen, empfehlen wir Ihnen, Trusted Identity Propagation zu verwenden. Mit Trusted Identity Propagation kann sich ein Benutzer bei einer Anwendung anmelden, und diese Anwendung kann die Identität des Benutzers bei allen Anfragen weitergeben, die auf Daten in AWS Diensten zugreifen. Diese Anwendung interagiert im Namen aller authentifizierten Benutzer mit IAM Identity Center. Weitere Informationen finden Sie unter Verbreitung vertrauenswürdiger Identitäten mit vom Kunden verwalteten Anwendungen.

Aufstellen

Um die Storage Browser-Authentifizierung in der vertrauenswürdigen Identitätsverbreitung AWS Management Console mithilfe von S3 Access Grants und IAM Identity Center einzurichten, müssen Ihre Anwendungen im Namen des aktuell authentifizierten Benutzers Daten von Amazon S3 anfordern. Mit diesem Ansatz können Sie Benutzern oder Benutzergruppen aus Ihrem Unternehmensverzeichnis direkten Zugriff auf Ihre S3-Buckets, -Präfixe oder -Objekte gewähren. Das bedeutet, dass Ihre Anwendung keine Benutzer einem IAM-Prinzipal zuordnen muss.

Der folgende Workflow beschreibt die Schritte zur Einrichtung von Storage Browser für S3 mithilfe von IAM Identity Center und S3 Access Grants:

Schritte Beschreibung
1 Aktivieren des IAM Identity Center für Ihr AWS Organizations
2 Konfigurieren Sie den AWS Identity and Access Management Identity Center-Verbund
3 Fügen Sie in der AWS Identity and Access Management -Identity-Center-Konsole einen vertrauenswürdigen Token-Aussteller hinzu

Der vertrauenswürdige Token-Aussteller repräsentiert Ihren externen Identitätsanbieter (IdP) innerhalb von IAM Identity Center, sodass er Identitäts-Token für die authentifizierten Benutzer Ihrer Anwendung erkennen kann.

4 Erstellen Sie eine IAM-Rolle für die bootstrap-Anwendung und identity bearer.
5 Ihre Anwendung in IAM Identity Center erstellen und konfigurieren

Diese Anwendung interagiert im Namen authentifizierter Benutzer mit IAM Identity Center.

6 Fügen Sie S3 Access Grants als vertrauenswürdige Anwendung für die Verbreitung von Identitäten hinzu

In diesem Schritt wird Ihre Anwendung mit S3 Access Grants verbunden, sodass sie im Namen authentifizierter Benutzer Anfragen an S3 Access Grants stellen kann.

7 Erstellen einer Gewährung für einen Benutzer oder eine Gruppe

In diesem Schritt werden Benutzer von AWS Identity and Access Management Identity Center mit dem System for Cross-Domain Identity Management (SCIM) synchronisiert. SCIM synchronisiert Ihre IAM-Identity-Center-Identitäten mit den Identitäten Ihres Identitätsanbieters (IdP).

8 Erstellen Ihrer Storage-Browser-für-S3-Komponente

Aktivieren des IAM Identity Center für Ihr AWS Organizations

Gehen Sie wie folgt vor, um IAM Identity Center für Sie zu AWS Organizations aktivieren:

  1. Melden Sie sich mit einer der AWS Management Console folgenden Methoden bei der an:

    1. Neu bei AWS (Root-Benutzer) Melden Sie sich als Kontoinhaber an, indem Sie Root-Benutzer auswählen und Ihre AWS-Konto E-Mail-Adresse eingeben. Geben Sie auf der nächsten Seite Ihr Passwort ein.

    2. Verwenden Sie bereits AWS (IAM-Anmeldeinformationen) Melden Sie sich mit Ihren IAM-Anmeldeinformationen mit Administratorrechten an.

  2. Öffnen Sie die IAM-Identity-Center-Konsole.

  3. Wählen Sie unter IAM Identity Center aktivieren die Option Aktivieren aus.

    Anmerkung

    IAM Identity Center erfordert die Einrichtung von. AWS Organizations Wenn Sie noch keine Organisation eingerichtet haben, können Sie sich dafür entscheiden, eine für Sie AWS erstellen zu lassen. Wählen Sie AWS Organisation erstellen, um diesen Vorgang abzuschließen.

  4. Wählen Sie Aktivieren mit AWS Organizations.

  5. Klicken Sie auf Weiter.

  6. (Optional) Fügen Sie alle Tags hinzu, die Sie dieser Organisations-Instance zuordnen möchten.

  7. (Optional) Konfigurieren Sie die delegierte Administration.

    Anmerkung

    Wenn Sie eine Umgebung mit mehreren Konten verwenden, empfehlen wir Ihnen, die delegierte Administration zu konfigurieren. Mit der delegierten Verwaltung können Sie die Anzahl der Personen einschränken, die Zugriff auf das Verwaltungskonto in AWS Organizations benötigen. Weitere Informationen finden Sie unter Delegierte Administration.

  8. Wählen Sie Speichern.

AWS Organizations sendet automatisch eine Bestätigungs-E-Mail an die Adresse, die mit Ihrem Verwaltungskonto verknüpft ist. Es kann eine Verzögerung eintreten, bevor Sie die Verifizierungs-E-Mail erhalten. Stellen Sie sicher, dass Sie Ihre E-Mail-Adresse innerhalb von 24 Stunden verifizieren, bevor Ihre Bestätigungs-E-Mail abläuft.

Konfigurieren Sie den AWS Identity and Access Management Identity Center-Verbund

Um Storage Browser für S3 mit Unternehmensverzeichnisbenutzern zu verwenden, müssen Sie IAM Identity Center für die Verwendung eines externen Identitätsanbieters (IdP) konfigurieren. Sie können den bevorzugten Identitätsanbieter Ihrer Wahl verwenden. Beachten Sie jedoch, dass jeder Identitätsanbieter unterschiedliche Konfigurationseinstellungen verwendet. Tutorials zur Verwendung verschiedener externer Identitätsanbieter finden Sie in den Tutorials zur Quelle von IAM Identity Center.

Anmerkung

Achten Sie darauf, die Aussteller-URL und die Zielgruppenattribute des von Ihnen konfigurierten Identitätsanbieters aufzuzeichnen, da Sie sich in späteren Schritten darauf beziehen müssen. Wenn Sie nicht über den erforderlichen Zugriff oder die erforderlichen Berechtigungen zum Konfigurieren eines IdP verfügen, müssen Sie sich möglicherweise an den Administrator des externen IdP wenden, um diese zu erhalten.

Fügen Sie in der AWS Identity and Access Management -Identity-Center-Konsole einen vertrauenswürdigen Token-Aussteller hinzu

Der vertrauenswürdige Token-Aussteller repräsentiert Ihren externen Identitätsanbieter im AWS Identity and Access Management Identity Center und erkennt Token für die authentifizierten Benutzer Ihrer Anwendung. Der Kontoinhaber der IAM Identity Center-Instanz in Ihrem Fall AWS Organizations muss diese Schritte ausführen. Diese Schritte können entweder in der IAM-Identity-Center-Konsole oder programmgesteuert ausgeführt werden.

Gehen Sie wie folgt vor, um in der AWS Identity and Access Management Identity Center-Konsole einen vertrauenswürdigen Token-Aussteller hinzuzufügen:

  1. Öffnen Sie die IAM-Identity-Center-Konsole.

  2. Wählen Sie Einstellungen aus.

  3. Wählen Sie die Registerkarte Authentifizierung aus.

  4. Navigieren Sie zum Abschnitt Vertrauenswürdige Token-Aussteller und geben Sie die folgenden Details ein:

    1. Geben Sie unter Aussteller-URL die URL des externen IdP ein, der als vertrauenswürdiger Token-Aussteller dient. Möglicherweise müssen Sie sich an den Administrator des externen IdP wenden, um diese Informationen zu erhalten. Weitere Informationen finden Sie unter Verwenden von Anwendungen mit einem vertrauenswürdigen Token-Aussteller.

    2. Geben Sie unter Name des vertrauenswürdigen Token-Ausstellers einen Namen für den vertrauenswürdigen Token-Aussteller ein. Dieser Name wird in der Liste der vertrauenswürdigen Token-Aussteller angezeigt, die Sie in Schritt 8 auswählen können, wenn eine Anwendungsressource für die Identitätsverbreitung konfiguriert ist.

  5. Aktualisieren Sie Ihre Zuordnungsattribute auf Ihr bevorzugtes Anwendungsattribut, wobei jedes Identitätsanbieterattribut einem IAM-Identity-Center-Attribut zugeordnet ist. Beispielsweise können Sie das Anwendungsattribut email dem IAM-Identity-Center-Benutzerattribut email zuordnen. Eine Liste der zulässigen Benutzerattribute in IAM Identity Center finden Sie in der Tabelle unter Attributzuordnungen für das AWS verwaltete Microsoft AD-Verzeichnis.

  6. (Optional) Wenn Sie ein Ressourcen-Tag hinzufügen möchten, geben Sie das Schlüssel- und Wertepaar ein. Um mehrere Ressourcen-Tags hinzuzufügen, wählen Sie Neues Tag hinzufügen aus, um einen neuen Eintrag zu generieren, und geben Sie die Schlüssel- und Wertepaare ein.

  7. Wählen Sie Vertrauenswürdigen Token-Aussteller erstellen aus.

  8. Wenn Sie mit der Erstellung des vertrauenswürdigen Token-Ausstellers fertig sind, wenden Sie sich an den Anwendungsadministrator, um ihm den Namen des vertrauenswürdigen Token-Ausstellers mitzuteilen, damit er bestätigen kann, dass der vertrauenswürdige Token-Aussteller in der entsprechenden Konsole sichtbar ist.

  9. Stellen Sie sicher, dass der Anwendungsadministrator diesen vertrauenswürdigen Token-Aussteller in der entsprechenden Konsole auswählt, damit Benutzer über Anwendungen, die für die Weitergabe vertrauenswürdiger Identitäten konfiguriert sind, auf die Anwendung zugreifen können.

Erstellen Sie eine IAM-Rolle für die bootstrap-Anwendung und identity bearer.

Um sicherzustellen, dass die bootstrap-Anwendung und die identity bearer-Benutzer ordnungsgemäß zusammenarbeiten können, stellen Sie sicher, dass Sie zwei IAM-Rollen erstellen. Eine IAM-Rolle ist für die bootstrap-Anwendung erforderlich und die andere IAM-Rolle muss für den Identitätsträger oder die Endbenutzer verwendet werden, die auf die Webanwendung zugreifen, die Zugriff über S3 Access Grants anfordert. Die bootstrap-Anwendung empfängt das vom Identitätsanbieter ausgegebene Token und ruft die CreateTokenWithIAM API auf. Dabei wird dieses Token mit dem vom Identity Center ausgegebenen Token ausgetauscht.

Erstellen Sie eine IAM-Rolle, wie bootstrap-role, mit Berechtigungen wie den folgenden. Die folgende Beispiel-IAM-Richtlinie erteilt der bootstrap-role Berechtigungen, den Token-Austausch durchzuführen:

{ "Version": "2012-10-17", "Statement": [{ "Action": [ "sso-oauth:CreateTokenWithIAM", ], "Resource": "arn:${Partition}:sso::${AccountId}:application/${InstanceId}/${ApplicationId}", "Effect": "Allow" }, { "Action": [ "sts:AssumeRole", "sts:SetContext" ], "Resource": "arn:aws:iam::${AccountId}:role/identity-bearer-role", "Effect": "Allow" }] }

Erstellen Sie dann eine zweite IAM-Rolle (z. B.identity-bearer-role), die der Identity Broker verwendet, um die IAM-Anmeldeinformationen zu generieren. Die vom Identity Broker an die Webanwendung zurückgegebenen IAM-Anmeldeinformationen werden von der Komponente Storage Browser for S3 verwendet, um den Zugriff auf S3-Daten zu ermöglichen:

{ "Action": [ "s3:GetDataAccess", "s3:ListCallerAccessGrants", ], "Resource": "arn:${Partition}:s3:${Region}:${Account}:access-grants/default", "Effect": "Allow" }

Diese IAM-Rolle (identity-bearer-role) muss eine Vertrauensrichtlinie mit der folgenden Anweisung verwenden:

{ "Effect": "Allow", "Principal": { "AWS": "arn:${Partition}:iam::${Account}:role/${RoleNameWithPath}" }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] }

Ihre Anwendung in IAM Identity Center erstellen und konfigurieren

Anmerkung

Bevor Sie beginnen, sollten Sie sicherstellen, dass Sie die erforderlichen IAM-Rollen aus dem vorherigen Schritt erstellt haben. In diesem Schritt müssen Sie eine dieser IAM-Rollen angeben.

Gehen Sie wie folgt vor, um eine vom Kunden verwaltete Anwendung in AWS IAM Identity Center zu erstellen und zu konfigurieren:

  1. Öffnen Sie die IAM-Identity-Center-Konsole.

  2. Wählen Sie Applications (Anwendungen).

  3. Wählen Sie die Registerkarte Vom Kunden verwaltet aus.

  4. Wählen Sie Anwendung hinzufügen.

  5. Wählen Sie auf der Seite Anwendungstyp auswählen unter Einrichtungspräferenz die Option Ich habe eine Anwendung, die ich einrichten möchte aus.

  6. Wählen Sie unter Anwendungstyp die Option OAuth2.0 aus.

  7. Wählen Sie Weiter aus. Die Seite Anwendung angeben wird angezeigt.

  8. Geben Sie im Abschnitt Anwendungsname und Beschreibung einen Anzeigenamen für die Anwendung ein, z. B. storage-browser-oauth.

  9. Geben Sie eine Description ein. Die Anwendungsbeschreibung wird in der IAM Identity Center-Konsole und in API-Anfragen angezeigt, jedoch nicht im AWS Zugriffsportal.

  10. Wählen Sie unter Zuweisungsmethode für Benutzer und Gruppen die Option Keine Zuweisungen erforderlich aus. Diese Option ermöglicht allen autorisierten Benutzern und Gruppen von IAM Identity Center Zugriff auf diese Anwendung.

  11. Geben Sie unter AWS -Zugriffsportal eine Anwendungs-URL ein, über die Benutzer auf die Anwendung zugreifen können.

  12. (Optional) Wenn Sie ein Ressourcen-Tag hinzufügen möchten, geben Sie das Schlüssel- und Wertepaar ein. Um mehrere Ressourcen-Tags hinzuzufügen, wählen Sie Neues Tag hinzufügen aus, um einen neuen Eintrag zu generieren, und geben Sie die Schlüssel- und Wertepaare ein.

  13. Wählen Sie Weiter aus. Die Seite Authentifizierung angeben wird angezeigt.

  14. Verwenden Sie unter Authentifizierung mit vertrauenswürdigem Token-Aussteller das Kontrollkästchen, um den vertrauenswürdigen Token-Aussteller auszuwählen, den Sie zuvor erstellt haben.

  15. Geben Sie unter Ausgewählte vertrauenswürdige Token-Aussteller konfigurieren den AUD-Anspruch ein. Der AUD-Anspruch identifiziert die Zielgruppe des JSON Web Token (JWT) und es ist der Name, mit dem der vertrauenswürdige Token-Aussteller diese Anwendung identifiziert.

    Anmerkung

    Möglicherweise müssen Sie sich an den Administrator des externen IdP wenden, um diese Informationen zu erhalten.

  16. Wählen Sie Weiter aus. Die Seite Anmeldeinformationen für die Authentifizierung angeben wird angezeigt.

  17. Wählen Sie unter Konfigurationsmethode die Option Eine oder mehrere IAM-Rollen eingeben aus.

  18. Fügen Sie unter IAM-Rollen eingeben die IAM-Rolle oder den Amazon-Ressourcennamen (ARN) für das Identitätsträger-Token hinzu. Sie müssen die IAM-Rolle eingeben, die Sie im vorherigen Schritt für die Identity-Broker-Anwendung erstellt haben (z. B. bootstrap-role).

  19. Wählen Sie Weiter aus.

  20. Prüfen Sie auf der Seite Überprüfen und konfigurieren die Details Ihrer Anwendungskonfiguration. Wenn Sie eine der Einstellungen ändern müssen, wählen Sie Bearbeiten für den Abschnitt aus, den Sie bearbeiten möchten, und nehmen Sie Ihre Änderungen vor.

  21. Wählen Sie Absenden aus. Die Detailseite der Anwendung, die Sie gerade hinzugefügt haben, wird angezeigt.

Nachdem Sie Ihre Anwendungen eingerichtet haben, können Ihre Benutzer von ihrem Zugriffsportal aus auf Ihre Anwendungen AWS zugreifen, basierend auf den von Ihnen erstellten Berechtigungssätzen und dem Benutzerzugriff, den Sie zugewiesen haben.

Fügen Sie S3 Access Grants als vertrauenswürdige Anwendung für die Verbreitung von Identitäten hinzu

Nachdem Sie Ihre vom Kunden verwaltete Anwendung eingerichtet haben, müssen Sie S3 Access Grants für die Verbreitung von Identitäten angeben. S3 Access Grants bietet Benutzern Anmeldeinformationen für den Zugriff auf Amazon-S3-Daten. Wenn Sie sich bei Ihrer vom Kunden verwalteten Anwendung anmelden, gibt S3 Access Grants Ihre Benutzeridentität an die vertrauenswürdige Anwendung weiter.

Voraussetzung: Stellen Sie sicher, dass Sie S3 Access Grants eingerichtet haben (z. B. eine S3-Access-Grants-Instance erstellt und einen Speicherort registriert haben), bevor Sie diese Schritte ausführen. Weitere Informationen finden Sie unter Erste Schritte mit S3 Access Grants.

Gehen Sie wie folgt vor, um S3 Access Grants für die Verbreitung von Identitäten zu Ihrer vom Kunden verwalteten Anwendung hinzuzufügen:

  1. Öffnen Sie die IAM-Identity-Center-Konsole.

  2. Wählen Sie Applications (Anwendungen).

  3. Wählen Sie die Registerkarte Vom Kunden verwaltet aus.

  4. Wählen Sie in der Liste „Vom Kunden verwaltete Anwendungen“ die OAuth 2.0-Anwendung aus, für die Sie Zugriffsanfragen initiieren möchten. Dies ist die Anwendung, bei der sich Ihre Benutzer anmelden werden.

  5. Wählen Sie auf der Detailseite unter Vertrauenswürdige Anwendungen für die Verbreitung von Identitäten die Option Vertrauenswürdige Anwendungen angeben aus.

  6. Wählen Sie unter Einrichtungstyp die Option „Einzelne Anwendungen“ aus, geben Sie den Zugriff an, und klicken Sie dann auf Weiter.

  7. Wählen Sie auf der Seite Serviceauswählen die Option S3 Access Grants aus. S3 Access Grants verfügt über Anwendungen, mit denen Sie Ihre eigene Webanwendung für die Verbreitung vertrauenswürdiger Identitäten definieren können.

  8. Wählen Sie Weiter aus. Im nächsten Schritt wählen Sie Ihre Anwendungen aus.

  9. Wählen Sie auf der Seite Anwendungen auswählen die Option Einzelne Anwendungen aus, aktivieren Sie das Kontrollkästchen für jede Anwendung, die Zugriffsanfragen erhalten kann, und klicken Sie dann auf Weiter.

  10. Wählen Sie auf der Seite Zugriff konfigurieren unter Konfigurationsmethode eine der folgenden Optionen aus:

    • Zugriff pro Anwendung auswählen – Wählen Sie diese Option aus, um für jede Anwendung unterschiedliche Zugriffsebenen zu konfigurieren. Wählen Sie die Anwendung aus, für die Sie die Zugriffsebene konfigurieren möchten, und klicken Sie dann auf Zugriff bearbeiten. Ändern Sie unter Anzuwendende Zugriffsebene die Zugriffsebenen nach Bedarf und wählen Sie dann Änderungen speichern aus.

    • Gleiche Zugriffsebene auf alle Anwendungen anwenden – Wählen Sie diese Option aus, wenn Sie die Zugriffsebenen nicht für jede Anwendung konfigurieren müssen.

  11. Wählen Sie Weiter aus.

  12. Überprüfen Sie auf der Seite Konfiguration überprüfen die von Ihnen getroffenen Entscheidungen.

    Anmerkung

    Sie sollten sicherstellen, dass die s3:access_grants:read_write-Berechtigung für Ihre Benutzer erteilt wird. Diese Berechtigung ermöglicht Ihren Benutzern das Abrufen von Anmeldeinformationen für den Zugriff auf Amazon S3. Stellen Sie sicher, dass Sie entweder die zuvor erstellte IAM-Richtlinie oder S3 Access Grants verwenden, um den Zugriff auf Schreibvorgänge zu beschränken.

  13. Um Änderungen vorzunehmen, wählen Sie Bearbeiten für den Konfigurationsabschnitt aus, an dem Sie Änderungen vornehmen möchten. Nehmen Sie dann die gewünschten Änderungen vor und wählen Sie Änderungen speichern aus.

  14. Wählen Sie Anwendungen vertrauen aus, um die vertrauenswürdige Anwendung für die Verbreitung von Identitäten hinzuzufügen.

Erstellen einer Gewährung für einen Benutzer oder eine Gruppe

In diesem Schritt verwenden Sie IAM Identity Center für die Bereitstellung Ihrer Benutzer. Sie können SCIM für die automatisierte oder manuelle Bereitstellung von Benutzern und Gruppen verwenden. SCIM synchronisiert Ihre IAM-Identity-Center-Identitäten mit den Identitäten Ihres Identitätsanbieters (IdP). Dies beinhaltet jegliche Bereitstellung, Aktualisierung und Deprovisionierung von Benutzern zwischen Ihrem IdP und IAM Identity Center.

Anmerkung

Dieser Schritt ist erforderlich, da bei der Verwendung von S3 Access Grants mit IAM Identity Center keine lokalen IAM-Identity-Center-Benutzer verwendet werden. Stattdessen müssen Benutzer vom Identitätsanbieter aus mit IAM Identity Center synchronisiert werden.

Gehen Sie wie folgt vor, um Benutzer von Ihrem Identitätsanbieter mit IAM Identity Center zu synchronisieren:

Beispiele für die Einrichtung des Identitätsanbieters mit IAM Identity Center für Ihren speziellen Anwendungsfall finden Sie in den Tutorials zur Identitätsquelle von IAM Identity Center.

Erstellen Ihrer Storage-Browser-für-S3-Komponente

Nachdem Sie Ihre IAM-Identity-Center-Instance eingerichtet und Erteilungen in S3 Access Grants erstellt haben, öffnen Sie Ihre React-Anwendung. Verwenden Sie in der React-Anwendung createManagedAuthAdapter, um die Autorisierungsregeln einzurichten. Sie müssen einen Anbieter für Anmeldeinformationen angeben, um die Anmeldeinformationen zurückzugeben, die Sie vom IAM Identity Center erlangt haben. Anschließend können Sie createStorageBrowser aufrufen, um die Komponente Storage Browser für S3 zu initialisieren:

import { createManagedAuthAdapter, createStorageBrowser, } from '@aws-amplify/ui-react-storage/browser'; import '@aws-amplify/ui-react-storage/styles.css'; export const { StorageBrowser } = createStorageBrowser({ config: createManagedAuthAdapter({ credentialsProvider: async (options?: { forceRefresh?: boolean }) => { // return your credentials object return { credentials: { accessKeyId: 'my-access-key-id', secretAccessKey: 'my-secret-access-key', sessionToken: 'my-session-token', expiration: new Date(), }, } }, // AWS `region` and `accountId` of the S3 Access Grants Instance. region: '', accountId: '', // call `onAuthStateChange` when end user auth state changes // to clear sensitive data from the `StorageBrowser` state registerAuthListener: (onAuthStateChange) => {}, }) });

Erstellen Sie dann einen Mechanismus, um die JSON-Webtoken (JWTs) aus Ihrer Webanwendung gegen die IAM-Anmeldeinformationen von IAM Identity Center auszutauschen. Weitere Informationen darüber, wie das JWT ausgetauscht wird, finden Sie in den folgenden Ressourcen:

Richten Sie anschließend einen API-Endpunkt ein, um Anfragen zum Abrufen von Anmeldeinformationen zu bearbeiten. Gehen Sie folgendermaßen vor, um den Austausch von JSON Web Token (JWT) zu validieren:

  1. Rufen Sie das JSON Web Token aus dem Autorisierungs-Header für eingehende Anforderungen ab.

  2. Überprüfen Sie das Token mithilfe der öffentlichen Schlüssel aus der angegebenen URL des JSON Web Key Set (JWKS).

  3. Überprüfen Sie die Ablaufzeit, den Aussteller, den Betreff und die Zielgruppenansprüche des Tokens.

Gehen Sie wie folgt vor, um das JSON-Webtoken des Identitätsanbieters gegen AWS IAM-Anmeldeinformationen auszutauschen:

Tipp

Achten Sie darauf, keine vertraulichen Informationen zu protokollieren. Wir empfehlen, Fehlerbehandlungsmechanismen für fehlende Autorisierung, abgelaufene Tokens und andere Ausnahmen zu verwenden. Weitere Informationen finden Sie im Beitrag Implementieren von AWS Lambda Fehlerbehandlungsmustern im AWS Compute-Blog.

  1. Stellen Sie sicher, dass die erforderlichen Parameter Berechtigung und Umfang in der Anforderung angegeben sind.

  2. Verwenden der CreateTokenWithIAMAPI zum Austausch des JSON-Web-Tokens gegen ein IAM Identity Center-Token.

    Anmerkung

    Nachdem das IdP-JSON-Webtoken verwendet wurde, kann es nicht erneut verwendet werden. Für den Austausch mit IAM Identity Center muss ein neues Token verwendet werden.

  3. Verwenden Sie den AssumeRoleAPI-Vorgang, um mithilfe des IAM Identity Center-Tokens eine vorübergehende Rolle anzunehmen. Stellen Sie sicher, dass Sie die Rolle des Identitätsträgers verwenden, die auch als die Rolle bezeichnet wird, die den Identitätskontext trägt (z. B. identity-bearer-role), um die Anmeldeinformationen anzufordern.

  4. Geben Sie die IAM-Anmeldeinformationen an die Webanwendung zurück.

    Anmerkung

    Stellen Sie sicher, dass Sie einen geeigneten Protokollierungsmechanismus eingerichtet haben. Antworten werden in einem standardisierten JSON-Format mit einem entsprechenden HTTP-Statuscode zurückgegeben.