Snowflake Data Clean Rooms 環境のインストール¶
始める前に¶
clean room環境用は、同じアカウントのすべてのユーザーのSnowflakeにインストールされます。
アカウント内のユーザーに、clean room管理者から、clean room環境へのアクセス許可が付与されます。
clean room環境がアカウントにインストールされていない場合: このページのインストール手順に従ってください。
クリーンルームへの参加メールを受け取った場合:指示に従いリンクにアクセスし、メールアドレスと新しいパスワードを入力します。これにより、クリーンルームの UI が開き、クリーンルームに参加して利用することができます。招待を受け取ったメールアドレスを提供する必要があることに注意してください。パスワードはクリーンルームアカウントに固有のものです。Snowflake のパスワードは再利用しないことをお勧めします。
clean room環境が自分のアカウントにインストールされ、それにアクセスしたい場合: API、 UI、またはその両方へのアクセス許可をclean room管理者に依頼してください。
概要¶
Snowflake Data Clean Roomsは次の2つの環境で構成されています:
clean room UI: ユーザーが簡単に分析を作成・実行できる、ノーコードのブラウザベース環境。
クリーンルーム API: クリーンルームの作成と管理、分析の実行に使用されるストアドプロシージャのセットへのアクセス。
この2つの環境は似ていますが、 まったく同じではありません。clean room管理者は、Snowflakeアカウントにどちらか一方、または両方のコンポーネントをインストールし、2つの環境へのアクセス許可を、別々にユーザーに付与できます。
Snowflake Data Clean Roomsのインストール要件¶
アカウントおよびユーザーの要件¶
Snowflakeアカウントに Snowflake Data Clean Rooms をインストールするための要件は以下のとおりです:
アカウントは、必要な Snowflake Edition である必要があります。
clean roomを作成するには、Enterprise Editionまたはそれ以上が必要です。
他のアカウントで作成されたclean roomに参加して使用 するには、Standard Editionまたはそれ以上が必要です。
リーダーアカウントはサポートされていません。リーダーアカウントでは、クリーンルームアプリケーションのインストールと実行に必要なデータ共有が許可されないためです。
アカウントが キーペア認証 を許可し、それを認証のサービスプロバイダーが使用する必要があります。
データ共有条件に同意する必要があります。 Snowflakeお客様管理データシェア機能利用規約 に同意されていない場合は、 Snowflake サポート までご連絡ください。Snowflake Data Clean Roomsで使用する リスト は、Snowflakeサービスの一部であり、Snowflakeの利用規約(Snowflakeお客様管理データ共有機能利用規約や Snowflakeで認められる使用のポリシー)が適用されます。
アカウントレベルのデフォルト 照合順序 を定義しないでください。照合順序の状態は、以下のコマンドで確認できます:
SHOW PARAMETERS LIKE 'DEFAULT_DDL_COLLATION' IN ACCOUNT;
(Clean room UI のみ) Snowflakeアカウントは容量アカウントである必要があります。 容量アカウントは、前もって容量を約束するアカウントを言います。Snowflake On-Demandアカウントでは、clean room UI にアクセスできません。
(Clean room UI のみ) 多要素認証 (MFA) を、 サポート対象の認証アプリ で使用する必要があります。
これらの要件をすべて満たしておらず、アップグレードが必要な場合は、 Snowflakeサポート までご連絡ください。
インストールの際のユーザー要件¶
clean room環境をインストールするユーザーには、次の要件があります:
clean room環境をSnowflakeアカウントにインストールするために、 ACCOUNTADMIN ロールがそのアカウントに必要です。
ACCOUNTADMINロールを持つユーザーは、そのユーザーオブジェクトに有効な姓、名、メールが定義されている必要があります。確認するには、 DESCRIBE USER を実行してください。
clean room環境をインストールする¶
Snowflakeアカウントにclean room環境をインストールするには、次の手順に従います。
ネイティブアプリ (ステップ 1) を常にインストールする必要がありますが、その後、ブラウザ使用のためのクリーンルーム UI、コード使用のためのクリーンルーム API、またはその両方を有効化できます。組織内の プロバイダーと非コーダー の両方をサポートするために、UI および API の両方をインストールすることをお勧めします。
1.ネイティブアプリケーションのインストール¶
Marketplace からネイティブアプリケーションをインストールします。
現在のロールを ACCOUNTADMIN にセットします
Snowflake Data Clean Roomsアプリケーション をSnowflake Marketplaceからインストールします。
Get を選択し、デフォルトオプションを受け入れます。
インストールには数分かかります。
2. クリーンルーム API のインストール¶
クリーンルーム API は、クリーンルームのプログラムによる作成と使用に使用されます。
Snowflake アカウントでクリーンルーム API をインストールするステップは次のとおりです。
ネイティブアプリケーションをインストールした後、Snowflakeでそれを起動します: Data products » Apps » Snowflake Data Clean Rooms » Launch app。SQL コマンドを含むワークシートが開きます。
クリーンルーム API をインストールするために、SQL コマンドを実行します。注意事項は次のとおりです。
インストール中にネイティブアプリケーションの名前を変更した場合は、スクリプトのコメントに示されているように、スクリプトを修正する必要があります。
インストールスクリプトの実行前に全体を確認したい場合は、
DRY_RUN=TRUE
のスクリプト行のコメントを解除し、すべてのコマンドを実行すると、スクリプトの内容が表示されます。ここで表示される インストールスクリプトを手動で実行しないでください。 インストールが途中で終了します。インストールには数分かかります。
APIにアクセスできることを確認してください:
USE ROLE samooha_app_role; USE WAREHOUSE app_wh; CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.LIBRARY.CHECK_MOUNT_STATUS();
FALSE と表示された場合は、以下のトラブルシューティングのセクションを参照してください。
Snowflakeアカウントの他のユーザーに API へのアクセス許可を付与します:
clean roomを作成・管理のための フルアクセス を持つユーザーを追加するには、
GRANT ROLE SAMOOHA_APP_ROLE to USER USER
を実行します。コンシューマーの実行アクセスのみ が許可されたユーザーを追加するには、1つ以上のSnowflakeロールを作成し、このロールへのアクセス許可をユーザーに付与します。その後、
consumer.grant_run_on_cleanrooms_to_role
を呼び出すことで、特定のclean roomの実行アクセスを許可します。
(オプション) clean room UI をインストールして、clean roomへのノーコードアクセスやスケジュールクエリなどの機能を有効にします。
3.clean room UI を有効にする¶
クリーンルーム UI は、クリーンルームアカウントを管理し、クリーンルームを作成して分析を実行するための簡単なノーコード環境を提供します。また、一部の 追加機能 はクリーンルーム API では利用できません (スケジュールされたクエリ、サードパーティのアクティベーション、便利な定義済みテンプレートなど)。
Snowflakeアカウントでclean room UI を有効にするには、以下の手順に従います:
ネットワークポリシーを構成して clean room UI からSnowflake アカウントへのアクセスを許可します。(Snowflakeアカウントでネットワークポリシーを使用してネットワークトラフィックを制御する場合のみ必要です。)
UI セットアップを完了します。 このステップでは、クリーンルーム UI が Snowflake と通信するために使用するサービスユーザー [*] を構成します。
Snowflakeの認証情報で clean room UI にサインインします。
Admin » Snowflake Admin » Connect to Snowflake account を開きます。
Enable the Data Clean Rooms UI の下で、Quick Setup または Manual Setup を選択します。
Quick Setup - これにより、サービスユーザーが作成されます。このアカウントの一意のサービスユーザー名を指定します。
Manual Setup - サービスユーザーを自分で作成する場合、または既存のサービスユーザーを再利用する場合は、このオプションを選択します。クリーンルームはサービスユーザーを管理して変更するので、サービスユーザーが他の何かに使用されないように注意してください。サービスユーザーの作成方法についての詳細。
一意のサービスユーザー名を入力して、Finish を選択します。
次のセクションに記載するように、**クリーンルーム環境を構成します*。
クリーンルーム環境の構成¶
ネイティブアプリケーション、 API、 UI をインストールした後、環境を構成して、ユーザーを追加します:
クリーンルーム UI の管理者とユーザーを追加します。 管理者は日常的に環境を管理し、コラボレーターの管理やサードパーティコネクタの構成など、多くのアクションを実行することができます。ユーザーは、クリーンルームを作成または参加して、分析を実行することができます。
開発者を追加します。 Snowflakeアカウントの開発者に API のアクセス許可を付与し、アカウント内でclean roomを作成または使用できるようにします。
クロスクラウド自動複製を有効にします。 デフォルトでは、clean roomの作成者と同じクラウドリージョンに含まれるコンシューマーとのみ、clean roomを共有できます。プロバイダーに、別のクラウドリージョンに含まれるコンシューマーと、clean roomを共有させたい場合は、アカウントでクロスクラウド自動複製を有効にする必要があります。
UI で利用可能なデータセットを登録します。 クリーンルーム UI を使用するコラボレーターは、クリーンルーム UI の管理者により事前登録されているデータのみをクリーンルームにインポートできます。
インストールのトラブルシューティング¶
このセクションは、このトピックのステップを完了した後に発生する可能性のある問題のトラブルシューティングに使用します。
- 症状: 権限が不十分である
解決策: クリーンルーム UI に関連する IP アドレスがネットワークポリシーで許可されていることを確認してください。これらの IP アドレスのリストについては、 ネットワークポリシーの構成 をご参照ください。
- 症状: インストールは成功したが、クリーンルーム UI が正しく機能しない。
解決策#1: DESCRIBE USER コマンドを使用して、Snowflakeの設定に使用したSnowflakeユーザーが有効な姓、名、メールアドレスを持っていることを再確認します。これらのいずれかが欠けている場合は、 ALTER USER コマンドを実行して指定します。
解決策2: Snowflake Data Clean Rooms の Snowflake Native App をアンインストールしてから、再インストールします。
アプリをアンインストールするには、 Snowflake Native Appのアンインストール をご参照ください。アプリケーションをデフォルトの名前でインストールした場合、その名前は SAMOOHA_BY_SNOWFLAKE となります。
アプリを再インストールするには:
左側のナビゲーションペインで、 Snowflake Admin を選択します。
Login to Snowflake を選択し、ACCOUNTADMIN ロールを持つSnowflakeユーザーとして認証します。
DESCRIBE USER コマンドを使用して、先ほど認証に使用した ACCOUNTADMIN ロールを持つSnowflakeユーザーの姓、名、およびメールアドレスが有効であることを確認します。これらのいずれかが欠けている場合は、 ALTER USER コマンドを実行して指定します。
Snowflake Native App をインストールするには、 Install を選択します。
インストール時に、アプリケーションのデフォルト名を受け入れます。
UI サービスユーザーを手動で作成する¶
クリーンルーム UI をインストールする際、インストール時にサービスユーザーを自動作成させるか、自分で作成したサービスユーザーを指定することができます。Snowsight でサービスユーザーを作成する方法を説明します。
Snowflakeの管理者認証情報を使用して Snowsight にサインインし、次の SQL の例のようにユーザーを作成します。
-- Create the user. -- Clean rooms will set the type to SERVICE for you. USE ROLE USERADMIN; CREATE USER <SERVICE-USER-USERNAME>;
重要
クリーンルームは、このユーザーの認証制御、ネットワークポリシー、およびその他の属性を変更します。このユーザーをクリーンルーム環境に渡した後は、自分で使用することはできません。