メールに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ファイルにして、ファイルをドラッグ&ドロップするだけで、やりとりできるというのもあり。