Snowflake Cortex AI関数モデルRBACロールアウト(プレビュー)¶
次のSnowflake Cortex AI関数は、``CORTEX_MODELS_ALLOWLIST``パラメーターとモデルのロールベースのアクセス制御(RBAC)の両方を通じて、モデルのアクセス制御を完全に強制するようになりました。
AI_TRANSCRIBE/SNOWFLAKE.CORTEX.TRANSCRIBEAI_EXTRACT/SNOWFLAKE.CORTEX.EXTRACTAI_SENTIMENT/SNOWFLAKE.CORTEX.SENTIMENT/SNOWFLAKE.CORTEX.ENTITY_SENTIMENTAI_TRANSLATE/SNOWFLAKE.CORTEX.TRANSLATECLASSIFY_TEXTSUMMARIZEEXTRACT_ANSWERAI_PARSE_DOCUMENT/SNOWFLAKE.CORTEX.PARSE_DOCUMENTAI_REDACT
- 変更前:
モデルのアクセス制御(
CORTEX_MODELS_ALLOWLIST``およびモデルRBAC)が、``AI_COMPLETE/SNOWFLAKE.CORTEX.COMPLETE、AI_CLASSIFY、AI_FILTER、AI_AGG、および``AI_SUMMARIZE_AGG``に対して完全に強制されるようになりました。以前のSnowflake Cortex AI関数については、モデルのアクセス制御が強制されていませんでした。これらの関数を使用したクエリは、基になるモデルが``CORTEX_MODELS_ALLOWLIST``またはRBACモデルによって制限されている場合でも成功する可能性がありました。
- 変更後:
リストされたSnowflake Cortex AI関数のいずれかを呼び出す際、Snowflakeは次を実行します。
モデルRBACが最初に確認される:呼び出しロールが、対応するモデルオブジェクトに対する使用権限(たとえば、``SNOWFLAKE."CORTEX-MODEL-ROLE-ARCTIC-TRANSLATE"``を通じた権限)を持っている場合、呼び出しは許可されます。
モデルオブジェクトのアクセスが見つからない場合は、``CORTEX_MODELS_ALLOWLIST``が確認される:基になるモデルまたはエイリアスが``CORTEX_MODELS_ALLOWLIST``にリストされている場合、あるいは``CORTEX_MODELS_ALLOWLIST = 'All'``に設定されている場合、呼び出しは許可されます。
それ以外の場合、呼び出しはモデル認証エラーで失敗します。
これにより、リストされたすべてのSnowflake Cortex AI関数にわたって動作が統一され、既存のモデル制限が一貫して遵守されることが保証されます。
注釈
この変更により影響を受ける場合:
``CORTEX_MODELS_ALLOWLIST``パラメーターをデフォルトの``All``以外の値に設定しており、かつ、前述のSnowflake Cortex AI関数のいずれかを使用している場合に影響を受けます。
許可リストパラメーターの値を変更しておらず、モデルRBACを使用していない場合は、動作に変更はありません。
``CORTEX_MODELS_ALLOWLIST``をカスタマイズしている場合、以下のいずれかでない限り、対象となるクエリはモデル認証エラーで失敗する可能性があります。
基盤となるモデルまたはその関数固有のエイリアスが、``CORTEX_MODELS_ALLOWLIST``によって許可されている。
クエリを実行するロールが、対応するモデルアプリケーションロールを持っている。
この変更に備えるには:
影響を受ける関数を使用しているかどうか確認します。
SELECT DISTINCT FUNCTION_NAME FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_AISQL_USAGE_HISTORY WHERE USAGE_TIME >= DATEADD(day, -90, CURRENT_TIMESTAMP()) AND FUNCTION_NAME IN ( 'AI_TRANSCRIBE', 'TRANSCRIBE', 'AI_EXTRACT', 'AI_SENTIMENT', 'SENTIMENT', 'ENTITY_SENTIMENT', 'AI_TRANSLATE', 'TRANSLATE', 'CLASSIFY_TEXT', 'SUMMARIZE', 'EXTRACT_ANSWER', 'AI_PARSE_DOCUMENT', 'PARSE_DOCUMENT', 'AI_REDACT' ) ORDER BY FUNCTION_NAME;
現在のモデルガバナンス設定を確認します。
SHOW PARAMETERS LIKE 'CORTEX_MODELS_ALLOWLIST' IN ACCOUNT;
許可リスト(``All``ではない)、使用する関数に必要なモデルエイリアスを追加します。一般的なモデルのエイリアスには次が含まれます。
arctic-translate( ``AI_TRANSLATE``の場合)arctic-transcribe( ``AI_TRANSCRIBE``の場合)arctic-extract( ``AI_EXTRACT``の場合)arctic-parse-document( ``AI_PARSE_DOCUMENT``の場合)arctic-extract-answer( ``EXTRACT_ANSWER``の場合)arctic-sentiment( ``AI_SENTIMENT``の場合)arctic-summarize( ``SUMMARIZE``の場合)llama3.1-70b``(``CLASSIFY_TEXT、``AI_REDACT``の場合)mistral-7b( ``SUMMARIZE``の場合)
例:
ALTER ACCOUNT SET CORTEX_MODELS_ALLOWLIST = 'llama3.1-70b,arctic-translate,arctic-extract,arctic-sentiment,arctic-parse-document,arctic-extract-answer,arctic-summarize';
あるいは、``CORTEX_MODELS_ALLOWLIST = 'None'``に設定し、適切なロールに対してモデルアプリケーションロール(例:``SNOWFLAKE."CORTEX-MODEL-ROLE-ARCTIC-TRANSLATE"``など)を付与することで、モデルRBACを使用します。
この変更は、以下の目的で行われます。
一貫したガバナンスを維持する
最小権限のアクセスを均一に強制する
管理対象のAI関数を、既存のCortexモデルのアクセス制御と同期させる
エンタープライズグレードのコンプライアンス保証の強化
透過的なモデル認証動作を提供
参照:2220