Tutorial: AWS Transfer Family Web-App mit selektivem Multi-Bucket-Zugriff einrichten - AWS Transfer Family

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.

Tutorial: AWS Transfer Family Web-App mit selektivem Multi-Bucket-Zugriff einrichten

Dieses Tutorial führt Sie durch die Konfiguration einer Transfer Family Family-Web-App mit bestimmten Amazon S3 S3-Bucket-Berechtigungen für einen einzelnen Benutzer. Sie erfahren, wie Sie eine Lösung einrichten, mit der Benutzer aus einem Bucket herunterladen und in einen anderen hochladen können, ohne dabei die Sicherheit zu gefährden. Dies ist ein Tutorial für Fortgeschrittene, das auf den im Basis-Tutorial behandelten Konzepten aufbaut. Wenn Sie mit AWS Transfer Family Web-Apps noch nicht vertraut sind, sollten Sie mit beginnenTutorial: Eine einfache Transfer Family Family-Web-App einrichten.

Voraussetzungen

Bevor Sie mit diesem Tutorial beginnen, benötigen Sie:

  • IAM Identity Center ist in derselben Region wie Ihre AWS Transfer Family Web-App konfiguriert. Beachten Sie, dass nur eine Instanz von IAM Identity Center pro AWS Konto für alle Regionen AWS zulässig ist.

  • Mindestens ein Benutzer ist in IAM Identity Center konfiguriert.

  • Zwei S3-Buckets: einer für Downloads und einer für Uploads.

Anmerkung

Dieses Tutorial hat viele Voraussetzungen mit dem grundlegenden Web-App-Tutorial gemeinsam. Weitere Informationen zum Einrichten von IAM Identity Center und zum Erstellen von Benutzern finden Sie unterTutorial: Eine einfache Transfer Family Family-Web-App einrichten.

Schritt 1: Erstellen Sie eine Transfer Family Family-Web-App

So erstellen Sie eine Transfer Family Family-Web-App
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Transfer Family Konsole unter https://console.aws.amazon.com/transfer/.

  2. Wählen Sie im linken Navigationsbereich Web-Apps aus.

  3. Wählen Sie Web-App erstellen aus.

    Beachten Sie beim Authentifizierungszugriff, dass der Dienst die AWS IAM Identity Center Instanz, die Sie als Voraussetzung eingerichtet haben, automatisch findet.

  4. Wählen Sie im Bereich Berechtigungstyp die Option Neue Servicerolle erstellen und verwenden aus. Der Dienst erstellt die Rolle des Identitätsträgers für Sie. Eine Identitätsträgerrolle umfasst die Identität eines authentifizierten Benutzers in seinen Sitzungen.

  5. Akzeptieren Sie im Bereich Web-App-Einheiten den Standardwert 1, oder passen Sie ihn bei Bedarf auf einen höheren Wert an.

  6. Fügen Sie ein Tag hinzu, das Ihnen bei der Organisation Ihrer Web-Apps hilft. Geben Sie für das Tutorial Name für den Schlüssel und Tutorial web app als Wert ein.

    Tipp

    Sie können den Namen der Web-App direkt auf der Listenseite der Web-Apps bearbeiten, nachdem Sie sie erstellt haben.

  7. Wählen Sie Weiter, um die Seite Web-App entwerfen zu öffnen. Geben Sie auf diesem Bildschirm die folgenden Informationen ein.

    Sie können optional einen Titel für Ihre Web-App angeben. Sie können auch Bilddateien für Ihr Logo und Favicon hochladen.

    • Passen Sie für den Seitentitel den Titel für den Browser-Tab an, den Ihre Benutzer sehen, wenn sie eine Verbindung zur Web-App herstellen. Wenn Sie nichts für den Seitentitel eingeben, wird standardmäßig Transfer Web App verwendet.

    • Laden Sie für das Logo eine Bilddatei hoch. Die maximale Dateigröße für Ihr Logobild beträgt 50 KB.

    • Laden Sie für das Favicon eine Bilddatei hoch. Die maximale Dateigröße für Ihr Favicon beträgt 20 KB.

  8. Wählen Sie Weiter und anschließend Web-App erstellen.

Schritt 2: Konfigurieren Sie IAM-Rollen für den S3-Zugriff

Sie müssen zwei IAM-Rollen erstellen: eine mit reinem Download-Zugriff auf den ersten Bucket und eine weitere mit reinem Upload-Zugriff auf den zweiten Bucket.

Vertrauensrichtlinie für beide Rollen

Verwenden Sie die folgende Vertrauensrichtlinie für beide IAM-Rollen:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccessGrantsTrustPolicy", "Effect": "Allow", "Principal": { "Service": "access-grants.s3.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity", "sts:SetContext" ] } ] }

IAM-Richtlinie für den Download-Bucket

Erstellen Sie eine IAM-Rolle mit der folgenden Richtlinie für den schreibgeschützten Zugriff auf Ihren Download-Bucket:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ObjectLevelReadPermissions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectVersionAcl", "s3:ListMultipartUploadParts", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*", "arn:aws:s3:::amzn-s3-demo-bucket1" ] } ] }
Wichtig

Ersetzen Sie amzn-s3-demo-bucket1 durch den tatsächlichen Namen Ihres Download-Buckets.

IAM-Richtlinie für den Upload-Bucket

Erstellen Sie eine weitere IAM-Rolle mit der folgenden Richtlinie für den Schreibzugriff auf Ihren Upload-Bucket:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ObjectLevelWritePermissions", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectVersionAcl", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:AbortMultipartUpload", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket2/*", "arn:aws:s3:::amzn-s3-demo-bucket2" ] } ] }
Wichtig

Ersetzen Sie amzn-s3-demo-bucket2 durch den tatsächlichen Namen Ihres Upload-Buckets.

Schritt 3: Richten Sie S3 Access Grants ein

  1. Öffnen Sie die S3-Konsole unterhttps://console.aws.amazon.com/s3/.

  2. Wählen Sie im Navigationsbereich Access Grants aus.

  3. Klicken Sie auf S3 Access Grants-Instanz erstellen.

  4. Wählen Sie die Option IAM Identity Center-Instanz hinzufügen und geben Sie den ARN der Identity Center-Instanz ein.

  5. Klicken Sie auf Weiter und dann auf Abbrechen, um die Erstellung der S3 Access Grants-Instanz abzuschließen, ohne mit weiteren Schritten fortzufahren.

In diesem Schritt wird die S3 Access Grants-Instanz erstellt. Sie registrieren jetzt Standorte und erstellen Zugriffsberechtigungen.

Schritt 4: Registrieren Sie S3-Bucket-Standorte

Registrieren Sie beide S3-Buckets als Standorte mit S3 Access Grants:

  1. Navigieren Sie in der S3 Access Grants-Konsole zu Standorte und klicken Sie auf Standort registrieren.

  2. Wählen Sie unter Standortbereich den spezifischen S3-Bucket für Downloads aus (amzn-s3-demo-bucket1).

  3. Wenn Sie aufgefordert werden, eine IAM-Rolle auszuwählen, wählen Sie die Download-IAM-Rolle aus, die Sie zuvor erstellt haben.

  4. Schließen Sie den Registrierungsprozess ab.

  5. Wiederholen Sie den Vorgang, um den Upload-Bucket (amzn-s3-demo-bucket2) zu registrieren, und wählen Sie die Upload-IAM-Rolle aus, wenn Sie dazu aufgefordert werden.

Schritt 5: Zugriffsberechtigungen erstellen

Erstellen Sie zwei Zuschüsse, eine für jeden registrierten Standort:

  1. Navigieren Sie in der S3 Access Grants-Konsole zu Grants und klicken Sie auf Create Grants.

  2. Klicken Sie unter Standort auf Speicherort durchsuchen und wählen Sie den Download-Bucket-Speicherort aus (amzn-s3-demo-bucket1).

  3. Geben Sie im Feld Unterpräfix (optional) ein, ob Sie Zugriff auf den gesamten Bucket gewähren möchten, oder geben Sie * einen Pfad an, um den Zugriff auf ein bestimmtes Präfix zu beschränken. folder1/folder2/*

    Mit dieser * Option wird der Geltungsbereich der Gewährung auf festgelegts3://bucket-name/*, sodass der Zugriff auf den gesamten Bucket möglich ist. Um den Zugriff nur auf ein bestimmtes Präfix zu ermöglichen, geben Sie einen Pfad wie einfolder1/folder2/*, wodurch der Geltungsbereich der Gewährung auf festgelegt wirds3://bucket-name/folder1/folder2/*.

  4. Wählen Sie unter Berechtigungen und Zugriff die Option Lesen für den Download-Bucket aus.

  5. Wählen Sie im Feld Grantee-Typ die Option Verzeichnisidentität aus IAM Identity Center aus.

  6. Wählen Sie als IAM-Prinzipaltyp die Option Benutzer aus und geben Sie die Benutzer-ID Ihres IAM Identity Center-Benutzers ein.

  7. Schließen Sie den Prozess zur Erstellung des Zuschusses ab.

  8. Wiederholen Sie den Vorgang, um einen Grant für den Upload-Bucket (amzn-s3-demo-bucket2) zu erstellen, wählen Sie für die Berechtigungen jedoch Lesen-Schreiben aus.

Schritt 6: Konfigurieren Sie die CORS-Richtlinie für S3-Buckets

Konfigurieren Sie eine CORS-Richtlinie für beide S3-Buckets, um den Zugriff über Folgendes zu ermöglichen: AWS Transfer Family WebApp

  1. Öffnen Sie die S3-Konsole und navigieren Sie zu Ihrem Download-Bucket (amzn-s3-demo-bucket1).

  2. Wählen Sie den Tab „Berechtigungen“ aus.

  3. Scrollen Sie nach unten zum Abschnitt Cross-Origin Resource Sharing (CORS) und klicken Sie auf Bearbeiten.

  4. Fügen Sie die folgende CORS-Konfiguration hinzu und WebAppEndpoint ersetzen Sie sie durch Ihre tatsächliche WebApp Endpunkt-URL:

    Sie finden die URL Ihres Web-App-Endpunkts in der AWS Transfer Family Konsole unter WebApps. Sie wird ähnlich aussehen wie https://webapp-***************.transfer-webapp.us-west-2.on.aws.

    [ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "GET", "PUT", "POST", "DELETE", "HEAD" ], "AllowedOrigins": [ "https://WebAppEndpoint" ], "ExposeHeaders": [ "last-modified", "content-length", "etag", "x-amz-version-id", "content-type", "x-amz-request-id", "x-amz-id-2", "date", "x-amz-cf-id", "x-amz-storage-class", "access-control-expose-headers" ], "MaxAgeSeconds": 3000 } ]
  5. Klicken Sie auf Änderungen speichern.

  6. Wiederholen Sie den Vorgang für Ihren Upload-Bucket (amzn-s3-demo-bucket2).

Schritt 7: Testen Sie die Konfiguration

  1. Öffnen Sie die URL Ihrer AWS Transfer Family Web-App. Sie finden diese URL in der AWS Transfer Family Konsole unter dem WebApps Feld Zugriffsendpunkt.

  2. Melden Sie sich mit den IAM Identity Center-Benutzeranmeldedaten an, die Sie mit Zugriffsberechtigungen konfiguriert haben.

  3. Nach der Anmeldung sollten Sie beide S3-Standorte auf der Startseite sehen.

  4. Navigieren Sie zum Download-Bucket (amzn-s3-demo-bucket1) und stellen Sie sicher, dass Sie Dateien herunterladen, aber nicht hochladen können.

  5. Navigieren Sie zum Upload-Bucket (amzn-s3-demo-bucket2) und vergewissern Sie sich, dass Sie Dateien hochladen können.

Schlussfolgerung

Sie haben erfolgreich den selektiven S3-Bucket-Zugriff für einen einzelnen Benutzer konfiguriert AWS Transfer Family WebApp . Dieses Setup ermöglicht es dem Benutzer, Daten von einem Bucket herunterzuladen und in einen anderen hochzuladen, während gleichzeitig die Sicherheit durch IAM-Rollen und S3-Zugriffsberechtigungen gewahrt bleibt.

Dieser Ansatz kann auf mehrere Benutzer ausgedehnt werden, indem zusätzliche Grants in S3 Access Grants für jeden Benutzer erstellt werden, was eine detaillierte Steuerung der Bucket-Zugriffsberechtigungen ermöglicht. Informationen zur grundlegenden Einrichtung der Web-App finden Sie unterTutorial: Eine einfache Transfer Family Family-Web-App einrichten.