Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

ファイルを復号するためのマネージドワークフローの設定

フォーカスモード
ファイルを復号するためのマネージドワークフローの設定 - AWS Transfer Family

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

このチュートリアルでは、復号化ステップを含む管理ワークフローを設定する方法を示します。このチュートリアルでは、暗号化されたファイルを Amazon S3 バケットにアップロードし、同じバケット内の復号されたファイルを表示する方法も示しています。

注記

AWS ストレージブログには、ファイルの暗号化と復号化、ファイルの暗号化と復号化を PGPと で AWS Transfer Family行う方法を説明する投稿があります。

ステップ 1:実行ロールを設定する

Transfer Family がワークフローの起動に使用できる AWS Identity and Access Management (IAM) 実行ロールを作成します。実行ロールを作成するプロセスについては、IAM ワークフローの ポリシーで説明しています。

注記

実行ロールを作成する際、信頼関係を確立するにはで説明されているように、実行ロールと Transfer Family の間に信頼関係を確立してください。

以下の実行ロールポリシーには、このチュートリアルで作成するワークフローを正常に実行するために必要なすべての権限が含まれています。このポリシーの例を実行するには、user input placeholders をユーザー自身の情報に置き換えます。DOC-EXAMPLE-BUCKETを暗号化ファイルをアップロードするAmazon S3バケット名に置き換えます。

注記

すべてのワークフローに、この例に記載されているすべての権限が必要なわけではありません。特定のワークフローのステップの種類に基づいて権限を制限できます。定義済みの各ステップタイプに必要な権限については、事前定義されたステップを使用するで説明しています。カスタムステップに必要な権限については、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:::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/*" } ] }

ステップ 2: マネージドワークフローを作成する

次に、復号化ステップを含むワークフローを作成する必要があります。

復号化ステップを含むワークフローを作成するには
  1. で AWS Transfer Family コンソールを開きますhttps://console.aws.amazon.com/transfer/

  2. 左のナビゲーションペインで「ワークフロー」を選択し、「ワークフローの作成」を選択します。

  3. 次の詳細情報を入力します。

    • Decrypt workflow exampleなどの説明を入力します。

    • [ノミナルステップ] セクションで [ステップを追加] を選択します。

  4. [ステップタイプを選択][ファイルを復号] を選択し、[次へ] を選択します。

  5. [パラメータの設定] ダイアログボックスで、以下を指定します。

    • decrypt-stepなど、わかりやすいステップ名を入力します。ステップ名にはスペースを使用できません。

    • [復号されたファイルの宛先] には、Amazon S3 を選択します。

    • 送信先バケット名 で、ステップ 1 で作成したIAMポリシーDOC-EXAMPLE-BUCKETで として指定したのと同じ Amazon S3 バケットを選択します。

    • [宛先キープレフィクス] には、復号したファイルを保存するプレフィックス(フォルダ)の名前を、保存先バケットに入力します(例:decrypted-files/)。

      注記

      プレフィックスの末尾には必ずスラッシュ (/) を追加してください。

    • このチュートリアルでは、[既存を上書き] はオフのままにしておきます。この設定をクリアすると、既存のファイルと同じ名前のファイルを復号しようとしても、ワークフロー処理は停止し、新しいファイルは処理されません。

    次へ」を選択して、次の画面に移動します。

  6. ステップの詳細を確認します。すべてが正しい場合は、[ステップを作成] を選択します。

  7. ワークフローに必要な復号化ステップは 1 つだけなので、追加のステップを設定する必要はありません。[ワークフローの作成] を選択して新しいワークフローを作成します。

新しいワークフローのワークフロー ID を書き留めます。この ID は次のステップで必要となります。このチュートリアルでは、w-1234abcd5678efghi をワークフロー ID の例として使用します。

ステップ 3: サーバーにワークフローを追加してユーザーを作成する

復号化ステップを含むワークフローができたので、そのワークフローを Transfer Family サーバーに関連付ける必要があります。このチュートリアルでは、ワークフローを既存のTransfer Family サーバーに接続する方法を示します。または、ワークフローで使用する新しいサーバーを作成することもできます。

ワークフローをサーバーにアタッチしたら、サーバーSFTPに を使用できるユーザーを作成し、ワークフローの実行をトリガーする必要があります。

Transfer Family サーバーを設定してワークフローを実行するには
  1. で AWS Transfer Family コンソールを開きますhttps://console.aws.amazon.com/transfer/

  2. 左ナビゲーションペインで、[サーバ] を選択し、リストからサーバを選択します。このサーバーがSFTPプロトコルをサポートしていることを確認します。

  3. サーバーの詳細ページで下にスクロールして [Additional details] (その他の詳細) セクションで [Edit] (編集) を選択します。

  4. [詳細の編集] ページの [マネージドワークフロー] セクションで、ワークフローを選択し、対応する実行ロールを選択します。

  5. ページの最下部までスクロールして、「保存」を選択して変更を保存します。

使用しているサーバーの ID を書き留めます。PGP キーの保存に使用する AWS Secrets Manager シークレットの名前は、サーバー ID に一部基づいています。

ワークフローをトリガーできるユーザーを追加するには
  1. で AWS Transfer Family コンソールを開きますhttps://console.aws.amazon.com/transfer/

  2. 左ナビゲーションペインで、[サーバー] を選択し、復号ワークフローに使用しているサーバーを選択します。

  3. サーバーの詳細ページで、「ユーザー」セクションまでスクロールダウンし、「ユーザーの追加」を選択します。

  4. 新しいユーザーに、次の詳細情報を入力します。

    • [Username] (ユーザーネーム) に、decrypt-user と入力します。

    • [ロール] で、サーバーにアクセスできるユーザーロールを選択します。

    • [ホームディレクトリ] には、以前に使用した Amazon S3 バケット (例:DOC-EXAMPLE-BUCKET) を選択します。

    • SSH パブリックキー の場合、所有しているプライベートキーに対応するパブリックキーに貼り付けます。詳細については、「サービスマネージドユーザーのSSHキーを生成する」を参照してください。

  5. [追加] を選択して新しいユーザーを保存します。

このサーバーの Transfer Family ユーザーの名前を書き留めます。シークレットの一部はユーザーの名前に基づいています。わかりやすくするために、このチュートリアルではサーバーのどのユーザーも使用できるデフォルトのシークレットを使用しています。

ステップ 4: PGPキーペアを作成する

サポートされているPGPクライアントの 1 つを使用して、PGPキーペアを生成します。このプロセスについては、PGP キーの生成 に説明されています。

PGP キーペアを生成するには
  1. このチュートリアルでは、 gpg (GnuPG) バージョン 2.0.22 クライアントを使用して、 を暗号化アルゴリズムRSAとして使用するPGPキーペアを生成できます。このクライアントでは、以下のコマンドを実行して E メールアドレスとパスフレーズを指定します。任意の名前またはメールアドレスを使用できます。使用する値は、チュートリアルの後半で入力する必要があるため、忘れないようにしてください。

    gpg --gen-key
    注記

    GnuPG バージョン 2.3.0 以降を使用している場合は、gpg --full-gen-key を実行する必要があります。作成するキーのタイプの入力を求められたら、 RSAまたは を選択しますECC。ただし、 を選択した場合はECC、必ず次のいずれかを選択してください。NIST または BrainPool 楕円曲線。選択しない Curve 25519.

  2. 次のコマンドを実行して、プライベートキーをエクスポートします。user@example.comは、キーを生成したときに使用したメールアドレスに置き換えます。

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

    このコマンドは秘密鍵をworkflow-tutorial-key.pgpファイルにエクスポートします。出力ファイルには任意の名前を付けることができます。プライベートキーファイルは、 AWS Secrets Managerに追加した後で削除することもできます。

ステップ 5: PGPプライベートキーを に保存する AWS Secrets Manager

ワークフローがアップロードされたファイルに対して復号ステップを実行したときにワークフローが秘密鍵を見つけることができるように、秘密鍵を非常に特殊な方法でSecrets Managerに保存する必要があります。

注記

Secrets Manager にシークレットを保存すると、 AWS アカウント に料金が発生します。料金については、「AWS Secrets Manager 料金表」を参照してください。

Secrets Manager にPGPプライベートキーを保存するには
  1. にサインイン AWS Management Console し、 で AWS Secrets Manager コンソールを開きますhttps://console.aws.amazon.com/secretsmanager/

  2. 左側のナビゲーションペインで [サーバー] を選択します。

  3. [シークレット]ページで、[新しいシークレットの保存]を選択します。

  4. [シークレットタイプの選択] ページの[シークレットタイプ] で[その他のシークレットタイプ] を選択します。

  5. [キー/値のペア] セクションで、[キー/値] タブを選択します。

    • キーPGPPrivateKeyと入力します。

    • 」 — 秘密鍵のテキストを値フィールドに貼り付けます。

  6. [行を追加] を選択し、[キー/値のペア] セクションで [キー/値] タブを選択します。

  7. [Next (次へ)] を選択します。

  8. [シークレットの設定] ページで、シークレットの名前と説明を入力します。このチュートリアルでは、すべてのユーザーが使用できるデフォルトシークレットを作成できます。サーバー ID が であると仮定する s-11112222333344445、シークレットに名前を付けますaws/transfer/s-11112222333344445/@pgp-defaults-11112222333344445を Transfer Family サーバーの ID に置き換えます。シークレットの説明を入力します。

    注記

    前に作成したユーザー専用のシークレットを作成するには、シークレットaws/transfer/s-11112222333344445/decrypt-userに名前を付けます。

  9. [次へ] を選択し、[ローテーションの設定] ページのデフォルトを受け入れます。次いで、[次へ] を選択します。

  10. [レビュー] ページで [ストア] を選択し、シークレットを作成して保存します。

Secrets Manager にPGPプライベートキーを追加する方法の詳細については、「キーの保存 AWS Secrets Manager に使用するPGP」を参照してください。

ステップ 6: ファイルを暗号化する

gpgプログラムを使用して、ワークフローで使用するファイルを暗号化します。以下のコマンドを実行してファイルを暗号化する:

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

このコマンドを実行する前に、以下のことに注意する:

  • -r 引数については、 をPGPキーペアの作成時に使用した E メールアドレスmarymajor@example.comに置き換えます。

  • --openpgp フラグはオプションです。このフラグは、暗号化されたファイルを OpenPGP RFC4880 標準に準拠させます。

  • このコマンドは、testfile.txtと同じ場所にtestfile.txt.gpgという名前のファイルを作成します。

ステップ 7: ワークフローを実行して結果を表示する

ワークフローを実行するには、ステップ 3 で作成したユーザーを使用して Transfer Family サーバーに接続します。そして、「ステップ2.5、保存先パラメーターの設定」で指定したAmazon S3バケットで、復号されたファイルを見ることができます。

復号化ワークフローを実行するには
  1. コマンドターミナルを開きます。

  2. 次のコマンドを実行し、 your-endpointを実際のエンドポイントに、 をユーザーのSSHプライベートキーtransfer-keyに置き換えます。

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

    例えば、秘密鍵が~/.ssh/decrypt-userに保存されていて、エンドポイントがs-11112222333344445.server.transfer.us-east-2.amazonaws.comの場合、コマンドは次のようになります。

    sftp -i ~/.ssh/decrypt-user decrypt-user@s-11112222333344445.server.transfer.us-east-2.amazonaws.com
  3. pwd コマンドを実行します。成功すると、このコマンドは以下を返す:

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

    ディレクトリには、Amazon S3 バケットの名前が反映されます。

  4. 次のコマンドを実行してファイルをアップロードし、ワークフローを実行するようにトリガーします。

    put testfile.txt.gpg
  5. 復号されたファイルの保存先として、ワークフローを作成したときにdecrypted-files/フォルダーを指定しました。これで、そのフォルダーに移動して内容を一覧表示できます。

    cd ../decrypted-files/ ls

    成功すると、lsコマンドはtestfile.txtファイルを一覧表示します。このファイルをダウンロードして、以前に暗号化した元のファイルと同じかどうかを確認できます。

プライバシーサイト規約Cookie の設定
© 2024, Amazon Web Services, Inc. or its affiliates.All rights reserved.