Blobストレージ、URLが漏れたらどうしますか
Vercel Blob(Vercelが提供するオブジェクトストレージサービスで、画像や動画、PDFなどのファイルを保存・配信できる仕組みです)は便利な反面、URLさえ知っていれば誰でもアクセスできてしまいます。
スクレイパー(自動でWebサイトのデータを収集するプログラム)に大量ダウンロードされたり、想定外の地域から高額な転送量を食われたりする心配は常にありました。
これまでBlobそのものにアクセス制御をかける標準機能はなく、独自にプロキシを立てるなどの回避策が必要でした。この状況に対して、Vercelが2026年7月24日付のchangelogでWAF for Blobのベータ公開を発表しています(出典: Vercel公式changelog)。
この記事でわかること
- Vercel WAF for BlobがBlobストアに何をもたらすのか
- Deny/Challenge/Rate limitという3つのルールの違い
- betaの現時点での制約と、実運用で注意すべき点
結論: ダッシュボードのスイッチ一つで適用完了
Vercel WAF for Blobは、既存のデプロイ保護と同じルールをBlobトラフィックにも適用できる機能です。
コード変更もBlobのURL変更も不要で、Blobストアの設定画面でスイッチをオンにするだけで有効になります(出典: Vercel公式changelog)。
WAF for Blobの仕組み
この節の結論: BlobはすでにVercelのCDN経由で配信されているため、新しい経路を作らず「保護のオンオフ」だけで済みます。
Vercelのchangelogによれば、すべてのBlobはすでにVercelのCDN(Content Delivery Network、世界各地のサーバーからコンテンツを配信する仕組み)を通って配信されています。
そのため保護を有効にすることは「新しいプロキシを挟む」のではなく、既存の配信経路に「ルールを一枚重ねる」イメージに近いです。
たとえるなら、すでにある玄関に鍵を後付けするようなもので、家の間取り(URLやコード)を変える必要はありません。
3つの主要ルール
この節の結論: 用途によってDeny・Challenge・Rate limitを使い分けます。
ルールはエッジ(ユーザーに近い場所にあるサーバー)で評価され、IPアドレス・国・パスなどの条件でマッチさせられます(出典: Vercel公式changelog)。主なルールは次の3つです。
| ルール | 挙動 | 用途の例 |
|---|---|---|
| Deny | 403を返しリクエストを早期に停止、データ転送は発生しない | 特定IPやスクレイパーの完全ブロック |
| Challenge | 標準のブラウザ認証チャレンジを提示、失敗すればブロック | 人間のブラウザ経由アクセスのみ許可したい場合 |
| Rate limit | 制限を超えたクライアントに429を返す | 高コストなアセットの過剰ダウンロード防止 |
このほかRedirectとlogもデプロイトラフィックと同様に動作します。ただしOWASP Core Ruleset(動的なアプリケーション攻撃を検知する定番ルールセット)は非対応です。
changelogでは「動的アプリケーショントラフィックを対象としたルールであり、オブジェクト配信には合わない」と説明されています(出典: Vercel公式changelog)。
セットアップ手順
この節の結論: 手順はダッシュボードから数クリックで完了します。
設定はシンプルで、次の流れで行います。
- Blobストアを開く
- Settingsを選択
- 「Protect your store」をクリック
これだけで、チーム内の共有プロジェクトであるvercel-blob-default-projectに接続され、標準のルールビルダーでルールを作成すると即座に反映されます(出典: Vercel公式changelog)。
beta中に知っておきたい制約
この節の結論: 1つのルールセットが全ストアに適用される点と、Challengeルールがサーバー処理をブロックしうる点は要注意です。
現時点のbetaでは、以下の制約があります。
- ルールセットは1つで、保護している全ストアに共通適用される(ストアごとの個別設定は不可)
- セットアップはダッシュボードからのみ可能
- Challengeはブラウザでの解決が前提のため、サーバーサイドの
@vercel/blobからのリクエストがChallengeルールにマッチすると、ブロックされてしまう
このため、changelogでは「Challengeルールはブラウザトラフィック向けに使うこと」と明記されています(出典: Vercel公式changelog)。サーバー間通信でBlobを取得しているアプリでは、この点を踏まえたルール設計が必要そうです。
日本の開発者にとっての意味
この節の結論: 画像・動画配信を伴うサービスほど恩恵が大きいと考えられます。
ECサイトの商品画像、SaaSのユーザーアップロードファイル、動画配信サービスのサムネイルなど、Blobを使ったサービスは国内でも増えています。
これまでは「URLを知られたら防ぎようがない」状態だったものに、コード変更なしでレート制限やIPブロックをかけられるのは実装コストの面で大きいメリットです。
とくにスクレイパー対策やジオ制限(地域に基づくアクセス制限)が必要なサービスでは、独自プロキシを組む工数を省ける可能性があります。
ただしbetaゆえの制約(ルールセットが全ストア共通、Challengeがサーバーリクエストを誤ブロックしうる)は、本番導入前に検証しておく方が安全だと考えられます。
まとめ
Vercel WAF for Blobは、既存のWAFルールをBlobストアにそのまま持ち込める機能としてbeta公開されました。
コード変更不要・ダッシュボードのスイッチのみという手軽さは魅力ですが、ルールセットの粒度やChallengeの挙動には現時点で制約があります。
Blobを使ったファイル配信を運用している方は、まずbeta環境で自分のユースケースに合うか検証してみるのが良さそうです。詳細な設定項目は公式ドキュメントを参照することをおすすめします(出典: Vercel公式changelog)。