7-1. CoWorkでもSnowflake RBACが基本
CoWorkやCortex Agentsを導入しても、データアクセス制御の基本はSnowflakeのRBACです。AIだから特別に全データへアクセスさせるのではなく、必要最小限の権限を与えます。
7-2. 推奨する役割分離
| 機能ロール例 | 対象 | 主な責務 |
|---|---|---|
| FR_COWORK_USER | 一般利用者 | Agentを利用する |
| FR_AI_DEVELOPER | AI開発者 | Agent・Semantic View・Searchを構築 |
| FR_DATA_ENGINEER | データ担当 | RAW/STG/CORE/MARTを整備 |
| FR_SECURITY_ADMIN | セキュリティ担当 | ロール・ポリシー・監査 |
7-3. Agent作成に必要な代表権限
Agent作成には、対象SchemaへのCREATE AGENT、Database/SchemaへのUSAGEが必要です。さらにツールに応じて追加権限が必要です。
| 対象 | 代表的な権限 |
|---|---|
| Agent | CREATE AGENT / USAGE |
| Semantic View | USAGE、および参照元Table/ViewへのSELECT |
| Cortex Search Service | USAGE |
| Custom Tool | Procedure/UDF等へのUSAGE |
| Database / Schema | USAGE |
7-4. 利用者と開発者を分ける
flowchart TD
SYS[SYSADMIN等]
DEV[FR_AI_DEVELOPER]
USR[FR_COWORK_USER]
AR1[AR_AI_BUILD]
AR2[AR_COWORK_USE]
SYS --> DEV --> AR1
SYS --> USR --> AR2
一般利用者にAgent作成権限まで持たせる必要はありません。「使う権限」と「作る権限」を分離するのが基本です。
7-5. Row Access Policy・Masking Policy
AI利用時も、基礎データ側のRow Access PolicyやMasking Policyなどのガバナンスを考慮します。特に顧客・従業員・個人情報を扱う場合は、誰がどの行・列まで参照可能かを明確にします。
7-6. MCP・Web Searchを利用する場合
MCP ConnectorやWeb SearchはSnowflake外部との通信を伴うため、データが外部サービスへ送られる可能性を前提に設計します。
確認事項:送信データ、認証方式、外部サービスの利用規約、ログ、機密情報の扱い、ネットワーク制御を事前確認します。
7-7. 権限設計チェックリスト
- 利用者は必要なAgentだけ利用できるか
- Agentが使うSemantic Viewの参照範囲は適切か
- Underlying Table/Viewへの権限は必要最小限か
- Search Serviceの対象文書に機密情報が混在していないか
- Custom Toolが更新系処理を持つ場合、実行権限を限定しているか
- MCPやWeb Searchへの外部送信ルールを決めているか
この章で理解したこと
- CoWorkでもRBACが基本
- 利用者・AI開発者・データ担当を分離する
- Agent作成にはCREATE AGENT等が必要
- Toolごとに追加権限が必要
- 外部MCP利用時は外部送信リスクも確認する