Implementação do RBAC no nível do modelo no Snowflake Cortex AI Functions (versão preliminar)

Atenção

Esta mudança de comportamento faz parte do pacote 2026_02.

Para saber o status atual do pacote, consulte Histórico do pacote.

As funções do Snowflake Cortex AI Functions a seguir agora aplicam integralmente os controles de acesso de modelo por meio tanto do parâmetro CORTEX_MODELS_ALLOWLIST quanto do controle de acesso baseado em função (Role-Based Access Control, RBAC) no nível do modelo:

  • AI_TRANSCRIBE / SNOWFLAKE.CORTEX.TRANSCRIBE

  • AI_EXTRACT / SNOWFLAKE.CORTEX.EXTRACT

  • AI_SENTIMENT / SNOWFLAKE.CORTEX.SENTIMENT / SNOWFLAKE.CORTEX.ENTITY_SENTIMENT

  • AI_TRANSLATE / SNOWFLAKE.CORTEX.TRANSLATE

  • CLASSIFY_TEXT

  • SUMMARIZE

  • EXTRACT_ANSWER

  • AI_PARSE_DOCUMENT / SNOWFLAKE.CORTEX.PARSE_DOCUMENT

  • AI_REDACT

Antes da mudança:

Os controles de acesso de modelo CORTEX_MODELS_ALLOWLIST e o RBAC no nível do modelo eram totalmente aplicados para AI_COMPLETE/SNOWFLAKE.CORTEX.COMPLETE, AI_CLASSIFY, AI_FILTER, AI_AGG e AI_SUMMARIZE_AGG.

No Snowflake Cortex AI Functions anterior, os controles de acesso de modelo não eram aplicados. As consultas que usavam essas funções podiam ser bem-sucedidas mesmo quando o modelo subjacente era restrito por``CORTEX_MODELS_ALLOWLIST`` ou pelo RBAC no nível do modelo.

Após a mudança:

Quando você chama qualquer uma das funções do Snowflake Cortex AI Functions listadas, o Snowflake faz o seguinte:

  1. Verifica primeiro o RBAC no nível do modelo: Se a função que faz a chamada tem uso no objeto de modelo correspondente (por exemplo, via SNOWFLAKE."CORTEX-MODEL-ROLE-ARCTIC-TRANSLATE"), a chamada é permitida.

  2. Se nenhum acesso ao objeto de modelo for encontrado, verifica CORTEX_MODELS_ALLOWLIST: Se o modelo ou alias subjacente constar na lista CORTEX_MODELS_ALLOWLIST ou se``CORTEX_MODELS_ALLOWLIST = “All”``, a chamada é permitida.

  3. Caso contrário, haverá falha na chamada com um erro de autorização de modelo.

Esse procedimento se alinha ao comportamento de todas as funções do Snowflake Cortex AI Functions listadas e garante que suas restrições de modelo existentes sejam respeitadas de maneira consistente.

Nota

Se você foi afetado por esta mudança:

Você será afetado se tiver definido o parâmetro CORTEX_MODELS_ALLOWLIST como um valor diferente do padrão All e se usa qualquer uma das funções anteriores do Snowflake Cortex AI Functions.

Se você não tiver alterado o valor do parâmetro na lista de permissão e não usa o RBAC de modelo, não verá nenhuma mudança de comportamento.

Se você personalizou CORTEX_MODELS_ALLOWLIST, as consultas afetadas podem começar a falhar com um erro de autorização de modelo, a menos que:

  • o modelo subjacente ou o alias específico da função seja permitido por CORTEX_MODELS_ALLOWLIST ou;

  • a função que executa a consulta tenha a função de aplicativo de modelo correspondente.

Para se preparar para esta mudança:

  1. Verifique quais funções afetadas você usa:

    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;
    
    Copy
  2. Revise suas configurações atuais de governança de modelo:

    SHOW PARAMETERS LIKE 'CORTEX_MODELS_ALLOWLIST' IN ACCOUNT;
    
    Copy
  3. Se você usa uma lista de permissão (não All), adicione os aliases de modelo necessários às funções que utiliza. Os aliases de modelo comuns incluem:

    • arctic-translate (para AI_TRANSLATE)

    • arctic-transcribe (para AI_TRANSCRIBE)

    • arctic-extract (para AI_EXTRACT)

    • arctic-parse-document (para AI_PARSE_DOCUMENT)

    • arctic-extract-answer (para EXTRACT_ANSWER)

    • arctic-sentiment (para AI_SENTIMENT)

    • arctic-summarize (para SUMMARIZE)

    • llama3.1-70b (para CLASSIFY_TEXT, AI_REDACT)

    • mistral-7b (para SUMMARIZE)

    Exemplo:

    ALTER ACCOUNT SET CORTEX_MODELS_ALLOWLIST =
      'llama3.1-70b,arctic-translate,arctic-extract,arctic-sentiment,arctic-parse-document,arctic-extract-answer,arctic-summarize';
    
    Copy

Se preferir, use o RBAC de modelo definindo CORTEX_MODELS_ALLOWLIST = 'None' e concedendo funções de aplicativo de modelo (por exemplo, SNOWFLAKE."CORTEX-MODEL-ROLE-ARCTIC-TRANSLATE") às funções apropriadas.

Esta mudança está sendo feita para:

  • Manter uma governança consistente

  • Aplicar o acesso com privilégios mínimos de maneira uniforme

  • Alinhar as funções de AI gerenciadas aos controles de acesso de modelo do Cortex existentes

  • Reforçar as garantias de conformidade de nível empresarial

  • Fornecer um comportamento de autorização de modelo transparente

Ref: 2220