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
Themen
- Schritt 1: Konfigurieren Sie eine Ausführungsrolle
- Schritt 2: Erstellen Sie einen verwalteten Workflow
- Schritt 3: Fügen Sie den Workflow einem Server hinzu und erstellen Sie einen Benutzer
- Schritt 4: Erstellen Sie ein PGP-Schlüsselpaar
- Schritt 5: Speichern Sie den privaten PGP-Schlüssel in AWS Secrets Manager
- Schritt 6: Verschlüsseln Sie eine Datei
- Schritt 7: Führen Sie den Workflow aus und sehen Sie sich die Ergebnisse an
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
durch Ihre eigenen Informationen. user input placeholders
DOC-EXAMPLE-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 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
-
Öffnen Sie die AWS Transfer Family Konsole unter https://console.aws.amazon.com/transfer/
. -
Wählen Sie im linken Navigationsbereich Workflows und dann Workflow erstellen aus.
-
Geben Sie die folgenden Details ein:
-
Geben Sie beispielsweise eine Beschreibung ein
Decrypt workflow example
. -
Wählen Sie im Abschnitt Nominale Schritte die Option Schritt hinzufügen aus.
-
-
Wählen Sie unter Schritttyp auswählen die Option Datei entschlüsseln und dann Weiter aus.
-
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.
-
-
Überprüfen Sie die Details für den Schritt. Wenn alles korrekt ist, wählen Sie Schritt erstellen.
-
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
als Beispiel verwendet. w-1234abcd5678efghi
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
-
Öffnen Sie die AWS Transfer Family Konsole unter https://console.aws.amazon.com/transfer/
. -
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.
-
Scrollen Sie auf der Detailseite für den Server nach unten zum Abschnitt Zusätzliche Details und wählen Sie dann Bearbeiten aus.
-
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 habenSchritt 2: Erstellen Sie einen verwalteten 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
-
-
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
-
Öffnen Sie die AWS Transfer Family Konsole unter https://console.aws.amazon.com/transfer/
. -
Wählen Sie im linken Navigationsbereich Server und dann den Server aus, den Sie für den Entschlüsselungsworkflow verwenden.
-
Scrollen Sie auf der Seite mit den Serverdetails nach unten zum Abschnitt Benutzer und wählen Sie Benutzer hinzufügen aus.
-
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
DOC-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.
-
-
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
-
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 -
Exportieren Sie den privaten Schlüssel, indem Sie den folgenden Befehl ausführen.
Ersetzen Sie ihn durch die E-Mail-Adresse, die Sie bei der Generierung des Schlüssels verwendet haben.user@example.com
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
-
Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS Secrets Manager Konsole unter https://console.aws.amazon.com/secretsmanager/
. -
Wählen Sie im linken Navigationsbereich Secrets aus.
-
Wählen Sie auf der Seite Secrets die Option Neues Geheimnis speichern aus.
-
Wählen Sie auf der Seite Geheimtyp auswählen für Geheimtyp die Option Anderer Geheimtyp aus.
-
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.
-
-
Wählen Sie Zeile hinzufügen und wählen Sie im Abschnitt Schlüssel/Wert-Paare die Registerkarte Schlüssel/Wert-Paare.
-
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
-
-
Wählen Sie Weiter aus.
-
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
, benennen Sie das Geheimnis wie folgt.s-11112222333344445
-
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
-
-
Wählen Sie Weiter und akzeptieren Sie dann die Standardeinstellungen auf der Seite „Rotation konfigurieren“. Wählen Sie anschließend Weiter.
-
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
Sie dasmarymajor@example.com
-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-StandardRFC4880 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
-
Öffnen Sie ein Befehlsterminal.
-
Führen Sie den folgenden Befehl aus und
ersetzen Sie ihn durch Ihren tatsächlichen Endpunkt undyour-endpoint
den privaten SSH-Schlüssel Ihres Benutzers:transfer-key
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
-
Führen Sie den Befehl
pwd
aus. Bei Erfolg gibt dieser Befehl Folgendes zurück:Remote working directory: /
DOC-EXAMPLE-BUCKET
/decrypt-userIhr Verzeichnis spiegelt den Namen Ihres Amazon S3 S3-Buckets wider.
-
Führen Sie den folgenden Befehl aus, um die Datei hochzuladen und die Ausführung des Workflows auszulösen:
put testfile.txt.gpg
-
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 dietestfile.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.