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 データベース内のアカウント使用状況ビューをクエリする SELECT 権限があります。次の表を使用して、どのデータベースロールがビューにアクセスできるのかを確認してください。
ビュー |
データベースロール |
|---|---|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER または GOVERNANCE_VIEWER |
|
USAGE_VIEWER または GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER、 SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER、 GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
OBJECT_VIEWER |
|
GOVERNANCE_VIEWER |
|
OBJECT_VIEWER または GOVERNANCE_VIEWER |
|
USAGE_VIEWER |
|
SECURITY_VIEWER |
|
SECURITY_VIEWER |
|
OBJECT_VIEWER |
|
USAGE_VIEWER |
|
USAGE_VIEWER |
|
USAGE_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 スキーマ¶
The ML_USER SNOWFLAKE database role is granted to the PUBLIC role in all Snowflake accounts that contain a shared SNOWFLAKE database and allows customers to access and use ML functions. Users must also have the USAGE privilege on the ML schema to call these functions.
MONITORING スキーマ¶
MONITORING_VIEWER データベース・ロールは、 MONITORING スキーマ内のすべてのビューに対して SELECT 権限を持ちます。
MONITORING_VIEWER データベースロールは、共有 SNOWFLAKE データベースを含むすべてのSnowflakeアカウントの PUBLIC ロールに付与されます。
SNOWFLAKE.CLASSIFICATION_ADMIN データベースロール¶
The SNOWFLAKE.CLASSIFICATION_ADMIN database role allows a data engineer or steward to create an instance of the CLASSIFICATION_PROFILE class. A classification profile is used to implement automatic sensitive data classification.
SNOWFLAKE.CORTEX_AGENT_USER database role¶
SNOWFLAKE.CORTEX_AGENT_USER データベースロールを使用すると、他のCortex機能へのアクセスを許可せずに、ユーザーにSnowflake Cortexエージェント API へのアクセスを許可できます。Cortexエージェント API の使用には SNOWFLAKE.CORTEX_USER データベースロール または SNOWFLAKE.CORTEX_AGENT_USER データベースロールの いずれか が必要です。
デフォルトでは、SNOWFLAKE.CORTEX_USER データベースは PUBLIC ロールに付与されます。きめ細かいアクセス制御の場合は、PUBLIC ロールからのアクセスを取り消し、SNOWFLAKE.CORTEX_AGENT_USER データベースロールににアクセス権を付与します。詳細については、 エージェントへのアクセスを設定する をご参照ください。
SNOWFLAKE.CORTEX_EMBED_USER database role¶
この SNOWFLAKE.CORTEX_EMBED_USER データベースロールは、顧客に対し、他のCortex機能へのアクセス権を付与することなく、Snowflake Cortexの埋め込み関数 AI_EMBED、 SNOWFLAKE.CORTEX.EMBED_768、および SNOWFLAKE.CORTEX_EMBED_TEXT_1024へのアクセス権を付与するために使用されます。これらの埋め込み関数を呼び出すには、 SNOWFLAKE.CORTEX_USER データベースロール または SNOWFLAKE.CORTEX_EMBED_USER データベースロールの いずれか が必要です。このロールはデフォルトではどのロールにも付与されていません。
By default, this role is not granted to any roles. If you want users to have access to the embedding functions, grant this database role to appropriate roles. For details, see Cortex LLM Functions required privileges
SNOWFLAKE.CORTEX_USER database role¶
This SNOWFLAKE.CORTEX_USER database role is used to grant customers access to Snowflake Cortex features. By default, this role is granted to the PUBLIC role. The PUBLIC role is automatically granted to all users and roles, so this allows all users in your account to use Snowflake Cortex LLM functions.
If you don't want all users to have this privilege, you can revoke access from the PUBLIC role and grant access to specific roles. For details, see Cortex LLM Functions required privileges.
SNOWFLAKE.COPILOT_USER データベースロール¶
The SNOWFLAKE.COPILOT_USER database role allows customers to access Snowflake Copilot features. Initially, this database role is granted to the PUBLIC role. The PUBLIC role is automatically granted to all users and roles, so this allows all users in your account to use Snowflake Copilot. If you want to limit access to Snowflake Copilot features, you can revoke access from the PUBLIC role and grant access to specific roles. For details, see アクセス制御の要件.
SNOWFLAKE データベースロールの使用¶
管理者は GRANT DATABASE ROLE を使用して SNOWFLAKE データベースロールを別のロールに割り当て、それをユーザーに付与できます。これにより、ユーザーは SNOWFLAKE データベース内にあるビューの特定のサブセットにアクセスできるようになります。
In the following example a role is created which can be used to view SNOWFLAKE database object metadata, and does the following:
カスタムロールを作成します。
カスタムロールに 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;