SNOWFLAKE データベースロール¶
アカウントがプロビジョニングされると、 SNOWFLAKE データベースが自動的にインポートされます。データベースは、 Secure Data Sharing を使用して、組織およびアカウントのオブジェクトメタデータおよびその他の使用メトリックを提供するSnowflakeの例です。
SNOWFLAKE データベース内のスキーマオブジェクトへのアクセスは、さまざまな データベースロール によって制御されます。次のセクションでは、ロールに付与された、各 SNOWFLAKE データベースロール、関連する権限、および関連スキーマオブジェクトへのアクセス権について説明します。
ACCOUNT_USAGE スキーマ¶
ACCOUNT_USAGE スキーマには4つの SNOWFLAKE データベースロールが定義されており、それぞれに特定のビューに対する SELECT 権限が付与されています。
ロール |
目的および説明 |
---|---|
OBJECT_VIEWER |
OBJECT_VIEWER ロールは、オブジェクトメタデータを可視化します。 |
USAGE_VIEWER |
USAGE_VIEWER ロールは、使用履歴の情報を可視化します。 |
GOVERNANCE_VIEWER |
GOVERNANCE_VIEWER ロールは、ポリシー関連の情報を可視化します。 |
SECURITY_VIEWER |
SECURITY_VIEWER ロールは、セキュリティベースの情報を可視化します。 |
データベースロール別の ACCOUNT_USAGE ビュー¶
OBJECT_VIEWER、 USAGE_VIEWER、 GOVERNANCE_VIEWER、および SECURITY_VIEWER のロールには、共有 SNOWFLAKE データベースでAccount Usageビューをクエリする SELECT 権限があります。
チェックマーク(つまり ✔)は、ビューに対する SELECT 権限がロールに付与されていることを示します。
ビュー |
OBJECT_VIEWERロール |
USAGE_VIEWERロール |
GOVERNANCE_VIEWERロール |
SECURITY_VIEWERロール |
---|---|---|---|---|
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
✔ |
|||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
✔ |
|||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
✔ |
|||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
✔ |
|||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
||||
✔ |
READER_ACCOUNT_USAGE スキーマ¶
READER_USAGE_VIEWER SNOWFLAKE データベースロールには、すべての READER_ACCOUNT_USAGE ビューに対する SELECT 権限が付与されています。リーダーアカウントはクライアントによって作成されるため、 READER_USAGE_VIEWER ロールは、リーダーアカウントの使用をモニターするために使用するロールに付与されることが期待されます。
ビュー |
---|
ORGANIZATION_USAGE スキーマ¶
ORGANIZATION_USAGE_VIEWER、 ORGANIZATION_BILLING_VIEWER、 および ORGANIZATION_ACCOUNTS_VIEWER SNOWFLAKE データベースロールには、共有 SNOWFLAKE データベースで組織の使用法ビューに対する SELECT 権限が付与されます。
ビュー |
ORGANIZATION_BILLING_VIEWERロール |
ORGANIZATION_USAGE_VIEWERロール |
ORGANIZATION_ACCOUNTS_VIEWERロール |
---|---|---|---|
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
|||
✔ |
CORE スキーマ¶
CORE_VIEWER SNOWFLAKE データベースロールは、共有 SNOWFLAKE データベースを含むすべてのSnowflakeアカウントの PUBLIC ロールに付与されます。USAGE 権限は、 CORE スキーマ内にあるすべてのSnowflake定義の関数とバンドルに付与されます。
予算クラス¶
BUDGET_CREATOR Snowflakeデータベースロールには、 SNOWFLAKE.CORE スキーマおよびスキーマ内の BUDGET クラスに対して USAGE 権限が付与されます。この付与により、 BUDGET_CREATOR ロールを持つユーザーは BUDGET クラスのインスタンスを作成できるようになります。
詳細については、 予算を作成するためにカスタムロールを作成する をご参照ください。
タグオブジェクト¶
CORE_VIEWER データベースロールには、各データ分類 システムタグ に SNOWFLAKE.CORE.PRIVACY_CATEGORY と SNOWFLAKE.CORE.SEMANTIC_CATEGORY の APPLY 権限が付与されます。これらの付与により、 CORE_VIEWER データベースロールが付与されたロールを持つユーザーは、これらのシステムタグを列に割り当てることができるようになります。
詳細については、以下をご参照ください。
ALERT スキーマ¶
ALERT_VIEWER SNOWFLAKE データベースロールには、このスキーマで定義された関数に対する USAGE 権限が付与されます。
ML スキーマ¶
ML_USER SNOWFLAKE データベースロールは、共有 SNOWFLAKE データベースを含むすべてのSnowflakeアカウントで PUBLIC ロールに付与され、顧客が ML 関数 にアクセスして使用できるようにします。
MONITORING スキーマ¶
MONITORING_VIEWER データベース・ロールは、 MONITORING スキーマ内のすべてのビューに対して SELECT 権限を持ちます。
MONITORING_VIEWER データベースロールは、共有 SNOWFLAKE データベースを含むすべてのSnowflakeアカウントの PUBLIC ロールに付与されます。
CORTEX スキーマ¶
デフォルトでは、CORTEX_USERロールはPUBLICロールに付与されます。PUBLICロールはすべてのユーザーとロールに自動的に付与されるため、アカウント内のすべてのユーザーがSnowflake Cortex LLM関数を使用できるようになります。
すべてのユーザーにこの権限を与えたくない場合は、PUBLICロールのアクセス権を取り消し、特定のロールにアクセス権を与えることができます。詳細については、 Cortex LLM 必要な関数権限 をご参照ください。
SNOWFLAKE.COPILOT_USER データベースロール¶
SNOWFLAKE.COPILOT_USER データベースロールは、顧客が Snowflake Copilot 機能にアクセスできるようにします。初期状態では、このデータベースロールは PUBLIC ロールにのみ付与されます。PUBLIC ロールはすべてのユーザーとロールに自動的に付与されるため、アカウント内のすべてのユーザーが Snowflake Copilot 使用できるようになります。 Snowflake Copilot 機能へのアクセスを制限したい場合は、 PUBLIC ロールのアクセス権を剥奪し、特定のロールにアクセス権を付与することができます。詳細については、 アクセス制御の要件 をご参照ください。
SNOWFLAKE データベースロールの使用¶
管理者は GRANT DATABASE ROLE を使用して SNOWFLAKE データベースロールを別のロールに割り当て、それをユーザーに付与できます。これにより、ユーザーは SNOWFLAKE データベース内にあるビューの特定のサブセットにアクセスできるようになります。
次の例では、 SNOWFLAKE データベースオブジェクトのメタデータを表示するために使用できるロールが作成され、次を実行します。
カスタムロールを作成します。
カスタムロールに OBJECT_VIEWER ロールを付与します。
ユーザーにカスタムロールを付与します。
カスタムロールを作成して付与するには、次を実行します。
オブジェクトメタデータへのアクセス権を付与するために使用される CREATE ROLE を使用して、
CAN_VIEWMD
ロールを作成します。ロールを作成できるのは、USERADMIN システムロール以上のユーザーか、アカウントの CREATE ROLE 権限を持つ別のロールのみです。
CREATE ROLE CAN_VIEWMD COMMENT = 'This role can view metadata per SNOWFLAKE database role definitions';
CAN_VIEWMD ロールに OBJECT_VIEWER ロールを付与します。
OWNERSHIP ロールを持つユーザーのみが SNOWFLAKE データベースロールを付与できます。詳細については、 GRANT DATABASE ROLE をご参照ください。
GRANT DATABASE ROLE OBJECT_VIEWER TO ROLE CAN_VIEWMD;
ユーザー
smith
にロールCAN_VIEWMD
ロールを割り当てます。SECURITYADMIN ロールを持つユーザーのみがユーザーにロールを付与できます。その他のオプションについては、 GRANT ROLE をご参照ください。
GRANT ROLE CAN_VIEWMD TO USER smith;