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 SHARE を他のロールに付与すると、共有の管理がより柔軟になりますが、これらのロールがあるユーザーは、所有する(または必要な権限がある)オブジェクトを他のアカウントに公開できます。この点は、機密データまたは専有データを含むアカウントのデータを共有している場合に特に注意する必要があります。
CREATE SHARE を他のロールに付与する前に、この点を考慮してください。
データコンシューマー¶
コンシューマーアカウントで、 IMPORT SHARE 権限は、アカウントと共有されているインバウンド共有を表示できるようにします。また、この権限は、インバウンド共有からデータベースを作成することもできます。このアクションにも、 CREATE DATABASE グローバル権限が必要です。
別のロールへの権限付与¶
コンシューマアカウントの ACCOUNTADMIN 以外のロールに IMPORT SHARE を付与するには、ACCOUNTADMIN ロールと GRANT <権限> コマンドを使用します。
たとえば、 SYSADMIN ロールに権限を付与するには、
USE ROLE ACCOUNTADMIN;
GRANT IMPORT SHARE ON ACCOUNT TO SYSADMIN;