Einen verwalteten Workflow zum Entschlüsseln einer Datei 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.

Einen verwalteten Workflow zum Entschlüsseln einer Datei einrichten

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 schreiben, beschrieben werden. AWS Transfer Family

Schritt 1: Konfigurieren Sie eine Ausführungsrolle

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 beschriebenIAM-Richtlinien für Workflows.

Anmerkung

Stellen Sie beim Erstellen einer Ausführungsrolle sicher, dass eine Vertrauensbeziehung zwischen der Ausführungsrolle und der Transfer Family hergestellt wird, wie unter beschriebenSo stellen Sie eine Vertrauensbeziehung her.

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. DOC-EXAMPLE-BUCKETErsetzen 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 beschriebenVerwenden Sie vordefinierte Schritte. Die für einen benutzerdefinierten Schritt erforderlichen Berechtigungen werden unter beschriebenIAM-Berechtigungen für einen benutzerdefinierten Schritt.

{ "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:::DOC-EXAMPLE-BUCKET/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET"] "Condition": { "StringEquals": { "s3:RequestObjectTag/Archive": "yes" } } }, { "Sid": "DecryptSecret", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/*" } ] }

Schritt 2: Erstellen Sie einen verwalteten Workflow

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

  2. Wählen Sie im linken Navigationsbereich Workflows und dann Workflow erstellen aus.

  3. Geben Sie die folgenden Details ein:

    • Geben Sie beispielsweise eine Beschreibung einDecrypt workflow example.

    • Wählen Sie im Abschnitt Nominale Schritte die Option Schritt hinzufügen aus.

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

  5. Geben Sie im Dialogfeld „Parameter konfigurieren“ Folgendes an:

    • Geben Sie einen aussagekräftigen Schrittnamen ein, decrypt-step z. B. 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 DOC-EXAMPLE-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.

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

  7. Ihr Workflow benötigt nur den einzigen Entschlüsselungsschritt, sodass keine zusätzlichen Schritte zur Konfiguration erforderlich sind. Wählen Sie Workflow erstellen, 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-1234abcd5678efghials Beispiel verwendet.

Schritt 3: Fügen Sie den Workflow einem Server hinzu und erstellen Sie einen Benutzer

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 für Ihren Workflow erstellen.

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

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

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

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

  5. 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/.

  2. Wählen Sie im linken Navigationsbereich Server und dann den Server aus, den Sie für den Entschlüsselungsworkflow verwenden.

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

  4. 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 BeispielDOC-EXAMPLE-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.

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

Verwenden Sie einen der unterstützten PGP-Clients, um ein PGP-Schlüsselpaar zu generieren. Dieser Vorgang wird ausführlich unter beschrieben. Generieren Sie PGP-Schlüssel

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 ausführengpg --full-gen-key. Wenn Sie nach dem Typ des zu erstellenden Schlüssels gefragt werden, wählen Sie RSA oder ECC. Wenn Sie jedoch ECC wählen, stellen Sie sicher, dass Sie BrainPool für die elliptische Kurve entweder NIST oder wählen. Wählen Sie nicht. Curve 25519

  2. Exportieren Sie den privaten Schlüssel, indem Sie den folgenden Befehl ausführen. user@example.comErsetzen 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 der Ausgabedatei einen beliebigen Namen geben. 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

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 Preisen erhalten Sie unter AWS Secrets Manager -Preise.

Um einen privaten PGP-Schlüssel in Secrets Manager zu speichern
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Secrets Manager Konsole unter https://console.aws.amazon.com/secretsmanager/.

  2. Wählen Sie im linken Navigationsbereich Secrets aus.

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

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

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

  6. Wählen Sie Zeile hinzufügen und wählen Sie im Abschnitt Schlüssel/Wert-Paare die Registerkarte Schlüssel/Wert-Paare.

  7. Wählen Sie Weiter aus.

  8. 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 Namenaws/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 Namenaws/transfer/s-11112222333344445/decrypt-user.

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

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

Schritt 6: Verschlüsseln Sie eine Datei

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 OpenPGP-Standard RFC4880 entspricht.

  • Dieser Befehl erstellt eine Datei mit dem Namen testfile.txt.gpg am selben Ort wie. testfile.txt

Schritt 7: Führen Sie den Workflow aus und sehen Sie sich die Ergebnisse an

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, dass die entschlüsselte Datei angezeigt wird.

Um den Entschlüsselungs-Workflow auszuführen
  1. Öffnen Sie ein Befehlsterminal.

  2. 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 ists-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
  3. Führen Sie den Befehl pwd aus. Bei Erfolg gibt dieser Befehl Folgendes zurück:

    Remote working directory: /DOC-EXAMPLE-BUCKET/decrypt-user

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

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

    put testfile.txt.gpg
  5. 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.