You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Keycloak对接Snowflake外部OAuth认证时EXTERNAL_OAUTH_MISSING_AUDIENCE求助

问题排查与解决方案

报错原因

  • Snowflake默认对外部OAuth令牌强制校验aud(受众)声明,你当前创建的安全集成未配置EXTERNAL_OAUTH_AUDIENCE_LIST参数,无合法的受众校验规则
  • Keycloak返回的访问令牌未携带符合要求的aud声明,或声明值与Snowflake侧配置不匹配

修复步骤

步骤1:更新Snowflake安全集成配置

执行如下SQL补充受众校验规则:

ALTER SECURITY INTEGRATION external_oauth_keycloak
SET EXTERNAL_OAUTH_AUDIENCE_LIST = ('<替换为你为Snowflake客户端设定的受众标识>');

如果是测试场景需要临时跳过受众校验,可执行如下配置(生产环境不推荐):

ALTER SECURITY INTEGRATION external_oauth_keycloak
SET EXTERNAL_OAUTH_ANY_ROLE_MODE = 'ENABLE';

步骤2:调整Keycloak令牌配置

  • 进入Keycloak管理后台,打开对接Snowflake的客户端配置页
  • 进入「客户端作用域」配置,添加audience类型的协议映射器,将映射值设置为你在SnowflakeEXTERNAL_OAUTH_AUDIENCE_LIST中填写的标识
  • 重新生成访问令牌后,解码确认令牌Payload中已存在aud字段且值匹配,再调用Snowflake系统函数完成验证:SELECT SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN('<你的访问令牌>');

内容的提问来源于stack exchange,提问作者Katalina Zamora

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 20:06:03