AWS
S3
aws-cli

S3のsinged url を使えば、zipパスワード後送なんて要らん

メールにzipファイルを添付して、そのzipパスワードを別メールで後送するなんてシーンがよくありますね。あれ面倒な上に結局は添付ファイルもパスワードも両方間違った宛先に送ったらアウトです。

なので、メールん添付なんてやめて、S3の署名付きURL( signed url )をつかって、期間限定URLを送って差し上げましょう。

手順

いきなり手順です。Mac上のbashで実行しています。
aws cli がインストールされていることが前提です。

# アクセスキーと秘密キーとリージョンを環境変数にセット
export AWS_ACCESS_KEY_ID=xxx
export AWS_SECRET_ACCESS_KEY=xxx
export AWS_DEFAULT_REGION=ap-northeast-1

# アップロードしたいバケットとディレクトリがあるかどうか確認
aws s3 ls s3://bucketname/directoryname/

# ローカルファイルをアップロード
aws s3 cp filename s3://bucketname/directoryname/

# 一週間の署名をつける(標準出力に署名付きURLが表示されるので手動でコピー) 
aws s3 presign  --expires-in 604800 s3://bucketname/directoryname/filename

以上をペースト用の雛形としておいて、filename の部分だけを差し替えてターミナルで実行すれば、OK。あとは署名付きURLをメール本文にペーストです。

上記はbashの例なので、Windowsの場合は、環境変数のセットをWindows用に直してください。

署名付きURLのメリット

間違った宛先に送っても開封するまでに対応が可能

間違った宛先に送ったあとでも、S3上のファイルを削除すれば、相手は見れません。
(即DLされるとアウトですが)

期間が限定されているのがセキュア

上記は一週間の期間限定URLです。WebサーバにおいてBASIC認証で共有なんて手段に比べると、自動的に非公開になるという安心感はたまりません。

S3 という公認のセキュアなストレージ

本件にかぎらず、AWSをつかうと、大事な情報はS3に保持されます。AWSをセキュアな用途に使い始めているならS3は大事なデータをおいていい場所という扱いになるでしょう。

別解 CyberDuckをつかう

FTPクライアントとして有名なCyberDuckですが、S3クライアントとしても使えます。署名付きURLもファイルの右クリックから作れるので、上記の目的は達成できます。ただしUIの反応が遅く作業ミスに繋がりそうで、上記のコマンドライン上での作業で業務を行っています。

今後の展開

Windowsユーザー向けに、batファイルにして、ファイルをドラッグ&ドロップするだけで、やりとりできるというのもあり。