ホーム » データサイエンス » Snowflake » 🔐 CREATE SHARE権限の体系的整理

🔐 CREATE SHARE権限の体系的整理

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における外部共有のセキュリティ管理に直結する重要な権限。

📚 参考資料(Snowflake公式ドキュメント)