AWS Transcribeジョブ結果ファイルのセキュリティについて

AWS運用自動化サービス「Cloud Automator」

AWS Transcribeは音声ファイルを文章に書き起こしてくれるAWSサービスです。
残念ながら現在は日本語には対応していませんが、英語(US/AU/GB)、フランス語、スペイン語に対応しています。

AWS Transcribeに対してTranscribeジョブを投入すると、非同期で処理を実施してくれます。
ジョブの実行結果を問い合わせ、COMPLETEDであれば書き起こした結果ファイルがS3上に配置されており、そのパスが手に入るというわけです。

結果ファイルには誰がアクセスできるのか

ジョブ実行結果を問い合わせると以下のように、結果ファイルのS3パスを示すURLが手に入り、そこからDLできます。

「”TranscriptFileUri”: 」の値が、結果ファイルのパスにあたります。
ん?このファイルってグローバルからアクセス可能なの?と一瞬思いましたが、これは署名付きURLなのです。

参考 S3にて Pre-Signed URLを発行する
http://blog.serverworks.co.jp/tech/2017/07/04/s3_presign/

つまりオブジェクトがパブリックに公開されているわけではないのですが、このURLを知っている人ならばアクセスできる、ということになります。
ただし署名付きURLには有効期限が設定されており(2018/11時点で900秒)この期限が過ぎるとURLは無効になります。クエリストリングス内の X-Amz-Expires=900 という部分が期限です(秒数)。

・結果ファイルには署名付きURLでのみアクセスできる
・署名付きURLの取得はIAMで担保されている

IAM権限と署名付きURL取得後の扱いに十分注意すれば、AWS Transcsribeをセキュアに利用することができます。

AWS運用自動化サービス「Cloud Automator」