我正在尝试使用 docker 容器内的雪花连接器。我想使用
externalbrowser
身份验证器,以便我可以使用 Okta 凭据建立连接,但连接器因以下提到的错误而失败。
DatabaseError:(snowflake.connector.errors.DatabaseError)250008(08001):无:无法连接到数据库:xx.snowflakecomputing.com:443,无法在此环境中打开浏览器。 (此错误的背景信息:http://sqlalche.me/e/13/4xp6)
顺便说一句,我建议从问题中删除您的帐户名(错误中显示)。
您说“externalbrowser”选项是基于浏览器的 SSO 是正确的。可以通过一些扩展软件和配置让它运行一个 docker 容器,但我不推荐它,因为它似乎不值得付出努力。
相反,您可以查看其他 SSO 身份验证方法,例如本机 SSO Okta、密钥对身份验证或外部 OAuth。这些不需要浏览器。
我花了几个小时试图找到一个解决方案,因为我使用 SSO + MFA,但是没有办法用例如“Native SSO Okta”来做到这一点。今天 GPT4 刚刚为我找到了一个简单的解决方案。
EXPOSE 5000-5100
添加到我的 Dockerfiledocker run --net=host -it <docker-image> run -m <my_model>
它给了我一个 URL 来复制粘贴到主机上的浏览器中以继续进行身份验证,然后要求我复制粘贴我也被重定向到终端的 URL 并且它有效。