【すーぱべーす】

Supabase とは?

最終更新:
💡 Postgresを中心に、アプリの裏側を作る

Postgresを中心に、認証・ファイル保存・リアルタイム機能等を提供するバックエンド基盤。APIキーと権限、自前運用との違いを解説します。

📌 このページのポイント
Supabase:アプリの裏側を作る基盤Web・モバイルアプリSupabaseの機能(概要)PostgresデータベースAuth認証Storageファイル保存Realtime変更通知・配信等Edge Functionsサーバー側コードキーの種類・権限・RLSの条件を確認マネージドと自前運用の責任は異なる
アプリが使う機能の概要で、実行順や内部通信の経路を表していません。公開用キーと秘密キーを区別し、高権限の秘密キーはブラウザーや配布アプリへ含めません。
ひよこ ひよこ
Supabaseは、データベースなの?
ペンギン先生 ペンギン先生
各プロジェクトにPostgresのデータベースを提供する基盤だよ。それに認証やファイル保存など、アプリのバックエンドに必要な機能を組み合わせられる。データベースだけの名前ではないんだ。
ひよこ ひよこ
認証も作れる?
ペンギン先生 ペンギン先生
Supabase Authでログインなどを扱えるよ。Storageはファイル保存、Realtimeはデータの変更通知や配信など、Edge Functionsはサーバー側のコード実行を扱う。目的に合わせて使う機能を選ぶんだ。
ひよこ ひよこ
APIキーがあれば、誰でも同じデータを見られる?
ペンギン先生 ペンギン先生
キーの種類と権限によるよ。公開用のpublishable keyはアプリ側で使えるけれど、それ自体が利用者を識別するわけではない。ログインした利用者の情報と、DBの権限やRLSのルールでアクセスを制御するんだ。
ひよこ ひよこ
RLSって、何をするの?
ペンギン先生 ペンギン先生
Row Level Securityで、行ごとのアクセス条件を設定する仕組みだよ。たとえば自分の投稿だけを編集する条件などを定める。キーを貼るだけで安全な条件が完成するわけではなく、許可・拒否の動作も確認するんだ。
ひよこ ひよこ
自分のサーバーでも運用できる?
ペンギン先生 ペンギン先生
自前で動かす方法もあるよ。ただしマネージド版と全機能が同じではなく、更新、バックアップ、監視なども自分で担う。運用を含めた負担を比較することが大切だね。
もっと詳しく知りたい人へ

secret keyとpublishable keyは、どちらも画面に埋め込んでよい?

いいえ。secret keyは権限が高く、RLSを迂回するため、管理下のサーバー側などで扱います。ブラウザーや配布するアプリへ含めません。従来のanonとservice_roleは、それぞれ公開用と高権限の旧形式です。

オープンソースだから、自前運用は無料で簡単?

サーバー費用や保守の作業は別に必要です。自前運用では可用性、DB管理、セキュリティ更新、バックアップ等を担当します。ローカル開発用の環境を、そのまま公開する意味でもありません。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Supabase」って出てきたら「Postgresを中心に、アプリの裏側の機能を提供する基盤」と思えばだいたいOK!
📖 おまけ:英語の意味
「Supabase」 = バックエンド基盤の名称
💬 データベース、認証、ファイル保存などを組み合わせてアプリを開発するための製品・サービス名です。

参考資料

← 用語集にもどる