- 行レベルセキュリティ (RLS): ユーザーがアクセスできるレコードを制御します。
- フィールドレベルセキュリティ (FLS): レコード内でユーザーがアクセスできるフィールドを制御します。
権限タイプ
各セキュリティレベルには、設定できる異なる権限があります。各権限に対して、アクションを実行できるユーザーを定義します。行レベルセキュリティ (RLS)
create- 新しいレコードを追加read- レコードを表示update- レコードを変更delete- レコードを削除
フィールドレベルセキュリティ (FLS)
read- フィールドを表示write- フィールドを作成または変更
権限値
各権限は次の値のいずれかを受け入れます:true- すべてのユーザーに許可false- すべてのユーザーをブロック{<condition>}- 条件に一致するユーザーを許可
条件構文
権限値として{<condition>} を使用する場合、ユーザー属性またはロールをチェックするルールを定義できます。
1. エンティティ対ユーザーの比較
レコードフィールドを現在のユーザーの値と比較します。
参照できるエンティティフィールド:
created_by- レコードを作成したユーザーのメールcreated_by_id- レコードを作成したユーザーの IDentity_name- エンティティタイプの名前app_id- アプリ IDenvironment-prodまたはdevis_sample- サンプルデータかどうかis_deleted- ソフト削除フラグdeleted_date- 削除された日時data.*- エンティティスキーマの properties からの任意のフィールド
{{user.email}}- ユーザーのメール{{user.id}}- ユーザーの ID{{user.role}}- ユーザーのロール{{user.data.*}}- 定義した追加のユーザーフィールド
user_condition を使用してユーザープロパティを直接チェックします。
チェックできるユーザーフィールド:
email- ユーザーのメールid- ユーザーの IDrole- ユーザーのロールdata.*- カスタムユーザーフィールド
$or、$and、$nor、$in、$nin、$all
例:
行レベルセキュリティ (RLS) の例
エンティティレベルでrls を追加します:
フィールドレベルセキュリティ (FLS) の例
個々のフィールドプロパティにrls を追加します:
セキュリティを含む完全な例
RLS と FLS の両方を含むエンティティスキーマ:セキュリティルールのデプロイ
セキュリティルールはエンティティスキーマの一部です。セキュリティルールを追加または更新した後、entities push を使用してデプロイします。プロジェクト全体をデプロイするために deploy コマンドを実行すると、セキュリティルールも自動的にデプロイされます。
関連項目
- Entities Overview: データベーススキーマ構成について学ぶ
- Entity Schemas: エンティティ構造を定義
- User Schema: ユーザー認証のための特別な組み込みエンティティ
- Project Structure: エンティティスキーマがプロジェクトにどう適合するか
このページは AI を使用して翻訳されました。最も正確で最新の情報については、英語版 を参照してください。

