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
17
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
12
新卒1年目からAI駆動開発:期待と現実、そして気づいたこと
cloudace
0
20
Developer Knowledge MCP でサポート業務を改善する
cloudace
0
12
クラウドエース流AI駆動開発の実践
cloudace
0
23
ソフトウェアDNAとクラウドエージェントのススメ
cloudace
0
170
今年の最難関と思われるProfessional Security Operations Engineer の概要
cloudace
0
36
Gemini CLI x Google Cloud Document MCP で作る Google Cloud クイズボット
cloudace
0
38
魅力的な LT を作りたい
cloudace
0
39
AIエージェントはqじゃなくてwqしよう
cloudace
0
38
Other Decks in Technology
See All in Technology
AIで選択肢が広がった組織設計の理想と現実
konifar
16
7.1k
reInvent2026stby LT00 "Change your life!"
shinichirokawano
1
480
AIに任せられるFlutterコードベースを作る 〜仕様をコードで表し、ハーネスで守る〜
myohei
1
570
データマネジメント × 法務で作りあげる、 freeeの新しいデータガバナンスへの軌跡
freee
PRO
2
580
OneLakeをデータソースにした AI Search(Foundry IQ)の ライフサイクル管理
ryuseiiida
0
200
Vibe-to-Spec開発_実践ガイド
happysamurai294
0
130
書き手が人でもAIでも正しくなる道、SREを埋め込んだDeveloper Platform / tech drivers day8
chmikata
4
850
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
0
120
ひとりで始めた AI駆動開発、チームに広げて何が変わったのか
kenichiodo
1
160
Patterns in AI Driven Software Development
akosma
PRO
0
370
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
110
Obsidian Vault Architectures
x5gtrn
PRO
0
210
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
230
A Modern Web Designer's Workflow
chriscoyier
699
190k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
560
Everyday Curiosity
cassininazir
0
380
Product Roadmaps are Hard
iamctodd
55
13k
Evolving SEO for Evolving Search Engines
ryanjones
0
340
Agile that works and the tools we love
rasmusluckow
331
22k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
320
HDC tutorial
michielstock
2
990
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Six Lessons from altMBA
skipperchong
29
4.5k
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.