はじめに:相手がSnowflakeを使っていない時の救世主
「うちのデータを取引先と共有したいけど、相手はまだSnowflakeを契約していない…」そんな悩み、ありませんか?通常のセキュアデータシェアリングは、共有する側もされる側も両方Snowflakeアカウントを持っているのが前提です。でも実際のビジネスでは、相手がまだSnowflakeを使っていないことの方が多いですよね。
そんなときに大活躍するのが リーダーアカウント (Reader Account) です!この記事では、リーダーアカウントの仕組みから作成手順、コスト面の注意点までやさしく解説していきます。

リーダーアカウントとは?
リーダーアカウントとは、データプロバイダー(共有する側)が自分の費用負担で作成する、読み取り専用の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できるようになります!

注意点:コストとガバナンスに気をつけよう
便利なリーダーアカウントですが、運用上で気をつけたいポイントがあります。
- クエリ費用は全額プロバイダー持ち:相手が大量クエリを投げると自分のクレジットが減ります。ACCOUNT_USAGEビューで利用状況を必ずモニタリングしましょう。
- ウェアハウスはリーダー側で作成が必要:適切なサイズと
AUTO_SUSPENDを設定して暴走を防ぐのが鉄則です。 - 1アカウントあたり最大20個まで:多数の取引先と共有する場合は通常のアカウント間共有やMarketplaceも検討します。
- ストレージにも注意:共有元のデータ量が増えるとストレージ料金も増えるので保持期間設計も大事です。
まとめ
リーダーアカウントは「相手がSnowflakeを使っていなくても、安全に・素早くデータを共有できる」便利な仕組みです。営業先のPoC、BIツールへの提供、グループ会社間のデータ提供など、活用シーンはたくさんあります。費用はプロバイダー持ちなので、リソースモニターやAUTO_SUSPENDを組み合わせてしっかりコスト管理してくださいね!
参考リンク
- リーダーアカウントの作成と構成 – Snowflake公式ドキュメント
- Secure Data Sharingの概要 – Snowflake公式ドキュメント
- CREATE MANAGED ACCOUNT – Snowflake公式ドキュメント
関連記事
- Snowflakeセキュアデータシェアリング入門|データを安全に共有する仕組み – データ共有の基本概念をまずはこちらで押さえましょう。
- Snowflakeクレジット消費を分析|ACCOUNT_USAGEビュー入門 – リーダーアカウントの利用状況をモニタリングするのに必須の知識です。
- Snowflakeのデータ保持期間とFail-safeでストレージ料金を抑えるコツ – 共有データのストレージ料金最適化に役立ちます。
- Snowflakeリソースモニター入門|予算超過を防ぐ仕組み – リーダーアカウントの暴走防止にぜひ組み合わせたい機能です。
- Snowflake列レベル・行レベルセキュリティ入門|ポリシーの作り方 – 共有時に見せたくない列や行を制御するテクニックです。

