如何通过自定义OAuth集成连接Snowflake Web UI
解决方案
你创建的自定义外部OAuth安全集成默认仅支持API/客户端连接场景,要实现Web UI登录时自动跳转到你的身份提供商,可按以下两种方案操作:
方案1:使用专用跳转URL(无需修改账号默认配置)
直接构造带集成参数的登录链接,访问该链接即可自动触发跳转:
链接格式为 https://<你的Snowflake账号域名>/console/login?integration=<OAuth集成名称>
对应你的场景,直接访问以下地址即可:https://xxxx.us-east-1.snowflakecomputing.com/console/login?integration=fred_oauth_integration
注意:你需要先在身份提供商侧将Snowflake回调地址加入白名单,回调地址格式为
https://<你的Snowflake账号域名>/oauth/redirect
方案2:配置账号默认SSO登录(所有用户访问默认登录页自动跳转)
如果你希望所有用户访问默认Web UI地址时直接跳转到你的身份提供商,需要完成以下两步配置:
- 第一步,修改现有OAuth安全集成,开启SSO登录页支持:
alter security integration fred_oauth_integration set external_oauth_sso_landing_page_enabled = true; - 第二步,修改账号级安全参数,设置默认SSO集成:
alter account set sso_login_page_enabled = true; alter account set default_security_integration = 'fred_oauth_integration';
配置验证
配置完成后可按对应场景测试:
- 方案1:直接访问你构造的带集成参数的链接,确认会跳转到身份提供商登录页,登录成功后可正常跳转回Snowflake控制台
- 方案2:直接访问默认的Web UI地址
https://xxxx.us-east-1.snowflakecomputing.com/console/login#/,即可自动触发身份提供商跳转
如果登录出现异常,可以执行以下SQL查看集成配置是否正确:
select * from table(information_schema.security_integrations()) where integration_name = 'FRED_OAUTH_INTEGRATION';
内容的提问来源于stack exchange,提问作者Frederic PIROT
相关产品推荐
相关产品推荐

