【大容量でも問題なし】メールでのファイル共有はS3で解決【コストも安い】

Gmailでファイル共有しようと思ったら突然出てきた「Blocked for security reasons!」というエラー。
日本語表記だと「セキュリティ上の理由によりブロックされました」ですね。

調べてみるとZipファイルの中にZipファイルがあったり、要はフィッシングやマルウェア対策なんだろうという感じです。

アカウントを保護するため、Gmail では特定の形式のファイルは添付できません。絶えず変化する有害なソフトウェアに対応するため、添付できないファイル形式は頻繁に更新されます。以下に例を示します。

.ade、.adp、.apk、.appx、.appxbundle、.bat、.cab、.chm、.cmd、.com、.cpl、.dll、.dmg、.exe、.hta、.ins、.isp、.iso、.jar、.js、.jse、.lib、.lnk、.mde、.msc、.msi、.msix、.msixbundle、.msp、.mst、.nsh、.pif、.ps1、.scr、.sct、.shb、.sys、.vb、.vbe、.vbs、.vxd、.wsc、.wsf、.wsh

Gmailヘルプサイトより

ふむふむ、と理由は理解した。
だけど現実問題どうするんじゃい!という気持ちは置き去りです。

Googleが提示する解決策はもちろんのことGoogleDrive(グーグルドライブ)を使いなさいということです。
そりゃ当然。

だけどさ、組織に属してたりすると共有設定云々でそれも難しかったりするわけです。
会社のポリシーに穴をあけるとなればそれはそれで申請フローが必要だったりで。

なので今回はこれを解消するための1つの手段として

AWSのS3

を使うことを提案します。
ただS3ではなく署名つきURLを使うというのが今回のポイントです。

※AWSアカウントが必要になるのでそこだけは注意してください。

AWS S3 署名付きURL

まずは何が美味しいのか、そのポイントを整理しておきましょう。

S3 署名付きURLの推す理由

・安価(最初の 50 TB/月 0.025USD/GB)

・セキュリティも万全

・覚えてしまえば簡単

S3はフルオープンから完全クローズドな状態まで設定が可能な万能かつ安価なストレージなわけです。
例え社内だけのクローズドな状態であっても、今回の署名付きURLを使うことで、一時的に外部の一般ユーザにファイルを共有することができます。

さて、では早速設定方法です。

署名付きURLの設定

S3バケットの作り方は通常と何ら変わりません。サクッとバケットを作っちゃいましょう。

今回は試験的に作るので全てデフォルト状態で問題ありません。

無事にバケットが作り終えたら、適当にオブジェクト(ディレクトリ)を作って適当にファイルをぶち込みます。そして、そのファイルを選択してアクションから「署名付きURLで共有」をクリックします。

署名付きURLの設定画面がモーダルで開きますので、有効期限を設定します。
共有したURLもこの期限を過ぎれば無効になるので安心です。

ここまでの設定が完了してURLを作成したらクリップボードにURLがコピーされるので、適切にメール文面やテキストファイルに貼り付けておきましょう。
一部削ってますが以下のようなURLになっているはずです。
最後に「Signature=」とあるようにちゃんとAWSによる署名が成されてますね。

https://xxxxx-xxxxx-bucket.s3.ap-northeast-1.amazonaws.com/xxxxx/%E3%83%AAMPA-%E8%A9%A6-0229.zip?response-content-disposition=inline&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEEcaDmFwLW5vcnRoZWFzdC0xIkcwRQIhAKTACyWwV2U4yrIZjZ5VleubfATTbe%2FToyPSwjwHnoriAiAbOQaKRNURqayHa....&X-Amz-Signature=8605efed072a557ff1585d0d84ef36ff13b1b91725b843295453538442f34795

本当にこのURLを開けばファイルがダウンロード可能かどうかはご自身以外の誰かに共有して確認してみましょう。
S3でデフォルトで生成されるURL、署名付きURLを他人に共有してみると良いです。
パブリックアクセスを全てブロックしている場合、デフォルトの方のURLは自分が使っているブラウザでしかダウンロードできないはずです。
署名付きURLの方は自分でも他人でも有効期限内であればダウンロードが可能なはずです。

確認がとれたらあとはメールに署名付きURLを文面またはテキストファイルで貼り付けます。
誤送信リスクなどのミスが怖い、セキュリティ万全にしたい、という方はさらにテキストファイルをZip化してパスワード付きなどにすれば良いと思います。

大容量のファイル共有サービスって多くありますが、S3は中でも群を抜いて安価です。
AWSアカウントさえ作っちゃえば簡単にできる設定内容なので、これを機にAWSをおさわりする機会になるのも良きかなと思われます。

では、良きAWSライフを。

良きS3ライフを。