Amazon QuickSight の S3 データセット作成時にマニフェストの URL 指定で署名付き URL は使用できますか
困っていた内容
Amazon QuickSight で S3 データセットを作成する際、セキュリティを考慮してマニフェストファイルに署名付き URL を使用したいと考えていました。しかし、実際に署名付き URL が使用できるかどうか情報がありませんでした。
背景
背景として、QuickSight のアセットバンドルエクスポート機能を使用したダッシュボードの移行を検討していました。
Amazon QuickSight アセットバンドルエクスポートに対応していないデータソースについて調べてみた でも検証されているように、S3 の CSV ファイルを使用する場合でも、マニフェストファイルの指定方法によってアセットバンドルエクスポートの対応可否が決まります。
- ローカルアップロードしたマニフェストファイル:❌ 非対応
- URL 指定したマニフェストファイル:✅ 対応
将来的なダッシュボード移行や、バックアップ目的でのエクスポートを考慮して、マニフェストファイルを外部からアクセス可能な URL で指定したいという要件がありました。しかし、セキュリティの観点から署名付き URL の使用を検討しました。
検証結果
Amazon QuickSight の S3 データセット作成時にマニフェストの URL 指定で署名付き URL は使用できません。
検証内容
S3 のデータセット作成はここのことです。
実際に署名付き URL を使用して検証したところ、以下のようなエラーが発生しました。
どう対応すればいいの
結局、マニフェストファイルをパブリックにアクセス可能にする必要があります。簡単な対応方法は以下の通りです。
- S3 バケットをパブリックアクセス許可に設定する
- CloudFront 経由で S3 に保存したマニフェストをパブリックに公開する
私は S3 バケットをパブリックアクセス設定にして、データセット作成時のみマニュフェストファイルを一般公開した状態にしました。
おわりに
お試しで QuickSight を触るときファイルを直接アップロードや、S3 バケット指定のデータセットが一番手軽な方法です。後々も使う予定があるものは、S3 にファイルを保存して、Athena を介したデータセットにしておくのが無難かなという気がします。