Snowflake コレクターを実行する準備をします

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:5分
  • 認証を設定し、ロール権限を付与して、Snowflake メタデータ収集を有効にします。

    始める前に

    必要なロール:ACCOUNTADMIN

    権限を付与するには、SnowflakeのACCOUNTADMINロールが必要です。

    このタスクについて

    コレクターは、ユーザー名とキーペアの認証をサポートしています。詳細については、 Snowflakeのドキュメントを参照してください。

    Snowflakeはロールに基づいて認可を決定します。Snowflake に接続する場合は、ロールを指定する必要があります。メタデータの全範囲を収集するには、ACCOUNTADMIN ロールが必要です。他のロールは、基本的なメタデータへのアクセスのみを提供し、拡張メタデータやリネージ情報は提供しません。ACCOUNTADMIN 以外のロールを使用する場合は、このタスクで概説されているロール固有の権限を付与します。

    一部のコレクター機能では、Snowflakeでクエリを実行する必要があり、ウェアハウスが必要です。ユーザー認証情報にデフォルトの倉庫が設定されている場合、追加の倉庫構成は必要ありません。別のウェアハウスを使用する場合、またはデフォルトのウェアハウスが設定されていない場合は、Snowflake Warehouse 構成オプションを使用してウェアハウスを指定します。

    手順

    1. ロールを作成し、倉庫権限を付与します。
      CREATE OR REPLACE ROLE DDW_ACCOUNT_ROLE;
                              GRANT OPERATE, USAGE ON WAREHOUSE <warehouse_name> TO ROLE DDW_ACCOUNT_ROLE;
    2. データベース、スキーマ、テーブル、およびビューのメタデータ収集を有効にする権限を付与します。
      GRANT USAGE ON DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT USAGE ON ALL SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT SELECT ON ALL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT SELECT ON ALL EXTERNAL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT SELECT ON ALL VIEWS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT USAGE ON FUTURE SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                              GRANT SELECT ON FUTURE TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
      注:
      [サンプル文字列値の有効化] コレクションと [列統計情報の収集の有効化] オプションを使用しない場合は、SELECT の代わりに REFERENCES アクセス許可を付与できます。
      GRANT USAGE ON DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT USAGE ON ALL SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT REFERENCES ON ALL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT REFERENCES ON ALL EXTERNAL TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT REFERENCES ON ALL VIEWS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT USAGE ON FUTURE SCHEMAS IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
                                  GRANT REFERENCES ON FUTURE TABLES IN DATABASE <database_name> TO ROLE DDW_ACCOUNT_ROLE;
    3. オブジェクト依存関係ベースのリネージ、ユーザー定義関数、データメトリクス関数、ストアドプロシージャ、タグとタグ値、行アクセスポリシー、マスクポリシー、テーブル使用率を収集する権限を付与します。
      重要:
      これらの権限を付与するには、ACCOUNTADMIN ロールが必要です。

      これらの権限を割り当てるには、次の 2 つのオプションがあります。

      • オプション 1:ACCOUNTADMIN ロールを使用して、データベース間で広範なインポート権限を付与します。

        USE ROLE ACCOUNTADMIN;
                                    GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO ROLE DDW_ACCOUNT_ROLE;
      • オプション 2:ターゲット権限割り当てに特定のデータベースロールを割り当てる:

        USE ROLE ACCOUNTADMIN;
                                    USE DATABASE SNOWFLAKE;
                                    GRANT DATABASE ROLE OBJECT_VIEWER TO ROLE DDW_ACCOUNT_ROLE;
                                    GRANT DATABASE ROLE GOVERNANCE_VIEWER TO ROLE DDW_ACCOUNT_ROLE;

        これらのデータベースロールの詳細については、 Snowflakeのドキュメントを参照してください。

    4. オプション: Streamlitアプリの権限を付与します。

      これらの権限は、Streamlitアプリからメタデータを収集する場合にのみ必要です。

      GRANT USAGE ON STREAMLIT <streamlit_app_name> TO ROLE DDW_ACCOUNT_ROLE;
    5. コレクター専用のSnowflakeユーザーを作成します。

      このユーザーのキーペア認証を作成するには、ユーザー設定を変更するための少なくとも SECURITYADMIN ロールが必要です。Snowflakeのドキュメントを参照してください。

      CREATE USER DDW_ACCOUNT
                              RSA_PUBLIC_KEY = '<rsa_public_key>'
                              TYPE = SERVICE
                              DEFAULT_ROLE = DDW_ACCOUNT_ROLE
                              DEFAULT_WAREHOUSE = '<warehouse_name>'
                              DISPLAY_NAME = 'data.world';
                              
                              GRANT ROLE DDW_ACCOUNT_ROLE TO USER DDW_ACCOUNT;
    6. ウェアハウスへのアクセス権をユーザーに付与します。
      GRANT USAGE ON WAREHOUSE <warehouse_name> TO ROLE DDW_ACCOUNT_ROLE;
    7. 適切な権限が付与されていることを確認します。

      次のクエリを実行します。

      SHOW GRANTS TO ROLE DDW_ACCOUNT_ROLE;