Snowflakeリーダーアカウント入門|外部組織へのデータ共有を簡単に

Snowflakeリーダーアカウント入門|外部組織へのデータ共有を簡単に Snowflake
この記事をシェアする𝕏B!FacebookLINEPocket

はじめに:相手がSnowflakeを使っていない時の救世主

「うちのデータを取引先と共有したいけど、相手はまだSnowflakeを契約していない…」そんな悩み、ありませんか?通常のセキュアデータシェアリングは、共有する側もされる側も両方Snowflakeアカウントを持っているのが前提です。でも実際のビジネスでは、相手がまだSnowflakeを使っていないことの方が多いですよね。

そんなときに大活躍するのが リーダーアカウント (Reader Account) です!この記事では、リーダーアカウントの仕組みから作成手順、コスト面の注意点までやさしく解説していきます。

Snowflakeリーダーアカウント入門|外部組織へのデータ共有を簡単に

リーダーアカウントとは?

リーダーアカウントとは、データプロバイダー(共有する側)が自分の費用負担で作成する、読み取り専用のSnowflakeアカウントのことです。「マネージドアカウント」とも呼ばれます。

ポイントは次の3つ。

  • 相手はSnowflake契約不要:URLとログイン情報を渡すだけで使える
  • 読み取り専用:共有されたデータをクエリすることだけが可能
  • 料金はプロバイダー持ち:相手が実行したクエリのウェアハウス費用も自分が払う

つまり「お試しで取引先にデータを見せたい」「BIツールから直接参照させたい」というシーンにピッタリの仕組みです。

作成手順をSQLで見てみよう

リーダーアカウントは ACCOUNTADMIN ロールで操作します。基本の流れは「アカウント作成 → 共有作成 → 共有付与 → データベース化」の4ステップです。

1. リーダーアカウントを作成する

USE ROLE ACCOUNTADMIN;

CREATE MANAGED ACCOUNT reader_acct1
  ADMIN_NAME = 'reader_admin',
  ADMIN_PASSWORD = 'StrongPass!2026',
  TYPE = READER,
  COMMENT = '取引先A向けリーダーアカウント';

実行すると、ログイン用のURL(locator)とアカウント情報が返ってきます。これを取引先に渡します。

2. 共有(SHARE)を作成してデータを付与

-- 共有を作成
CREATE SHARE sales_share;

-- 共有するオブジェクトに権限付与
GRANT USAGE ON DATABASE sales_db TO SHARE sales_share;
GRANT USAGE ON SCHEMA sales_db.public TO SHARE sales_share;
GRANT SELECT ON TABLE sales_db.public.orders TO SHARE sales_share;

-- リーダーアカウントに共有を割り当て
ALTER SHARE sales_share
  ADD ACCOUNTS = reader_acct1;

3. リーダーアカウント側でデータベースとして見えるようにする

リーダーアカウントにログインしたあと、共有をデータベース化します。

CREATE DATABASE sales_from_provider
  FROM SHARE <provider_account>.sales_share;

これで取引先は sales_from_provider.public.orders を普通のテーブルのようにSELECTできるようになります!

3. リーダーアカウント側でデータベースとして見えるようにするの解説図

注意点:コストとガバナンスに気をつけよう

便利なリーダーアカウントですが、運用上で気をつけたいポイントがあります。

  • クエリ費用は全額プロバイダー持ち:相手が大量クエリを投げると自分のクレジットが減ります。ACCOUNT_USAGEビューで利用状況を必ずモニタリングしましょう。
  • ウェアハウスはリーダー側で作成が必要:適切なサイズと AUTO_SUSPEND を設定して暴走を防ぐのが鉄則です。
  • 1アカウントあたり最大20個まで:多数の取引先と共有する場合は通常のアカウント間共有やMarketplaceも検討します。
  • ストレージにも注意:共有元のデータ量が増えるとストレージ料金も増えるので保持期間設計も大事です。

まとめ

リーダーアカウントは「相手がSnowflakeを使っていなくても、安全に・素早くデータを共有できる」便利な仕組みです。営業先のPoC、BIツールへの提供、グループ会社間のデータ提供など、活用シーンはたくさんあります。費用はプロバイダー持ちなので、リソースモニターやAUTO_SUSPENDを組み合わせてしっかりコスト管理してくださいね!

参考リンク

関連記事

この記事をシェアする𝕏B!FacebookLINEPocket