認証を設定し、ロール権限を付与して、Snowflake メタデータ収集を有効にします。
始める前に
必要なロール:ACCOUNTADMIN
権限を付与するには、SnowflakeのACCOUNTADMINロールが必要です。
このタスクについて
コレクターは、ユーザー名とキーペアの認証をサポートしています。詳細については、 Snowflakeのドキュメントを参照してください。
Snowflakeはロールに基づいて認可を決定します。Snowflake に接続する場合は、ロールを指定する必要があります。メタデータの全範囲を収集するには、ACCOUNTADMIN ロールが必要です。他のロールは、基本的なメタデータへのアクセスのみを提供し、拡張メタデータやリネージ情報は提供しません。ACCOUNTADMIN 以外のロールを使用する場合は、このタスクで概説されているロール固有の権限を付与します。
一部のコレクター機能では、Snowflakeでクエリを実行する必要があり、ウェアハウスが必要です。ユーザー認証情報にデフォルトの倉庫が設定されている場合、追加の倉庫構成は必要ありません。別のウェアハウスを使用する場合、またはデフォルトのウェアハウスが設定されていない場合は、Snowflake Warehouse 構成オプションを使用してウェアハウスを指定します。
手順
-
ロールを作成し、倉庫権限を付与します。
CREATE OR REPLACE ROLE DDW_ACCOUNT_ROLE;
GRANT OPERATE, USAGE ON WAREHOUSE <warehouse_name> TO ROLE DDW_ACCOUNT_ROLE;
-
データベース、スキーマ、テーブル、およびビューのメタデータ収集を有効にする権限を付与します。
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;
-
オブジェクト依存関係ベースのリネージ、ユーザー定義関数、データメトリクス関数、ストアドプロシージャ、タグとタグ値、行アクセスポリシー、マスクポリシー、テーブル使用率を収集する権限を付与します。
重要: これらの権限を付与するには、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のドキュメントを参照してください。
- オプション:
Streamlitアプリの権限を付与します。
これらの権限は、Streamlitアプリからメタデータを収集する場合にのみ必要です。
GRANT USAGE ON STREAMLIT <streamlit_app_name> TO ROLE DDW_ACCOUNT_ROLE;
-
コレクター専用の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;
-
ウェアハウスへのアクセス権をユーザーに付与します。
GRANT USAGE ON WAREHOUSE <warehouse_name> TO ROLE DDW_ACCOUNT_ROLE;
-
適切な権限が付与されていることを確認します。
次のクエリを実行します。
SHOW GRANTS TO ROLE DDW_ACCOUNT_ROLE;