Snowflake AI 機能のオプトアウト¶
ほとんどの Snowflake AI 機能は、最初はSnowflakeアカウントのすべてのユーザーが利用できます。ほとんどの機能へのアクセスは、 CORTEX_USER データベースロールによって制御され、これは最初は PUBLIC ロールに付与されます。すべてのユーザーに PUBLIC ロールが付与され、デフォルトでCortex機能にアクセスできるようになります。(Snowflake Copilotへのアクセスは、デフォルトで PUBLIC に付与される COPILOT_USER データベースロールによって制御されます。)2つの機能、Cortex Analystとドキュメント AI は、デフォルトではユーザーがアクセスできないオプトイン機能です。
デフォルト機能のオプトアウト¶
ユーザーがデフォルトで利用できるすべてのSnowflake AI 機能へのアクセスを取り消すには、 PUBLIC ロールから CORTEX_USER および COPILOT_USER データベースロールを取り消します。これらのロールを、機能へのアクセスを許可する特定のロール(ある場合)に付与し、必要に応じて特定のユーザーにそれらのロールを付与することができます。
注釈
オプトイン機能へのアクセスを許可していない場合、 PUBLIC からの CORTEX_USER および COPILOT_USER のロールを取り消すと、アカウントのすべてのSnowflake AI 機能が無効になります。
次のような SQL を使用して、 PUBLIC ロールから CORTEX_USER および COPILOT_USER ロールへのアクセスを取り消してから、それらを特定のロールおよびユーザーに付与します。
-- Revoke access to most Snowflake AI features from all users in the account
REVOKE ROLE CORTEX_USER FROM ROLE PUBLIC;
REVOKE ROLE COPILOT_USER FROM ROLE PUBLIC;
-- Optionally, grant access to specific roles
GRANT ROLE CORTEX_USER TO ROLE my_cortex_role;
GRANT ROLE COPILOT_USER TO ROLE my_copilot_role;
-- Then grant those roles to specific users
GRANT ROLE my_cortex_role TO USER alice;
GRANT ROLE my_copilot_role TO USER bob;
オプトイン機能へのアクセスを取り消す¶
2つのSnowflake AI 機能、ドキュメント AI とCortex Analystはオプトインです。これらの機能へのアクセスはデフォルトで無効になっているため、アクセスを許可していない場合、ユーザーはそれらを使用できません。これらの機能のいずれかまたは両方にアクセスを許可している場合は、次のようにアクセスを取り消すことができます。
Cortex Analyst: ENABLE_CORTEX_ANALYST アカウントパラメーターを FALSE に設定します。
ドキュメント AI: SNOWFLAKE.DOCUMENT_INTELLIGENCE_CREATORデータベースロールを、付与したすべてのロールから取り消します。
注釈
すでに作成されたパイプラインは、機能へのアクセスを取り消した後も動作し続けます。パイプラインに関連付けられたタスクを一時停止または削除して、実行を停止します。
機能によるアクセス制御¶
次のテーブルには、個々のSnowflake AI 機能のアクセス制御に関する詳細情報が記載されています。
機能 |
オプト イン |
主なアクセス制御方法 |
追加のアクセス制御方法 |
---|---|---|---|
CORTEX_USER データベースロール |
エージェントがクエリする検索サービス上の USAGE と、検索サービスで使用されるデータベース、スキーマ、およびテーブルに対する USAGE |
||
:ref:` Cortex AISQL <label-cortex_llm__privileges>` |
CORTEX_USER データベースロール |
||
✔ |
ENABLE_CORTEX_ANALYST アカウントパラメーター |
||
CORTEX_USER データベースロール |
微調整されたモデルを作成するスキーマで CREATE MODELを実行する |
||
CORTEX_USER データベースロール |
基礎となるCortex Search Serviceのアクセス制御に依存します |
||
CORTEX_USER データベースロール |
検索サービス、データベース、スキーマ、検索サービスが使用するテーブル上の USAGE |
||
✔ |
SNOWFLAKE.DOCUMENT_INTELLIGENCE_CREATOR データベースロール |
モデルとパイプラインを作成するための多数のオブジェクトレベル権限 |
|
COPILOT_USER データベースロール |
|||
CORTEX_USER データベースロール |
基盤となるCortex Agentまたは検索サービスのアクセス制御に依存します |
特定のモデルおよび AISQL 関数のオプトアウト¶
さまざまな大規模言語モデルや AISQL 関数の使用コストは異なるため、特定の LLMs または関数へのアクセスを制限する場合があります。個々のモデルや関数へのアクセスは、アカウントレベルの許可リスト、ロールベースのアクセス制御、またはその両方で制御することができます。詳細については、 モデルアクセスの制御 をご参照ください。
ML 機能へのアクセスの制御¶
Snowflake ML 機能は AI 機能ではないため、それらへのアクセスは CORTEX_USER ロールによって制御されません。
ML 関数¶
ML 関数 は、データの予測、異常検出、分類、分析に従来の機械学習を採用します。ML 関数によるモデルの作成はオプトインであり、スキーマに対する CREATESNOWFLAKE.ML.FORECAST などの関数固有の権限によって制御されます。トレーニング済みモデルへのアクセスは、モデルプロジェクトに対する USAGE 権限によって制御されます。これらの権限をすでに付与している場合は、ユーザーが ML 関数モデルを作成したり、使用したりできないように権限を取り消します。
スキーマの所有者は、特定のタイプのモデルに対する CREATE 権限を持っているかどうかに関係なく、スキーマ内に ML 関数モデルを作成できるため、スキーマの所有権と作成を信頼できるユーザーに制限しています。各スキーマ内でモデルを作成するための特定の権限を、必要なユーザーにのみ付与します(存在する場合)。
Snowflake ML¶
Snowflake ML では、 Pythonで開発されたカスタム機械学習モデルをSnowflake規模で構築、展開、管理できます。モデルレジストリ、フィーチャーストア、モデルとそのバージョンを含むSnowflake ML オブジェクトの作成と使用は、 CORTEX_USER ロールによって制御されません。
Snowflake ML オブジェクトはスキーマレベルのオブジェクトであるため、ユーザーはユーザーは、 OWNERSHIP または適切なCREATE 権限(例:CREATE MODEL REGISTRY)を持つ任意のスキーマでSnowflake ML オブジェクトを作成できます。したがって、Snowflake ML へのアクセスは、所有権とスキーマの作成を信頼できるユーザーに制限することで最適に制御されます。各スキーマ内でSnowflake ML オブジェクトを作成するための特定の権限を、それを必要とするユーザーのみに付与します。