リーダーアカウントの管理

リーダーアカウント(以前の呼称は「読み取り専用アカウント」)を使用すると、SnowflakeのカスタマーではないコンシューマーがSnowflakeのカスタマーにならなくても、プロバイダーはコンシューマーとデータを共有できます。

注釈

このトピックで説明するすべてのタスクは、 ACCOUNTADMIN ロール、またはCREATE ACCOUNT グローバル権限を付与されたロールを使用して実行する必要があります。

このトピックの内容:

概要

リーダーアカウントを使用すると、データコンシューマーは、アカウントプロバイダーが共有するデータにアクセスし、クエリを実行できます。コンシューマーは設定や使用コストが不要で、Snowflakeとのライセンス契約に署名する必要もありません。

リーダーアカウントは、プロバイダーアカウントによって作成、所有、および管理されます。プロバイダーアカウントは、リーダーアカウントのユーザーに発生したクレジット料金に対するすべての責任を負います。標準のコンシューマーアカウントと同様に、プロバイダーアカウントは 共有 を使用して、データベースをリーダーアカウントと共有します。ただし、リーダーアカウントは、それを作成したプロバイダーアカウントのデータのみを使用できます。

データ共有リーダーアカウントの概要。リーダーアカウントはプロバイダーアカウントのコンテキスト内に存在し、コンシューマーアカウントはプロバイダーアカウントの外部に存在します。

注釈

リーダーアカウントのウェアハウスは毎月無制限のクレジットを消費でき、プロバイダーアカウントに請求されます。使用量を制限するには、 ウェアハウス用リソースモニター を設定します。

リーダーアカウントで制限/許可されているもの

リーダーアカウントは、主にアカウントのプロバイダーが共有するデータのクエリを目的としています。たとえば、マテリアライズドビューを作成することによって、データを操作できます。

リーダーアカウントでは次のタスクを実行できません。

  • 新しいデータのアップロード。

  • 既存データの変更。

  • ストレージ統合を使用したデータのアンロード。ただし、接続認証情報を指定して COPY INTO <場所> コマンドを使用すると、データをクラウドストレージの場所にアンロードできます。

さらに、リーダーアカウントでは次のコマンドを実行できません。

他のすべての操作は許可されます。

リーダーアカウントのサポートの提供

リーダーアカウントにはSnowflakeとのライセンス契約がないため、アカウントの一般ユーザーはサポートサービスを利用できません。代わりに、アカウントのプロバイダーが、アカウント内のユーザーからの質問とリクエストを入力し、必要に応じて応答します。

直接質問に答えたり、リクエスト/問題を解決できない場合は、通常のチャネル(サポート契約に記載されているとおり)でSnowflakeサポートチケットを開くことができます。Snowflakeサポートから応答が提供されたら、リーダーアカウントの適切なユーザーに情報を送り返します。

ウェブインターフェイスを使用したリーダーアカウントの管理および作成

ACCOUNTADMIN ロール(または CREATE ACCOUNT 権限が付与されたロール)がある場合は、 Snowsight または Classic Console を使用して、リーダーアカウントの作成と管理に関連するほとんどのタスクを実行できます。

Snowsightの使用

Snowsight でリーダーアカウントを作成または管理するには、次を実行します。

  1. Snowsight にサインインします。

  2. ナビゲーションメニューで Data Products » Private Sharing を選択します。

  3. Reader accounts タブを選択します。

このページでは、次を実行できます。

  • + New を選択して、リーダーアカウントを作成します。

  • 既存のリーダーアカウントを確認します。

  • ... » Drop を選択して、リーダーアカウントをドロップします。

従来のコンソールの使用

Classic Console でリーダーアカウントを作成または管理するには、 Account アカウントタブ ページを使用します。

このページでは、次のタスクを実行できます。

  • リーダーアカウントの作成。

  • リーダーアカウントのドロップ。

リーダーアカウント用 DDL

リーダーアカウントの作成と管理を可能にするために、Snowflakeは、次の DDL コマンドをサポートするファーストクラスオブジェクト MANAGED ACCOUNTを提供します。

他のロールの有効化によるリーダーアカウントの作成および管理

デフォルトでは、 ACCOUNTADMIN ロールを持つユーザーのみがリーダーアカウントを作成できるため、アカウントの所有者としてアカウントを管理できます。これらのタスクを他のユーザーに委任することをサポートするために、 CREATE ACCOUNT グローバル権限を他のロール(システム定義またはカスタム)に付与できます。次に、ロールを持つユーザーはリーダーアカウントを作成し、ロールを使用して作成されたアカウントの管理に関連するすべてのタスクを実行できます。

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

USE ROLE ACCOUNTADMIN;

GRANT CREATE ACCOUNT ON ACCOUNT TO ROLE SYSADMIN;
Copy

SQL を使用したリーダーアカウントの作成と管理

リーダーアカウントの管理と作成には、 ウェブインターフェイスを使用 するほかに、 SQL を使用することもできます。

リーダーアカウントの作成

リーダーアカウントを作成するには、 ACCOUNTADMIN ロール(または CREATE ACCOUNT グローバル権限が付与されたロール)および CREATE MANAGED ACCOUNT コマンドを使用します。

コマンドで、アカウントの識別子と、アカウントの管理者としての役割を果たすユーザーを指定します。たとえば、以下の構文を使用します。

USE ROLE ACCOUNTADMIN;

CREATE MANAGED ACCOUNT <account_name>
    ADMIN_NAME = <username> , ADMIN_PASSWORD = '<password>' ,
    TYPE = READER;
Copy

コマンドを実行すると、アカウント名とアカウントのログイン URL が表示されます。

+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| status                                                                                                                                                                            |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| {"accountName":"READER_ACCT1","accountLocator":"IIB88126","url":"https://myorg-reader_acct1.snowflakecomputing.com","accountLocatorUrl":"https://iib88126.snowflakecomputing.com"}|
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

注意:

  • url は、新しいリーダーアカウントの優先 アカウント URL です。アカウントロケーターは、アカウントのレガシー識別子です。

  • リーダーアカウントは、プロバイダーアカウントと同じ Snowflake Edition を使用し、同じ 地域 で作成されます。

  • デフォルトでは、プロバイダーが作成できるリーダーアカウントの総数は20です。制限に達して追加のアカウントを作成する必要がある場合は、 Snowflakeサポート にお問い合わせください。

重要

リーダーアカウントを作成したら、最大5分間待って、アカウントが完全にプロビジョニングされていることを確認します。次に、アカウントを使用する準備が整う前に、次の追加タスクを実行する 必要 があります。

  1. 1つ以上の共有にアカウントを追加 して、共有内のSnowflakeのオブジェクトをアカウントと共有できるようにします。

  2. アカウントの構成 をします。

リーダーアカウントのドロップ

リーダーアカウントをドロップするには、 DROP MANAGED ACCOUNT コマンドを使用します。例:

USE ROLE ACCOUNTADMIN;

DROP MANAGED ACCOUNT reader_acct1;
Copy

注意

リーダーアカウントをドロップすると、アカウントで作成されたすべてのオブジェクトが削除され、すぐにアカウントへのすべてのアクセスが制限されます。また、リーダーアカウントの総数からアカウントを削除します。

この操作は元に戻すことが できません 。リーダーアカウントをドロップする前に、この点を考慮してください。

リーダーアカウントの表示

アカウント用に作成されたすべてのリーダーアカウントを表示するには、 SHOW MANAGED ACCOUNTS コマンドを使用します。例:

USE ROLE ACCOUNTADMIN;

SHOW MANAGED ACCOUNTS;
Copy

このコマンドを使用して、アカウントのリーダーアカウントの総数を監視できます。合計数が制限(20)に達すると、アカウントをドロップするか、 Snowflakeサポート に連絡して制限の引き上げをリクエストする必要がある場合があります。

さらに、 READER_ACCOUNT_USAGE スキーマ( SNOWFLAKE 共有データベース内)のビューを使用して、アカウント用に作成されたリーダーアカウントに関する情報をクエリできます。詳細については、 Account Usage をご参照ください。