ACCOUNTADMIN 以外のロールによる、データ共有タスクの実行の有効化¶
このトピックでは、共有に関連する SQL アクションを実行するために必要な最小限の権限をリストします。
デフォルトでは、共有の作成と管理に必要な権限は ACCOUNTADMIN ロールにのみ付与され、アカウント管理者のみがこれらのタスクを実行できるようにします。ただし、権限を他のロールに付与して、アカウント内の他のユーザーにタスクを委任することもできます。
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
注釈
アカウント内の他のユーザーに共有権限を付与する場合は、それらの他のユーザーのユーザープロファイルに名、姓、および電子メールアドレスが含まれていることを確認してください。Snowsight でユーザープロファイルを変更するには、 ユーザープロファイルにユーザー詳細を追加する をご参照ください。
データプロバイダー¶
データプロバイダーは、次のオプションの いずれか を選択して、オブジェクトを共有に追加できます。
オプション1: データベースにデータベースロールを作成し、オブジェクトの権限をデータベースロールに付与し、共有にデータベースロールを付与する。
オプション 2: データベースおよびデータベースオブジェクトに対する権限を共有に直接付与する。
これらのオプションの詳細については、 データベースオブジェクトの共有方法 をご参照ください。
データプロバイダーまたはデータコンシューマーアカウントで共有を作成および管理するために必要な最小限の権限は、使用したオプションによって異なります。
- オプション1:
アクション
権限
オブジェクト
メモ
共有を作成します。
CREATE SHARE
アカウント
ACCOUNTADMIN ロールのみが、デフォルトでこの権限を持っています。権限は、必要に応じて追加のロールに付与できます。
データベースにデータベースロールを作成します。
CREATE DATABASE ROLE
データベース
データベース所有者ロール(つまり、データベースに対する OWNERSHIP 権限を持つロール)のみが、デフォルトでこの権限を持っています。権限は、必要に応じて追加のロールに付与できます。
- オプション2:
アクション
権限
オブジェクト
メモ
共有を作成します。
CREATE SHARE
アカウント
ACCOUNTADMIN ロールのみが、デフォルトでこの権限を持っています。権限は、必要に応じて追加のロールに付与できます。
オブジェクトに対する権限を共有に付与したり、共有から取り消したりします。
OWNERSHIP
共有
このロールには、少なくとも付与オプションを備えたデータベースオブジェクトに対する次の権限も必要です。
データベースに対する USAGE
スキーマに対する USAGE
任意のテーブル、外部テーブル、セキュアビュー、またはセキュアマテリアライズドビューに対する SELECT
任意のセキュア UDFs に対する USAGE
スキーマ内のオブジェクトに対して操作を実行するには、親データベースとスキーマに対する USAGE 権限が必要です。スキーマに対する 任意の権限を付与されたロールは、そのロールがスキーマを解決できることに注意してください。たとえば、スキーマに対するCREATE権限を付与されたロールは、そのスキーマにオブジェクトを作成できますが、そのスキーマに対するUSAGE*も*付与されている必要はありません。
注意
CREATE SHARE を他のロールに付与すると、共有の管理がより柔軟になりますが、これらのロールがあるユーザーは、所有する(または必要な権限がある)オブジェクトを他のアカウントに公開できます。この点は、機密データまたは専有データを含むアカウントのデータを共有している場合に特に注意する必要があります。
CREATE SHARE を他のロールに付与する前に、この点を考慮してください。
データコンシューマー¶
コンシューマーアカウントで、 IMPORT SHARE 権限は、アカウントと共有されているインバウンド共有を表示できるようにします。この権限は、ロールにグローバル CREATE DATABASE 権限も付与されている場合、受信共有からデータベースを作成することも許可します。
別のロールへの権限付与¶
コンシューマーアカウントの ACCOUNTADMIN 以外のロールにグローバル IMPORT SHARE 権限を付与するには、ACCOUNTADMIN ロールと GRANT <権限> ... TO ROLE コマンドを使用します。
たとえば、 SYSADMIN ロールに権限を付与するには、
USE ROLE ACCOUNTADMIN;
GRANT IMPORT SHARE ON ACCOUNT TO SYSADMIN;