X公式アカウント @Arctanote

Supabase の Data API と Edge Functionsまとめ

Supabase の Data API と Edge Functionsまとめ

Supabase の Data API と Edge Functions — セキュアな設計はどちらを選ぶべきか 「2話でAIと会話した記事のまとめ」 --- はじめに Supabase を使った Web アプリ開発では、便利さの反面、どこまでをフロントに公開するかという設計判断が必ず発生する。特に Data API...

Supabase の Data API と Edge Functions — セキュアな設計はどちらを選ぶべきか 「2話でAIと会話した記事のまとめ」 --- はじめに Supabase を使った Web アプリ開発では、便利さの反面、どこまでをフロントに公開するかという設計判断が必ず発生する。特に Data API と Edge Functions、この 2 つの使い分けは、セキュリティ要件が厳しい業務システムにおいて避けて通れない論点である。 本記事では、セキュアなシステム設計という観点から、この 2 つをどう使い分けるべきかを整理する。結論から言えば、セキュリティを最優先する業務システムでは、Data API ではなく Edge Functions に寄せるべきである。その理由と、そのために必要な設定までを順に説明する。 なお、議論の前に「API」「REST」「Edge Function」といった言葉の定義が曖昧だと、議論が噛み合わない。そのため、まずは言葉の整理から始める。 --- 言葉の定義を固める API とは何か API は、あるソフトウェアの機能を、別のソフトウェアが決められた方法で利用するための外部仕様・接点である。 混同されやすいが、次の点を押さえておきたい。 API は URL そのものではない API はサーバーコードそのものでもない API は外から使うためのインターフェースである REST とは何か REST は、Roy Fielding が提唱した制約の集合を持つアーキテクチャスタイルである。HTTP で呼べれば REST、というわけではない。 ただし本記事では、REST の制約を満たしているかどうかの分類には深入りしない。現代の業務システム設計において、REST の学術的定義に該当するかどうかを議論することは、優先度が高いとは言えないからである。重要なのは、処理単位の設計、構造露出、認可設計であり、REST かどうかの分類ではない。 Supabase Edge Functions と Edge Function の違い ここは混同されや...