如何使用带有 MFA 的 Okta 将 Snowflake 连接到 IDE?

How can you connect Snowflake to an IDE using Okta with MFA?

我们目前使用 Okta(需要 MFA)来管理我们的 Snowflake 用户,因此我们的大多数 Snowflake 用户都没有密码。我们有开发人员想要使用像 DataGrip 或 DBeaver 这样的 IDE,但我们无法使用 Okta 方法进行连接。

当我们尝试使用 authenticator='https://<your_okta_account_name>.okta.com' 的连接参数进行连接时,我们收到 [08001][390400] Bad request; operation not supported.

的错误消息

当我们尝试使用 authenticator= externalbrowser 的连接参数进行连接时,我们会收到 [08001][390400] !390400!

的错误消息

我们找不到比这些更好的错误消息了。我们通过 DBeaver 和 DataGrip 收到这些错误消息。

有什么建议可以让它发挥作用吗?我们无法确定这是 Snowflake 还是 Okta 问题。

我们参考了这些文档: https://docs.snowflake.net/manuals/user-guide/jdbc-configure.html#connection-parameters https://support.snowflake.net/s/article/How-to-Configure-Snowflake-connections-for-Datagrip

具体不确定 Okta,但是当您在更新 SAML_IDENTITY_PROVIDER 帐户参数时向 Snowflake 提供 SSO URL 时,您需要提供 SP-initiated SSO URL,因此您'将要确保为 SP 发起的单点登录设置 Okta。

SP-initiated 是服务提供商发起的身份验证,IdP-initiated 是身份提供商发起的身份验证。

我不是身份验证专家,但我学到了足够多的东西(我不会在这里详细介绍)尝试与我的公司进行设置,以了解 如果您想在将贵公司的身份提供商与 Snowflake 一起使用时使用非基于浏览器的工具,则需要使用 SP 启动的 SSO URL.[=13= 设置身份验证]

Snowflake 文档没有提及任何这些,因此导航起来可能很棘手。

如果您感兴趣,这里有一些与身份验证相关的详细信息: http://jamsheert.blogspot.com/2015/08/difference-between-idp-initiated-sso.html

Differences between SP initiated SSO and IDP initiated SSO

我们的问题实际上有所不同,与我们的 Okta/Snowflake 集成没有任何关系。我们本可以按照有关如何连接到 Tableau 或 DataGrip 的 Snowflake 文档进行操作。

使用 externalbrowser 身份验证器方法将 Okta 与 MFA 一起用于 Snowflake 时出现问题。我们的主机名有一个别名,我们试图将其用于身份验证。

例如,我们的真实主机名可能是aaa111.snowflakecomputing.com,我们有一个别名companyname.snowflakecomputing.com,您需要在设置连接时使用aaa111.snowflakecomputing.com主机名。

如果您在 Okta 上使用 MFA,则需要指定 externalbrowser 身份验证器方法。