リーダーアカウントを管理する

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

注釈

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

概要

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

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

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

注釈

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

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

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

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

  • データメトリック関数 をリーダーアカウントのオブジェクトに設定します。

  • 新しいデータをアップロードします。

  • 既存データを変更します。

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

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

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

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

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

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

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

If you have the ACCOUNTADMIN role (or have a role that has been granted the CREATE ACCOUNT privilege), you can use Snowsight to perform most tasks related to creating and managing reader accounts.

Using Snowsight

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

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

  2. ナビゲーションメニューで Admin » Accounts を選択します。

  3. Accounts タブを選択します。

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

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

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

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

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

注釈

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

この制限を超えることなく新しいアカウントを作成するためにリーダーアカウントをドロップした場合、削除されたリーダーアカウントの保持期間である7日間は新しいリーダーアカウントを作成することができません。

リーダーアカウント用 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"}|
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

注意:

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

    この制限を超えることなく新しいアカウントを作成するためにリーダーアカウントをドロップした場合、削除されたリーダーアカウントの保持期間である7日間は新しいリーダーアカウントを作成することができません。

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

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

重要

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

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

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

読者アカウント名の変更

読者アカウントの名前を変更するには、 SQL コマンドを使用する必要があります。手順については、 アカウントの名前変更 をご参照ください。

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

リーダーアカウントをドロップするには、 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 をご参照ください。

フェールオーバー時のクライアント接続のリダイレクト

あるリージョンで障害が発生した場合、 クライアントリダイレクト を使用することで、リーダーアカウントを使用するデータコンシューマーに継続的なアクセスを提供することができます。異なるリージョンに2つのリーダーアカウントを作成し、プライマリ接続として機能するように1つを指定します。あるリージョンで障害が発生した場合、クライアント接続を別の地域のリーダーアカウントにリダイレクトすることができます。詳細については、 クライアントリダイレクトとリーダーアカウントの設定 をご参照ください。