データ品質のアクセス制御¶
次のセクションでは、データ品質とデータメトリック関数(DMFs)に関連するアクションのアクセス制御要件について説明します。
一般的なタスク¶
注釈
スキーマ内のオブジェクトに対して操作を実行するには、親データベースとスキーマに対する USAGE 権限が必要です。スキーマについての権限を付与されたロールは、そのスキーマ名を解決できるようになります。たとえば、スキーマに対するCREATE権限を付与されたロールは、そのスキーマにオブジェクトを作成できますが、そのスキーマに対するUSAGE*も*付与されている必要はありません。
タスク |
必要な権限/ロール |
メモ |
|---|---|---|
DMF をテーブルまたはビューに関連付ける |
アカウントに対する EXECUTE DATA METRIC FUNCTION |
|
DMF に対する USAGE 権限 |
|
|
次のいずれかを使用します。
|
EXECUTE AS ROLE プロパティについては、テーブルまたはビューに対する必須権限 をご参照ください。 |
|
オブジェクトと DMFs との関連付けを表示する |
DMF に対する USAGE 権限 |
|
DMF に関連付けられたテーブルまたはビューに対する SELECT 権限 |
||
カスタム DMF |
スキーマに対する CREATE DATA METRIC FUNCTION 権限 |
|
DMF を手動で呼び出します。 |
DMF に対する USAGE 権限 |
|
呼び出しで指定されたテーブルまたはビューに対する SELECT 権限 |
データ品質の結果の表示¶
表示オプション |
必要な権限/ロール |
メモ |
|---|---|---|
DATA_QUALITY_MONITORING_RESULTS_RAW イベントテーブル |
DATA_QUALITY_MONITORING_ADMIN アプリケーションロール |
|
DATA_QUALITY_MONITORING_RESULTS ビュー |
次のいずれかを使用します。
|
|
DATA_QUALITY_MONITORING_RESULTS 関数 |
次のいずれかを使用します。
|
|
DATA_QUALITY_MONITORING_LOOKUP アプリケーションロールを使用する場合は次も必要です。
|
|
テーブルまたはビューに対する必須権限¶
DMF をテーブルまたはビューに関連付けるためのアクセス制御要件の1つは、そのテーブルまたはビューに対する適切な権限を持つことです。DMF をロールのオブジェクトに関連付けるには、以下のいずれかの権限が必要です。
テーブルまたはビューに対する OWNERSHIP 権限。
テーブルまたはビューに対する SELECT 権限。
DMFs をオブジェクトに関連付けることが可能なオブジェクトに対する SELECT 権限を持つロールが必要な場合は、関連付けを定義するときの EXECUTE AS ROLE プロパティを設定する必要があります。このプロパティは、DMF で実行されるロールを指定します。たとえば、ロール analyst_role がテーブル t1 に対する SELECT 権限を持つと仮定します。positive_number_count DMF をテーブル t1 と関連付けるには、analyst_role ロールで実行するように次のコマンドを実行します。
ALTER TABLE t1
ADD DATA METRIC FUNCTION governance.dfms.positive_number_count on (c1, c2, c3)
EXECUTE AS ROLE analyst_role;
このコマンドは、analyst_role ロールを持つユーザー、またはロール階層の上位にあるロールを持つユーザー(たとえば ACCOUNTADMIN ロール)が実行できます。
EXECUTE AS ROLE プロパティが指定されていない場合、DMF は、テーブル所有者のロールで実行されます。現在のユーザーのロールによって動作が異なるデータガバナンスポリシーに影響を与える可能性があるため、DMF で実行するロールは重要です。
EXECUTE AS ROLE プロパティの利点¶
EXECUTE AS ROLE プロパティを使用すると、非所有者に関連付けを許可し、テーブルまたはビューに対して DMF を実行できるようにします。これにより、データガバナーはテーブルを所有することなく、データ品質チェックを作成することができます。
制限事項¶
MODIFY DATA METRIC FUNCTION 句を使用して EXECUTE AS ROLE プロパティで指定されたロールを変更することはできません。関連付けをドロップし、新しい EXECUTE AS ROLE ロールで再作成する必要があります。
システム DMFs に対する USAGE 権限を付与する¶
システム DMF の関連付けと実行には、システム DMF に対する USAGE 権限が必要です。SNOWFLAKE.DATA_METRIC_USER データベースロールを付与すると、ユーザーにすべてのシステム DMFs に対する USAGE 権限を付与できます。
たとえば、システム DMFs を操作するための data_governor ロールを持つユーザーを許可する場合、次のコマンドを実行します。
GRANT DATABASE ROLE snowflake.data_metric_user TO ROLE data_governor;
または、次のアクセス制御オプションでシステム DMFs に対する USAGE 権限を付与することもできます。これらのオプションは、システム DMFs 以上のものにアクセスできるため、使用の際には注意が必要です。
付与 IMPORTEDPRIVILEGES に対する SNOWFLAKE テーブル所有者ロールにデータベース。詳細については、をご参照ください。他のロールが SNOWFLAKE データベースのスキーマを使用できるようにする.
ACCOUNTADMIN ロールを使用します。
カスタム DMF に対する権限の付与¶
GRANT と REVOKE コマンドでは、作成したカスタム DMF の引数を指定する必要があります。例:
GRANT USAGE ON FUNCTION
governance.dmfs.count_positive_numbers(TABLE(NUMBER, NUMBER, NUMBER))
TO data_engineer;