Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
GCSの署名付きURL、 URLを返せば終わりじゃなかった話
Search
Cloud Ace
October 08, 2026
Technology
8
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GCSの署名付きURL、 URLを返せば終わりじゃなかった話
Cloud Ace
October 08, 2026
More Decks by Cloud Ace
See All by Cloud Ace
いくつ知ってる? GoogleのAIたち
cloudace
0
6
新卒1年目からAI駆動開発:期待と現実、そして気づいたこと
cloudace
0
11
Developer Knowledge MCP でサポート業務を改善する
cloudace
0
6
クラウドエース流AI駆動開発の実践
cloudace
0
13
ソフトウェアDNAとクラウドエージェントのススメ
cloudace
0
150
今年の最難関と思われるProfessional Security Operations Engineer の概要
cloudace
0
32
Gemini CLI x Google Cloud Document MCP で作る Google Cloud クイズボット
cloudace
0
36
魅力的な LT を作りたい
cloudace
0
31
AIエージェントはqじゃなくてwqしよう
cloudace
0
35
Other Decks in Technology
See All in Technology
メルペイ 会計システム概要と歴史
mewuto
0
190
オンラインゲームのシステム全体像 - コロプラ 2026年度 新卒研修
colopl
0
900
[2026-09-30]ロックンロールは鳴り止まないっ - 信頼性かまってちゃん - 「データ駆動を投げ捨ててまで。」追いかける信頼性改善に向けた取り組みの話
tosite
0
210
Codex概要
ymiya55
0
460
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
660
The seven pitfalls of AI (revised version)
ufried
0
290
FinTech 1-2 : Overview of FinTech
ks91
PRO
0
150
全人類(ほぼ)AWS Organizations の上でAWSを利用している、その世界を知る話
htan
0
120
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
200
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
160
スキルを作る、その前に!複数人で使われるスキルを 作るためのプロセス
junkifurukawa
2
350
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Building AI with AI
inesmontani
PRO
1
1.3k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
320
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
540
Making the Leap to Tech Lead
cromwellryan
135
10k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
610
How to train your dragon (web standard)
notwaldorf
96
6.9k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Documentation Writing (for coders)
carmenintech
77
5.6k
Transcript
GCSの署名付き URL、 URLを返せば終わりじゃなかった話 クラウドエース株式会社 2026.04.14 クラウドエース株式会社|© 2026 Cloud Ace, Inc.
遠藤柊弥
自己紹介 遠藤 柊弥(Shuya Endo) クラウドエース株式会社 技術本部 第一開発部 Google Cloud上で動くWebアプリ開発に携わるフロントエンドエンジニアです! All
Certification Holders 2025受賞! 実務や趣味でGoogle Cloudを使いこなしたい! クラウドエース株式会社|© 2026 Cloud Ace, Inc. 1
背景:なぜ GCS(Google Cloud Storage)の署名付き URLを使った か • レポート機能でPDFとCSVを配布したかった • アクセス権のあるユーザーだけが取得できるようにしたかった
• そのため保存先はGCS、取得方法は署名付きURLにした クラウドエース株式会社|© 2026 Cloud Ace, Inc. 2
最初の想定 GCSのURLを返せば、あとはブラウザがうまくやってくれると思っていた 1. ユーザーがボタンをクリックする 2. BEがGCSの署名付きURLを返す 3. FEはそのURLを別タブで開く(プレビュー) かローカル保存(ダウンロード) する
これでプレビューも保存も、ほぼ終わりだと思っていた クラウドエース株式会社|© 2026 Cloud Ace, Inc. 3
どうなったか 1. プレビューを実行しようとしてもダウンロードになる! • Geminiの提案を受け、対策としてプレビューAPIヘッダーにContent-Disposition: inlineを付けて みたが効果なし → それだとBEからのAPIレスポンスに対する指定になるので意味がない •
FEが実際に開くのはAPIレスポンスではなく署名付きURL クラウドエース株式会社|© 2026 Cloud Ace, Inc. 4
補足:ブラウザ設定 ブラウザ設定次第では、PDFはダウンロードになる Chromeの場合: 設定 > プライバシーとセキュリティ > サイトの設定 > PDFドキュメント
クラウドエース株式会社|© 2026 Cloud Ace, Inc. 5
どうなったか 2. 適切なファイル名が表示されない! • プレビュー時のファイル名はPDF自体がメタデータで持っているタイトルが表示される • 一方、ダウンロード時のファイル名はGCSに保存されている名前がデフォルト値として表示される → BEでPDFを生成・保存する過程で適切なメタデータとファイル名をそれぞれセットするなどの処理 が必要
つまり、表示や保存の挙動は GCS側ではなく、アプリ側で設計する 必要があった クラウドエース株式会社|© 2026 Cloud Ace, Inc. 4
補足:ファイル名 プレビューのファイル名(左)と保存時のデフォルトファイル名(中央) ※ChromeのPDFビュアーの場合 クラウドエース株式会社|© 2026 Cloud Ace, Inc. 5
そこでどう整理したか 以下のような形に落ち着いた GCS + BE アクセス権を確認し、短い有効 期限の署名付き URLを発行す るだけ FE(プレビュー)
FE(ダウンロード) PDFを別タブで開くボタン は用 意したが、表示そのもの はブラ ウザ設定に依存すると割り 切った ファイル名の変更が難しい仕 様であったため、 FEでblob取 得+名前を付けて保存 するこ とでファイル名を設定した ※FE側で <a download="任意のファイル名"> を 作ってクリックさせる クラウドエース株式会社|© 2026 Cloud Ace, Inc. 6
まとめ 署名付きURLを利用する場合、どこで挙動が決まるかを先に整理する必要があ る • GCSの署名付きURLは、安全に配る仕組み としてはとても便利だった • ただし、どう表示されるか と どう保存されるか
は別で設計が必要だった • 表示・保存はGCS / BE / FEのどこで何を制御するか を考える必要がある クラウドエース株式会社|© 2026 Cloud Ace, Inc. 7
Thank you. クラウドエース株式会社|© 2026 Cloud Ace, Inc.