---
source_url: https://supabase.com/blog/searchable-field-level-encryption-with-cipherstash
source_title: "Searchable field-level encryption on Supabase with CipherStash"
source_site: "Supabase"
source_published_at: 2026-07-09T10:00:00
hero_image: https://supabase.com/images/blog/searchable-field-level-encryption-with-cipherstash/og.png
tags: encryption,database-security,supabase
generated_at: 2026-07-19T08:01:13.578Z
model: claude-haiku-4-5
---
# Supabase でフィールドレベルの検索可能暗号化が利用可能に

CipherStash との統合により、Supabase プロジェクトに暗号化データの検索機能を持つフィールドレベルの暗号化を追加できるようになった。

CipherStash は Postgres 向けデータレベルアクセス制御（DLAC）プラットフォームで、Supabase との統合が 2026 年 7 月 9 日に利用可能になった。チームは CipherStash を使用して、アプリケーション層で機密フィールドを値ごとに一意のキーで暗号化し、復号化せずに暗号化データに対する検索やジョイン処理を実行できる。鍵は CipherStash のゼロナレッジキー管理サービス ZeroKMS を通じてユーザー制御下に保たれるため、CipherStash も Supabase も平文データにアクセスできない。

## 統合の仕組み

Supabase 統合により、スキーマを変更することなく、暗号化された Supabase SDK ラッパーを使用してどの Supabase プロジェクトにもフィールドレベルの暗号化を追加できる。セットアップは `npx stash init --supabase` という 1 つの CLI コマンドで完了する。

暗号化はデータがデータベースに到達する前にアプリケーション内で行われる。各値は密文と Searchable Encrypted Metadata（SEM）を含む単一の JSON ペイロードとして保存される。クエリはデータベースへ向かう際に SEM に変換され、Postgres は保存された SEM と照合する。WHERE 句、あいまい文字列マッチング、ORDER BY、JSON クエリはすべて暗号化データに対して機能し続ける。

## キー管理とアクセス制御

暗号化された各値には、その読み取り権者と読み取り条件を規定するポリシーが付加される。ポリシーはクエリ層ではなく復号化時に実施される。各暗号化値は独自のキーを取得し、ZeroKMS を通じてオンデマンドで導出される。キーを複数のリージョンに分割でき、FedRAMP や IL4 といったフレームワークを含むデータレジデンシー要件に対応できる。

## プロキシオプション

CipherStash Proxy は、SDK が適さない場合のセキュアなオプションを提供する。アナリティクスジョブ、管理者ツール、他言語のバックグラウンドワーカー、またはアプリケーション外での直接的なデータベースアクセスが該当する。プロキシは Postgres ワイアプロトコルを話し、暗号化と復号化を透過的に処理する。

## 筆者の見立て

- HIPAA、GDPR、SOC 2 の規制対象チームにとって、Postgres と Supabase の検索機能を保持しながらコンプライアンスレビューを短縮でき、侵害時の影響範囲を削減できる可能性を示唆している。
- CipherStash が第 3 の選択肢として位置付けられていると解釈している。

*この記事は元記事の事実のみに基づいて自動生成されました。*

## 出典

Supabase 「Searchable field-level encryption on Supabase with CipherStash」https://supabase.com/blog/searchable-field-level-encryption-with-cipherstash
