CORTEX_ MODELS_ ALLOWLIST deprecation and embedding model RBAC enforcement (Pending)¶
Snowflake is converging Cortex model access on model role-based access control (RBAC). The
CORTEX_MODELS_ALLOWLIST account parameter is being deprecated, and model RBAC authorization is
being enforced for embedding models, including AI_EMBED and
Cortex Search. This change rolls
out in phases: an unbundled behavior change that deprecates the allowlist and migrates accounts to
model RBAC, followed by embedding model RBAC enforcement in the 2026_07 behavior change bundle.
Note
This change rolls out in phases between August 2026 and November 2026:
- August 5, 2026:
CORTEX_MODELS_ALLOWLISTcan no longer be changed to a new value. The only permitted change is to set it to'None'. Accounts that have the allowlist set to'All'(including new accounts, which default to'All') automatically receive theCORTEX-MODEL-ROLE-ALLapplication role throughSNOWFLAKE.PUBLIC. - August 17, 2026 - September 4, 2026: Existing accounts receive a one-time migration that maps
the
CORTEX_MODELS_ALLOWLISTconfiguration to model RBAC application roles, including embedding models. You can validate the migration after it completes. - September 8, 2026: Access control based on
CORTEX_MODELS_ALLOWLISTis removed. Model RBAC, including embedding model RBAC, becomes the only supported access control mechanism for Snowflake AI. This enforcement is delivered through the 2026_07 behavior change bundle. - November 18, 2026: The rollout is complete and
CORTEX_MODELS_ALLOWLISTis fully retired.
All dates are subject to change; monitor the Snowflake release notes for the latest timeline.
- Before the change:
When a Cortex call arrives, Snowflake checks model RBAC first. If the calling role doesn’t have access to the corresponding model object in
SNOWFLAKE.MODELS, Snowflake falls back to theCORTEX_MODELS_ALLOWLISTparameter. You can set the allowlist to'All','None', or a comma-separated list of models, and model RBAC isn’t enforced for embedding models.- After the change:
Cortex model access is determined exclusively through model RBAC.
CORTEX_MODELS_ALLOWLISTis no longer consulted during authorization, and you can only set it to'None'. Model RBAC is enforced for embedding models, including AI_EMBED and Cortex Search.Existing accounts retain access through an automatic backfill of embedding model application roles, and newly created accounts receive access through the automatic
CORTEX-MODEL-ROLE-ALLbootstrap grant.
What you need to do¶
If CORTEX_MODELS_ALLOWLIST is already set to 'None' in your account, you’re already using model
RBAC exclusively and no action is required.
Otherwise, to ensure uninterrupted access to models after enforcement begins, choose one of the following migration options. For detailed steps, including how to identify affected workloads and grant the equivalent model application roles, see Migrate from the allowlist to RBAC.
-
Option 1: Migrate yourself. Configure model access using model RBAC application roles, validate that the configuration provides the required model access, and then set the allowlist to
'None': -
Option 2: Wait for Snowflake’s one-time migration. Snowflake maps your existing
CORTEX_MODELS_ALLOWLISTconfiguration to model RBAC application roles between August 17 and September 4, 2026. Validate that the migrated configuration matches your expected model access, and then set the allowlist to'None'.
While you wait for the Snowflake migration, model RBAC and the allowlist continue to work together, with no change from the current behavior, until the migration begins on August 17, 2026. Test in a non-production account before confirming the migration.
Enforcement through the 2026_ 07 behavior change bundle¶
Model RBAC enforcement for embedding models is delivered through the 2026_07 behavior change bundle. The bundle follows the standard bundle lifecycle: a default opt-out period beginning around September 8, 2026, followed by a default opt-in period beginning around October 13, 2026, with the rollout completing on November 18, 2026. More detailed documentation accompanies the 2026_07 bundle when it’s published.
Note
The allowlist-to-RBAC backfill is best-effort and might not cover all execution contexts. The
backfill grants Cortex model application roles to the PUBLIC role, but PUBLIC isn’t activated in all
execution contexts. For example, sessions that disable secondary roles (USE SECONDARY ROLES NONE),
Native Apps, and restricted caller’s rights stored procedures might not activate PUBLIC’s grants. As
a result, some AI functionality might still require you to explicitly grant model application roles to
the correct execution role. Test all of your workloads before setting the allowlist to 'None', and
contact Snowflake Support if you run into issues.
Ref: 2378