ClearedToShip

Supabase は安全ですか? Supabase アプリを安全にする方法

Supabase は設計上安全です。ただし、行レベルセキュリティを有効化し、正しく設定した場合に限ります。露出のほとんどは、このステップを飛ばすことから生じます。

結論から言うと

Supabase はよく作られた安全なプラットフォームです。ほぼすべての Supabase データ漏洩は、たった 1 つのミスにたどり着きます。行レベルセキュリティ(RLS)が無効、または緩すぎる書き方になっていて、公開 anon キーでテーブル全体を読み取れてしまうことです。anon キーは公開されることが前提です。安全性は RLS から来るのであって、キーを隠すことから来るのではありません。

Supabase は安全で、しっかり設計されたプラットフォームです。anon(公開)キーはフロントエンドに露出することを前提に設計されています。ほぼすべての Supabase データ漏洩は、たった 1 つのミスに帰着します。行レベルセキュリティ(RLS)が無効、または緩すぎる書き方になっていて、anon キーを持つ人なら誰でもテーブル全体を読み取れてしまうことです。あなたを守るのは RLS ポリシーであって、anon キーを秘密にすることではありません。ローンチ前に 1 つだけやるなら、ユーザーデータを保持するすべてのテーブルで RLS が有効になり、正しくスコープされていることを確認してください。

Supabase セキュリティ早わかり

プラットフォーム種別
オープンソースのバックエンド(Postgres、認証、ストレージ)
最もよくあるリスク
RLS が無効、または「すべて許可」に設定
anon キーは秘密ですか?
いいえ。設計上公開され、RLS で制御します
service-role キー
絶対にブラウザに到達させてはいけません。RLS を回避します
チェック方法
無料 Supabase RLS チェッカーを実行

Supabase で最もよくあるセキュリティリスク

あるテーブルで RLS が無効

RLS が有効になっていないテーブルは、anon キーを持つ人なら誰でも完全に読み取り(多くの場合書き込みも)できます。その anon キーはフロントエンドと一緒に配布されます。

緩すぎるポリシー

「すべて許可」や「true」といったポリシーは、技術的には RLS を有効にしながら、データを完全に開いたままにします。RLS が「オン」であることは、RLS が「正しい」ことと同じではありません。

service-role キーがクライアントに

service-role キーは RLS を完全に回避します。これがブラウザや公開リポジトリに到達すると、データベース全体が露出します。

Supabase アプリを安全にする方法

60 秒で Supabase アプリをチェック

デプロイ済みの URL を貼り付けて無料のローンチ準備スキャンを実行し、ローンチ前に人間のレビュー付き・保険付きのクリアランスを取得しましょう。

無料、カード不要。セキュリティヘッダーの評価をその場で画面に表示し、その後、人間がレビューしたローンチ準備レポートをメールでお送りします。

Supabase セキュリティに関するよくある質問

Supabase の anon キーを露出させても安全ですか?
はい。anon キーは公開される設計で、フロントエンドと一緒に配布されます。あなたを守るのは行レベルセキュリティ・ポリシーであって、anon キーを秘密にすることではありません。ただし、service-role キーは決して露出させてはいけません。
Supabase のテーブルが公開状態かどうか、どう確認すればよいですか?
無料の Supabase RLS チェッカーをお使いください。プロジェクト URL と anon キーを貼り付けると、認証なしでデータを返すテーブルを報告します。
Supabase は HIPAA に準拠していますか?
Supabase は有料プランで HIPAA 準拠のティアと署名済み BAA を提供していますが、コンプライアンスは共同責任です。RLS、アクセス制御、ロギングを正しく設定するのはあなた自身の責任です。プラットフォームが HIPAA に対応できることと、あなたの具体的なアプリが準拠していることは別です。
無料ローンチ準備スキャン
無料スキャンを受ける