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 を他のロールに付与する前に、この点を考慮してください。

共有内のオブジェクトへのアクセスブロック

共有内のオブジェクトへのアクセスは、共有を所有するロールまたはオブジェクトを所有するロールによってブロックできます。

  • ロールが共有を所有している場合は、共有からオブジェクトに対する権限を取り消すことにより、アクセスをブロックできます。

  • ロールが共有を所有していないが、共有内のオブジェクトを所有している場合、共有所有者からのオブジェクトの CASCADE で USAGE または SELECT 権限を取り消すことにより、アクセスをブロックできます。

注釈

共有および共有内のオブジェクトの所有権は、ロールへの直接的な付与を通じて、またはロール階層の下位レベルのロールから継承されます。詳細については、 ロール階層と権限の継承 をご参照ください。

同じロールが共有と共有内のオブジェクトを所有することもできます。

データコンシューマー

コンシューマーアカウントで、 IMPORT SHARE 権限は、アカウントと共有されているインバウンド共有を表示できるようにします。この権限は、ロールにグローバル CREATE DATABASE 権限も付与されている場合、受信共有からデータベースを作成することも許可します。

IMPORT SHARE 権限

ロールに IMPORT SHARE 権限が付与されている場合、そのロールのあるユーザーは次のタスクを実行できます。

  • すべての INBOUND 共有(プロバイダーアカウントで共有)を表示します。

  • ロールが所有するすべての OUTBOUND 共有を表示します。

  • ロールにグローバル CREATE DATABASE 権限も付与されている場合、受信共有からデータベースを作成します。

別のロールへの権限付与

コンシューマーアカウントの ACCOUNTADMIN 以外のロールにグローバル IMPORT SHARE 権限を付与するには、ACCOUNTADMIN ロールと GRANT <権限> コマンドを使用します。

たとえば、 SYSADMIN ロールに権限を付与するには、

USE ROLE ACCOUNTADMIN;

GRANT IMPORT SHARE ON ACCOUNT TO SYSADMIN;
Copy