

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.

# Einen verwalteten Workflow zum Entschlüsseln einer Datei einrichten
<a name="workflow-decrypt-tutorial"></a>

In diesem Tutorial wird veranschaulicht, wie Sie einen verwalteten Workflow einrichten, der einen Entschlüsselungsschritt enthält. Das Tutorial zeigt auch, wie Sie eine verschlüsselte Datei in einen Amazon S3 S3-Bucket hochladen und dann die entschlüsselte Datei in demselben Bucket anzeigen.

**Anmerkung**  
Der AWS Speicher-Blog enthält einen Beitrag, in dem beschrieben wird, wie Dateien mithilfe von Transfer Family Managed Workflows, Verschlüsseln und [Entschlüsseln von Dateien mit PGP und einfach entschlüsselt werden können, ohne Code zu](https://aws.amazon.com/blogs/storage/encrypt-and-decrypt-files-with-pgp-and-aws-transfer-family/) schreiben, beschrieben werden. AWS Transfer Family

**Topics**
+ [Schritt 1: Konfigurieren Sie eine Ausführungsrolle](#create-example-execution-role)
+ [Schritt 2: Erstellen Sie einen verwalteten Workflow](#create-example-workflow)
+ [Schritt 3: Fügen Sie den Workflow einem Server hinzu und erstellen Sie einen Benutzer](#add-workflow-to-server)
+ [Schritt 4: Erstellen Sie ein PGP-Schlüsselpaar](#create-example-pgp-key-pair)
+ [Schritt 5: Speichern Sie den privaten PGP-Schlüssel in AWS Secrets Manager](#output-private-key-to-secrets)
+ [Schritt 6: Verschlüsseln Sie eine Datei](#encrypt-example-file)
+ [Schritt 7: Führen Sie den Workflow aus und sehen Sie sich die Ergebnisse an](#test-decrypt-workflow)

## Schritt 1: Konfigurieren Sie eine Ausführungsrolle
<a name="create-example-execution-role"></a>

Erstellen Sie eine AWS Identity and Access Management (IAM-) Ausführungsrolle, mit der Transfer Family einen Workflow starten kann. Der Prozess der Erstellung einer Ausführungsrolle wird unter beschrieben[IAM-Richtlinien für Workflows](workflow-execution-role.md).

**Anmerkung**  
Stellen Sie beim Erstellen einer Ausführungsrolle sicher, dass eine Vertrauensbeziehung zwischen der Ausführungsrolle und der Transfer Family hergestellt wird, wie unter beschrieben[So stellen Sie eine Vertrauensbeziehung her](requirements-roles.md#establish-trust-transfer).

Die folgende Richtlinie für Ausführungsrollen enthält alle erforderlichen Berechtigungen, um den Workflow zu starten, den Sie in diesem Tutorial erstellen. Wenn Sie diese Beispielrichtlinie verwenden möchten, ersetzen Sie `user input placeholders` durch Ihre eigenen Informationen. `amzn-s3-demo-bucket`Ersetzen Sie es durch den Namen des Amazon S3 S3-Buckets, in den Sie Ihre verschlüsselten Dateien hochladen.

**Anmerkung**  
Nicht jeder Workflow benötigt alle Berechtigungen, die in diesem Beispiel aufgeführt sind. Sie können die Berechtigungen je nach Art der Schritte in Ihrem spezifischen Workflow einschränken. Die für jeden vordefinierten Schritttyp erforderlichen Berechtigungen werden unter beschrieben[Verwenden Sie vordefinierte Schritte](nominal-steps-workflow.md). Die für einen benutzerdefinierten Schritt erforderlichen Berechtigungen werden unter beschrieben[IAM-Berechtigungen für einen benutzerdefinierten Schritt](custom-step-details.md#custom-step-iam).

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "WorkflowsS3Permissions",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectTagging",
                "s3:GetObjectVersion",
                "s3:PutObject",
                "s3:PutObjectTagging",
                "s3:ListBucket",
                "s3:PutObjectTagging",
                "s3:PutObjectVersionTagging",
                "s3:DeleteObjectVersion",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*",
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Sid": "DecryptSecret",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:aws/transfer/*"
        }
    ]
}
```

## Schritt 2: Erstellen Sie einen verwalteten Workflow
<a name="create-example-workflow"></a>

Jetzt müssen Sie einen Workflow erstellen, der einen Entschlüsselungsschritt enthält.

**Um einen Workflow zu erstellen, der einen Entschlüsselungsschritt enthält**

1. Ö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 **Workflows** und dann **Workflow erstellen** aus. 

1. Geben Sie folgende Details ein:
   + Geben Sie beispielsweise eine Beschreibung ein**Decrypt workflow example**.
   + Wählen Sie im Abschnitt **Nominale Schritte** die Option **Schritt hinzufügen** aus.

1. **Wählen Sie unter Schritttyp** auswählen die Option **Datei entschlüsseln** und dann **Weiter** aus.

1. <a name="configure-destination-details"></a>Geben **Sie im Dialogfeld „Parameter konfigurieren**“ Folgendes an:
   + Geben Sie einen aussagekräftigen Schrittnamen ein, zum Beispiel. **decrypt-step** Leerzeichen sind in Schrittnamen nicht zulässig.
   + Wählen Sie als **Ziel für entschlüsselte Dateien** Amazon S3.
   + Wählen Sie für den **Namen des Ziel-Buckets** denselben Amazon S3 S3-Bucket aus, den Sie `amzn-s3-demo-bucket` in der IAM-Richtlinie, die Sie in Schritt 1 erstellt haben, angegeben haben.
   + Geben Sie für das **Zielschlüsselpräfix** den Namen des Präfixes (Ordners) ein, in dem Sie Ihre entschlüsselten Dateien in Ihrem Ziel-Bucket speichern möchten, z. B. **decrypted-files/**
**Anmerkung**  
Achten Sie darauf, Ihrem Präfix einen abschließenden Schrägstrich (**/**) hinzuzufügen.
   + Lassen Sie für dieses Tutorial die Option Existierendes **überschreiben deaktiviert**. Wenn diese Einstellung deaktiviert ist und Sie versuchen, eine Datei mit dem identischen Namen einer vorhandenen Datei zu entschlüsseln, wird die Workflow-Verarbeitung gestoppt und die neue Datei wird nicht verarbeitet.

   Wählen Sie **Weiter**, um zum Überprüfungsbildschirm zu gelangen.

1. Überprüfen Sie die Details für den Schritt. Wenn alles korrekt ist, wählen Sie **Schritt erstellen**.

1. Ihr Workflow benötigt nur den einzigen Entschlüsselungsschritt, sodass keine zusätzlichen Schritte zur Konfiguration erforderlich sind. Wählen Sie **Workflow erstellen** aus, um den neuen Workflow zu erstellen.

Notieren Sie sich die Workflow-ID für Ihren neuen Workflow. Sie benötigen diese ID für den nächsten Schritt. In diesem Tutorial wird die Workflow-ID *`w-1234abcd5678efghi`* als Beispiel verwendet. 

## Schritt 3: Fügen Sie den Workflow einem Server hinzu und erstellen Sie einen Benutzer
<a name="add-workflow-to-server"></a>

Da Sie nun über einen Workflow mit einem Entschlüsselungsschritt verfügen, müssen Sie ihn einem Transfer Family Family-Server zuordnen. Dieses Tutorial zeigt, wie Sie den Workflow an einen vorhandenen Transfer Family Family-Server anhängen. Alternativ können Sie einen neuen Server erstellen, den Sie mit Ihrem Workflow verwenden können.

Nachdem Sie den Workflow an einen Server angehängt haben, müssen Sie einen Benutzer erstellen, der per SFTP auf den Server zugreifen und die Ausführung des Workflows auslösen kann.

**So konfigurieren Sie einen Transfer Family Family-Server für die Ausführung eines Workflows**

1. Ö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 **Server** und dann einen Server aus der Liste aus. Stellen Sie sicher, dass dieser Server das SFTP-Protokoll unterstützt.

1. Scrollen Sie auf der Detailseite für den Server nach unten zum Abschnitt **Zusätzliche Details** und wählen Sie dann **Bearbeiten** aus. 

1. Wählen Sie auf der Seite **Zusätzliche Details bearbeiten** im Abschnitt **Verwaltete Workflows** Ihren Workflow und wählen Sie eine entsprechende Ausführungsrolle aus.
   + Wählen Sie **unter Workflow für vollständige Datei-Uploads** den Workflow aus, den Sie erstellt haben[Schritt 2: Erstellen Sie einen verwalteten Workflow](#create-example-workflow), **w-1234abcd5678efghi** z. B. in.
   + Wählen Sie für die **Ausführungsrolle für verwaltete Workflows** die IAM-Rolle aus, in der Sie sie erstellt haben. [Schritt 1: Konfigurieren Sie eine Ausführungsrolle](#create-example-execution-role)

1. Scrollen Sie zum Ende der Seite und wählen Sie **Speichern**, um Ihre Änderungen zu speichern.

Notieren Sie sich die ID des Servers, den Sie verwenden. Der Name des AWS Secrets Manager Geheimnisses, das Sie zum Speichern Ihrer PGP-Schlüssel verwenden, basiert teilweise auf der Server-ID.

**Um einen Benutzer hinzuzufügen, der den Workflow auslösen kann**

1. Ö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 **Server** und dann den Server aus, den Sie für den Entschlüsselungsworkflow verwenden.

1. Scrollen Sie auf der Seite mit den Serverdetails nach unten zum Abschnitt **Benutzer** und wählen Sie **Benutzer hinzufügen** aus. 

1. Geben Sie für Ihren neuen Benutzer die folgenden Details ein:
   + Geben Sie für **Username** (Benutzername) **decrypt-user** ein.
   + Wählen Sie **unter Rolle** eine Benutzerrolle aus, die auf Ihren Server zugreifen kann.
   + Wählen Sie für **Home-Verzeichnis** den Amazon S3 S3-Bucket aus, den Sie zuvor verwendet haben, zum Beispiel`amzn-s3-demo-bucket`.
   + Fügen Sie für **öffentliche SSH-Schlüssel** einen öffentlichen Schlüssel ein, der einem privaten Schlüssel entspricht, den Sie haben. Details hierzu finden Sie unter [Generieren Sie SSH-Schlüssel für vom Service verwaltete Benutzer](sshkeygen.md).

1. Wählen Sie **Hinzufügen**, um Ihren neuen Benutzer zu speichern.

Notieren Sie sich den Namen Ihres Transfer Family Family-Benutzers für diesen Server. Das Geheimnis basiert teilweise auf dem Namen des Benutzers. Der Einfachheit halber verwendet dieses Tutorial ein Standardgeheimnis, das von jedem Benutzer des Servers verwendet werden kann.

## Schritt 4: Erstellen Sie ein PGP-Schlüsselpaar
<a name="create-example-pgp-key-pair"></a>

Verwenden Sie einen der [unterstützten PGP-Clients, um ein PGP-Schlüsselpaar](pgp-key-clients.md) zu generieren. Dieser Vorgang wird ausführlich unter beschrieben. [Generieren Sie PGP-Schlüssel](generate-pgp-keys.md)

**Um ein PGP-Schlüsselpaar zu generieren**

1. Für dieses Tutorial können Sie den Client `gpg` (`GnuPG`) Version 2.0.22 verwenden, um ein PGP-Schlüsselpaar zu generieren, das RSA als Verschlüsselungsalgorithmus verwendet. Führen Sie für diesen Client den folgenden Befehl aus und geben Sie eine E-Mail-Adresse und eine Passphrase ein. Sie können einen beliebigen Namen oder eine E-Mail-Adresse verwenden. Stellen Sie sicher, dass Sie sich die von Ihnen verwendeten Werte merken, da Sie sie später im Tutorial eingeben müssen.

   ```
   gpg --gen-key
   ```
**Anmerkung**  
Wenn Sie `GnuPG` Version 2.3.0 oder neuer verwenden, müssen Sie Folgendes ausführen`gpg --full-gen-key`. Wenn Sie nach dem Typ des zu erstellenden Schlüssels gefragt werden, wählen Sie RSA oder ECC. Wenn Sie **ECC** wählen, können Sie zwischen BrainPool und Curve25519 für die NIST elliptische Kurve wählen. 

1. Exportieren Sie den privaten Schlüssel, indem Sie den folgenden Befehl ausführen. `user@example.com`Ersetzen Sie ihn durch die E-Mail-Adresse, die Sie bei der Generierung des Schlüssels verwendet haben.

   ```
   gpg --output workflow-tutorial-key.pgp --armor --export-secret-key user@example.com
   ```

   Dieser Befehl exportiert den privaten Schlüssel in die **workflow-tutorial-key.pgp** Datei. Sie können die Ausgabedatei beliebig benennen. Sie können die Datei mit dem privaten Schlüssel auch löschen, nachdem Sie sie hinzugefügt haben AWS Secrets Manager.

## Schritt 5: Speichern Sie den privaten PGP-Schlüssel in AWS Secrets Manager
<a name="output-private-key-to-secrets"></a>

Sie müssen den privaten Schlüssel in Secrets Manager auf eine ganz bestimmte Weise speichern, damit der Workflow den privaten Schlüssel finden kann, wenn der Workflow einen Entschlüsselungsschritt für eine hochgeladene Datei ausführt.

**Anmerkung**  
Wenn Sie Geheimnisse im Secrets Manager speichern, AWS-Konto fallen Gebühren an. Informationen zu den Preisen erhalten Sie unter [AWS Secrets Manager Preise](https://aws.amazon.com/secrets-manager/pricing).

**Um einen privaten PGP-Schlüssel in Secrets Manager zu speichern**

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

1. Wählen Sie im linken Navigationsbereich **Secrets** aus. 

1. Wählen Sie auf der Seite **Secrets** die Option **Neues Geheimnis speichern** aus.

1. **Wählen Sie auf der Seite Geheimtyp** auswählen für **Geheimtyp** die Option **Anderer Geheimtyp aus**.

1. Wählen Sie im Abschnitt **Schlüssel/Wert-Paare** die Registerkarte **Schlüssel/Wert** aus.
   + **Schlüssel — Geben Sie ein.** **PGPPrivateKey**
   + **Wert** — Fügen Sie den Text Ihres privaten Schlüssels in das Wertfeld ein.

1. Wählen Sie **Zeile hinzufügen** und wählen Sie im Abschnitt **Schlüssel/Wert-Paare** die Registerkarte **Schlüssel/Wert-Paare** aus.
   + **Schlüssel — Geben Sie ein.** **PGPPassphrase**
   + **Wert** — Geben Sie die Passphrase ein, die Sie bei der Generierung Ihres PGP-Schlüsselpaars in verwendet haben. [Schritt 4: Erstellen Sie ein PGP-Schlüsselpaar](#create-example-pgp-key-pair)

1. Wählen Sie **Weiter** aus.

1. Geben Sie auf der Seite **Geheimes Passwort konfigurieren** einen Namen und eine Beschreibung für Ihr Geheimnis ein. Sie können ein Geheimnis für einen bestimmten Benutzer oder ein Geheimnis erstellen, das von allen Benutzern verwendet werden kann. Wenn Ihre Server-ID lautet*`s-11112222333344445`*, benennen Sie das Geheimnis wie folgt.
   + Um ein Standardgeheimnis für alle Benutzer zu erstellen, geben Sie dem Geheimnis einen Namen**aws/transfer/*s-11112222333344445*/@pgp-default**.
   + Um ein Geheimnis nur für den Benutzer zu erstellen, den Sie zuvor erstellt haben, geben Sie dem Geheimnis einen Namen**aws/transfer/*s-11112222333344445*/decrypt-user**.

1. Wählen Sie **Weiter** und akzeptieren Sie dann die Standardeinstellungen auf der Seite „**Rotation konfigurieren**“. Klicken Sie anschließend auf **Weiter**.

1. Wählen Sie auf der Seite **„Überprüfen**“ die Option **Speichern** aus, um das Geheimnis zu erstellen und zu speichern.

Weitere Informationen zum Hinzufügen Ihres privaten PGP-Schlüssels zu Secrets Manager finden Sie unter [AWS Secrets Manager Zum Speichern Ihres PGP-Schlüssels verwenden](manage-pgp-keys.md#store-pgp-key-details).

## Schritt 6: Verschlüsseln Sie eine Datei
<a name="encrypt-example-file"></a>

Verwenden Sie das `gpg` Programm, um eine Datei für die Verwendung in Ihrem Workflow zu verschlüsseln. Führen Sie den folgenden Befehl aus, um eine Datei zu verschlüsseln:

```
gpg -e -r marymajor@example.com --openpgp testfile.txt
```

Bevor Sie diesen Befehl ausführen, beachten Sie Folgendes:
+ Ersetzen `marymajor@example.com` Sie das `-r` Argument durch die E-Mail-Adresse, die Sie bei der Erstellung des PGP-Schlüsselpaars verwendet haben.
+ Die `--openpgp` Markierung ist optional. Dieses Flag sorgt dafür, dass die verschlüsselte Datei dem [ RFC4880OpenPGP-Standard](https://www.rfc-editor.org/rfc/rfc4880) entspricht.
+ Dieser Befehl erstellt eine Datei mit dem Namen am **testfile.txt.gpg** selben Ort wie. **testfile.txt**

**Wichtig**  
Achten Sie beim Verschlüsseln von Dateien zur Verwendung mit AWS Transfer Family Workflows immer darauf, dass Sie mit dem Parameter einen nicht anonymen Empfänger angeben. `-r` Anonyme Verschlüsselung (ohne Angabe eines Empfängers) kann zu Entschlüsselungsfehlern im Workflow führen, da das System nicht erkennen kann, welcher Schlüssel für die Entschlüsselung verwendet werden soll. Debugging-Informationen für dieses Problem finden Sie unter. [Beheben Sie Probleme mit der Verschlüsselung anonymer Empfänger](workflow-issues.md#workflows-decrypt-anonymous) 

## Schritt 7: Führen Sie den Workflow aus und sehen Sie sich die Ergebnisse an
<a name="test-decrypt-workflow"></a>

Um den Workflow auszuführen, stellen Sie mit dem Benutzer, den Sie in Schritt 3 erstellt haben, eine Verbindung zum Transfer Family Family-Server her. Anschließend können Sie in dem Amazon S3 S3-Bucket, den Sie in [Schritt 2.5 angegeben haben, die Zielparameter so konfigurieren,](#configure-destination-details) dass die entschlüsselte Datei angezeigt wird.

**Um den Entschlüsselungs-Workflow auszuführen**

1. Öffnen Sie ein Befehlsterminal.

1. Führen Sie den folgenden Befehl aus und `your-endpoint` ersetzen Sie ihn durch Ihren tatsächlichen Endpunkt und `transfer-key` den privaten SSH-Schlüssel Ihres Benutzers:

   ```
   sftp -i transfer-key decrypt-user@your-endpoint
   ```

   Wenn der private Schlüssel beispielsweise in `~/.ssh/decrypt-user` gespeichert ist und Ihr Endpunkt darin gespeichert ist`s-11112222333344445.server.transfer.us-east-2.amazonaws.com`, lautet der Befehl wie folgt:

   ```
   sftp -i  ~/.ssh/decrypt-user decrypt-user@s-11112222333344445.server.transfer.us-east-2.amazonaws.com
   ```

1. Führen Sie den Befehl `pwd` aus. Bei Erfolg gibt dieser Befehl Folgendes zurück:

   ```
   Remote working directory: /amzn-s3-demo-bucket/decrypt-user
   ```

   Ihr Verzeichnis spiegelt den Namen Ihres Amazon S3 S3-Buckets wider.

1. Führen Sie den folgenden Befehl aus, um die Datei hochzuladen und die Ausführung des Workflows auszulösen:

   ```
   put testfile.txt.gpg
   ```

1. Für das Ziel der entschlüsselten Dateien haben Sie den `decrypted-files/` Ordner angegeben, als Sie den Workflow erstellt haben. Jetzt können Sie zu diesem Ordner navigieren und den Inhalt auflisten.

   ```
   cd ../decrypted-files/
   ls
   ```

   Bei Erfolg listet der `ls` Befehl die `testfile.txt` Datei auf. Sie können diese Datei herunterladen und überprüfen, ob sie mit der Originaldatei identisch ist, die Sie zuvor verschlüsselt haben.