Snowflake Cortex AI Functions Model RBAC Rollout (Pending)¶
以下 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所允许,或执行查询的角色拥有相应的模型应用程序角色。
为此变更做好准备:
检查您使用了哪些受影响的函数:
查看当前的模型治理设置:
如果使用允许列表(而非
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)
示例:
或者,通过设置
CORTEX_MODELS_ALLOWLIST = 'None'并将模型应用程序角色(例如SNOWFLAKE."CORTEX-MODEL-ROLE-ARCTIC-TRANSLATE")授予适当角色,以使用模型 RBAC。
此变更旨在:
保持一致的治理
统一强制执行最低权限访问
将托管的 AI 函数与现有的 Cortex 模型访问控制对齐
加强企业级合规性保障
提供透明的模型授权行为
参考:2220