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 スキーマ¶
ML_USER SNOWFLAKE データベースロールは、共有 PUBLIC データベースを含むすべてのSnowflakeアカウントで SNOWFLAKE ロールに付与され、顧客が ML 関数 にアクセスして使用できるようにします。これらの関数を呼び出すため、ユーザーには ML スキーマに対する USAGE 権限も必要です。
MONITORING スキーマ¶
MONITORING_VIEWER データベース・ロールは、 MONITORING スキーマ内のすべてのビューに対して SELECT 権限を持ちます。
MONITORING_VIEWER データベースロールは、共有 SNOWFLAKE データベースを含むすべてのSnowflakeアカウントの PUBLIC ロールに付与されます。
SNOWFLAKE.CLASSIFICATION_ADMIN データベースロール¶
SNOWFLAKE.CLASSIFICATION_ADMIN データベースのロールにより、データエンジニアまたはスチュワードは CLASSIFICATION_PROFILE クラスのインスタンスを作成できます。分類プロファイルは、 機密データの自動分類 を実装するために使用されます。
SNOWFLAKE.CORTEX_AGENT_USER database role¶
You can use the SNOWFLAKE.CORTEX_AGENT_USER database role to grant your users access to Snowflake Cortex Agents API without granting access to other Cortex features. Using the Cortex Agents API requires either the SNOWFLAKE.CORTEX_USER database role or the SNOWFLAKE.CORTEX_AGENT_USER database role.
By default, the SNOWFLAKE.CORTEX_USER database role is granted to the PUBLIC role. For fine-grained access control, revoke access from the PUBLIC role and grant access to the SNOWFLAKE.CORTEX_AGENT_USER database role. For more information, see エージェントへのアクセスを設定する.
SNOWFLAKE.CORTEX_EMBED_USER データベースロール¶
The SNOWFLAKE.CORTEX_EMBED_USER database role is used to grant customers access to Snowflake Cortex embedding functions AI_EMBED, SNOWFLAKE.CORTEX.EMBED_768, and SNOWFLAKE.CORTEX_EMBED_TEXT_1024 without granting access to other Cortex features. Calling these embedding functions requires either the SNOWFLAKE.CORTEX_USER database role or the SNOWFLAKE.CORTEX_EMBED_USER database role. This role is not granted to any roles by default.
デフォルトでは、このロールはどのロールにも付与されていません。ユーザーに埋め込み関数へのアクセス権を持たせたい場合は、このデータベースロールを適切なロールに付与します。詳細は、 Cortex LLM 関数で必要な権限 をご参照ください。
SNOWFLAKE.CORTEX_USER データベースロール¶
この SNOWFLAKE.CORTEX_USER データベースロールは、顧客にSnowflake Cortexの機能へのアクセス権を付与するために使用されます。デフォルトでは、このロールは 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;