アクセス制御
ここでは、作成したモデルごとに、ロールベースのアクセス制御ルールを定義します。アクセス制御ルールは、特定の条件に基づいて、テーブルに対するクエリを制限するのに役立ちます。
アクセス制御ルールは以下の項目に適用されます
- 行レベル
- 列レベル
行レベル
行レベルアクセス制御によって、ユーザーはそのテーブル上のすべての行にアクセスすることなく、テーブルにアクセスできます。これは、テーブルの一部である機密性の高い個人データを保護するために特に有効です。これによって、すべてのユーザーにテーブルへのアクセスを許可しつつ、そのアクセスをそのテーブル内の特定の数の行のみに限定できます。
列レベル
列レベルアクセス制御によって、アクセスをテーブル内の特定の列に制限できます。これは、関連性がないデータ、機密性が高いデータ、内部目的で使用されるデータを非表示にするのに便利です。典型的なデータ表現は、以下のようになります。
ご想像の通り、これらのルールを組み合わせることで、関連するさまざまなステークホルダーに対するデータアクセスを柔軟かつ強力に管理できます。
操作の種類
アクセス制御ルールは、すべてのCRUD操作(作成、読み取り、更新、削除)に適用できます。一部の操作は、ユーザーに操作を行わせないように完全に制限できます。
前のセクションで、slackアプリには user
というロールが必要であることを学びました。次のパートではこのロールの権限を作成します。
Did you find this page helpful?
Start with GraphQL on Hasura for Free
- Build apps and APIs 10x faster
- Built-in authorization and caching
- 8x more performant than hand-rolled APIs