

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
<a name="webapp-s3-tutorial"></a>

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 beginnen[Tutorial: Eine einfache Transfer Family Family-Web-App einrichten](web-app-tutorial.md).

## Voraussetzungen
<a name="webapp-s3-tutorial-prereqs"></a>

Bevor Sie mit diesem Tutorial beginnen, brauchen Sie Folgendes:
+ 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 unter[Tutorial: Eine einfache Transfer Family Family-Web-App einrichten](web-app-tutorial.md).

## Schritt 1: Erstellen Sie eine Transfer Family Family-Web-App
<a name="webapp-s3-tutorial-create-webapp"></a>

**So erstellen Sie eine Transfer Family Family-Web-App**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die AWS Transfer Family Konsole unter [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

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

1. 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.

1. 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.

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

1. Fügen Sie ein Tag hinzu, um Ihre Web-Apps zu organisieren. 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.

1. 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.

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

## Schritt 2: Konfigurieren Sie IAM-Rollen für den S3-Zugriff
<a name="webapp-s3-tutorial-iam-roles"></a>

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
<a name="webapp-s3-tutorial-trust-policy"></a>

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
<a name="webapp-s3-tutorial-download-policy"></a>

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
<a name="webapp-s3-tutorial-upload-policy"></a>

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
<a name="webapp-s3-tutorial-access-grants"></a>

1. Öffnen Sie die S3-Konsole unter[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie im Navigationsbereich **Access Grants** aus.

1. Klicken Sie auf **S3 Access Grants-Instanz erstellen**.

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

1. 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
<a name="webapp-s3-tutorial-register-locations"></a>

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**.

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

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

1. Schließen Sie den Registrierungsprozess ab.

1. 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
<a name="webapp-s3-tutorial-create-grants"></a>

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**.

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

1. 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 festgelegt`s3://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 ein`folder1/folder2/*`, wodurch der Geltungsbereich der Gewährung auf festgelegt wird`s3://bucket-name/folder1/folder2/*`.

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

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

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

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

1. **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
<a name="webapp-s3-tutorial-cors"></a>

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).

1. **Wählen** Sie den Tab Berechtigungen aus.

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

1. 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-\$1\$1\$1\$1\$1\$1\$1\$1\$1\$1\$1\$1\$1\$1\$1.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
     }
   ]
   ```

1. Klicken Sie auf **Änderungen speichern**.

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

## Schritt 7: Testen Sie die Konfiguration
<a name="webapp-s3-tutorial-testing"></a>

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**.

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

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

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

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

## Schlussfolgerung
<a name="webapp-s3-tutorial-conclusion"></a>

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 unter[Tutorial: Eine einfache Transfer Family Family-Web-App einrichten](web-app-tutorial.md).