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
11
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
12
Developer Knowledge MCP でサポート業務を改善する
cloudace
0
7
クラウドエース流AI駆動開発の実践
cloudace
0
15
ソフトウェア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
継続的なAIコスト最適化
bgpat
1
270
SREでアラート疲れを 解決しよう!
kairim0
1
220
購入ドメインでの課題と取り組み
ykagano
0
150
3つのアプローチで目指す チームを強くするAI駆動開発
thkt
0
140
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
160
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
160
MCPゲートウェイを作って運用してわかったこと — Agent時代の権限管理の現在地
mtpooh
10
3.3k
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
320
IoTデバイスを繋げるプロトコルMatterをAndroidで使用する方法
harutiro
0
120
今こそ知りたいAmplifyGen2
mkdev10
2
160
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
320
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
510
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Docker and Python
trallard
47
4.2k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
720
A Tale of Four Properties
chriscoyier
163
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
610
Crafting Experiences
bethany
1
380
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
780
4 Signs Your Business is Dying
shpigford
187
23k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
540
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
The Language of Interfaces
destraynor
162
27k
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.