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 |
|
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 |
|
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 |
|
USAGE_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 クラスのインスタンスを作成できるようになります。
詳細については、 予算を作成するためにカスタムロールを作成する をご参照ください。
タグオブジェクト¶
The CORE_VIEWER database role is granted the APPLY privilege on the classification system tags SNOWFLAKE.CORE.PRIVACY_CATEGORY and SNOWFLAKE.CORE.SEMANTIC_CATEGORY. These grants allow users with a role that is granted the CORE_VIEWER database role to assign these system tags to columns.
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 データベースロール¶
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 sensitive data classification.
SNOWFLAKE.CORTEX_AGENT_USER データベースロール¶
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 データベースロール¶
この 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 データベースロールの いずれか が必要です。このロールはデフォルトではどのロールにも付与されていません。
デフォルトでは、このロールはどのロールにも付与されていません。ユーザーに埋め込み関数へのアクセス権を持たせたい場合は、このデータベースロールを適切なロールに付与します。詳細は、 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;