1. データシェアリングとは?
- **データシェアリング(Secure Data Sharing)**は、他のSnowflakeアカウントとデータを共有するためのSnowflake独自の機能。
- 外部アカウントとの共有に必要なのが「シェアオブジェクト(Share)」。
2. CREATE SHAREとは?
CREATE SHARE
は 新しいShareオブジェクトの作成権限。- 他のアカウントとテーブルなどを共有するためにこの権限が必要。
3. CREATE SHARE を持つシステム定義ロール
ロール名 | CREATE SHARE 権限 | 備考 |
---|---|---|
ACCOUNTADMIN | ✅ 持っている | デフォルトのシステム定義ロールでは唯一 |
SYSADMIN | ❌ 持っていない | シェアの作成はできない |
SECURITYADMIN | ❌ 持っていない | ユーザー・ロール管理に特化 |
PUBLIC | ❌ 持っていない | 全ユーザーがデフォルトで持つ最低限のロール |
📌 補足:
ACCOUNTADMIN
ロールは、Snowflakeアカウント全体に対するフルコントロール権限を持つため、CREATE SHARE
権限も含まれている。
4. 他ロールへの権限移譲(GRANT)
ACCOUNTADMIN
から 他のカスタムロールにCREATE SHARE
をGRANT することは可能。GRANT CREATE SHARE ON ACCOUNT TO ROLE my_custom_role;
- ただし、この操作は慎重に行う必要あり(シェアの作成は外部との連携を伴うため、セキュリティリスクあり)。
🧠 まとめポイント
- CREATE SHARE権限はデフォルトでは
ACCOUNTADMIN
のみが所持。 - 他のロールに手動でGRANTは可能だが、デフォルトでは不可。
- Snowflakeにおける外部共有のセキュリティ管理に直結する重要な権限。