为 Snowflake 连接配置 OAuth

连接到 Snowflake 数据时,有三个身份验证选项可供选择。

Oauth:您可以使用您可以使用 Oauth 启用来自 IDP 的 联合。

Okta 用户名和密码:您可以在连接中嵌入 IDP 凭据(仅适用于 Okta)。

用户名和密码:用户凭据存储在 Snowflake 中。

通常,我们推荐使用 OAuth。此选项提供功能和安全性的最佳组合。

提示输入服务器详细信息的 Snowflake 登录屏幕。

使用 OAuth,您可以:

  • 使用身份提供程序 (IdP) 以方便进行访问。
  • 将其配置为提供单点登录 (SSO) 体验。
  • 实施多重身份验证 (MFA)。

OAuth 2.0 是用于授权的行业标准协议。

注意:小心不要将此项与连接对话框中 Tableau 的 SAML IdP 身份验证选项混淆。您应使用“使用 OAuth 登录”选项进行连接。

使用 OAuth 时,一个关键注意事项是保持对发布到 Tableau Server 或 Tableau Cloud 的内容的访问权限。当 Tableau 内容通过 OAuth 实时连接到 Snowflake 时,所有者必须在每次访问令牌过期时重新验证工作簿连接(默认情况下每 90 天一次)。

有关设置访问令牌过期限制的详细信息,请参见 Snowflake 帮助主题 Configure Snowflake OAuth for Partner Applications(为合作伙伴应用程序配置 Snowflake OAuth)(链接在新窗口中打开)。如果有延长此期限以防止 Tableau 内容出错的业务需求,请联系 Snowflake 支持部门(链接在新窗口中打开)寻求帮助。如果在此期限之前未手动刷新内容,则当 Tableau 工作簿尝试加载时,可能会导致错误。

在 Snowflake 和 Tableau 之间配置 OAuth

在 Tableau 和 Snowflake 之间创建连接时,两者都必须配置 OAuth。

注意:Tableau Server 版本 2020.4 开始,您的 OAuth 连接可以使用 AWS 专用链接或 Azure 专用链接。有关详细信息,请参见为 Snowflake 连接配置 OAuth(链接在新窗口中打开)

关于将 SSO 与 Oauth 结合使用

单点登录 (SSO) 在 OAuth 身份验证的基础上增加了另一层安全性。为 SSO 配置的单独 IdP 管理组织应用程序间所有访问活动的身份验证。所有登录请求都路由到 SSO 服务器,后者会显示一个通用登录对话框,并依据一个集中式数据库检查用户的凭据。

提示:您可以使用已保存的凭据来避免重新收到密码提示。有关详细信息,请参见为数据连接管理保存的凭据(链接在新窗口中打开)

在 Okta 和 Snowflake 之间配置 OAuth

Snowflake 使用 Okta 作为默认身份提供程序 (IdP),用于提供访问令牌并验证身份。您需要针对 Oauth 和单点登录 (SSO) 功能在 Snowflake 和 Okta 中配置相关设置。

在 Okta 中,您将 Okta 定义为 OAuth 身份验证服务器,并将 Snowflake 标识为 OAuth 资源。按照此 Snowflake 帮助主题中的步骤进行操作:Configuring an Identity Provider for Snowflake(为 Snowflake 配置身份提供程序)(链接在新窗口中打开)

通过 SSO 登录 Snowflake。

关于将 MFA 与 Oauth 结合使用

多重身份验证 (MFA) 引入了另一层安全性。这种身份验证需要两种或更多鉴定方法,然后用户才能访问资源。方法可能包括:

  • 密码
  • 来自另一台设备的令牌
  • 生物识别(例如指纹或眼扫描)
  • 回答安全问题

您可以选择使用 Okta 或其他 IdP 为 Tableau 和 Snowflake 之间的连接设置多重身份验证 (MFA)。有关使用 Okta 配置 MFA 的详细信息,请参见 Okta 帮助(链接在新窗口中打开)

其他连接选项

当您从 Tableau Desktop 连接到 Snowflake 时,您还有两个其他选项:

  • Okta 用户名和密码
  • 用户名和密码
提示输入服务器详细信息的 Snowflake 登录屏幕。

仅当 Okta 是您的身份提供提供程序,并且为 Okta 中的用户禁用了 MFA 时,“Okta 用户名和密码”选项才有效。“Okta 用户名和密码”选项支持 SSO,但不支持 MFA。在这种情况下,使用嵌入式凭据发布将使用特定用户,但在使用 Okta SAML 时,则无法采用按用户的“Viewer(查看者)凭据”。

如果选择“Okta 用户名和密码”身份验证选项,则需要在“SAML Idp”文本字段中提供 Okta 实例的 URL。此项作为身份验证器传递给驱动程序。此字段还有其他选项,但在使用 Okta 用户名和密码身份验证时,我们仅支持传递 IDP URL 值。

过去,一些客户曾经将“外部浏览器”(链接在新窗口中打开)选项与 SAML IdP 结合使用,作为在 Tableau Desktop 和 Snowflake 之间实现 SSO 的解决方法。它不适用于 Tableau Server、Tableau Cloud 或 Tableau Bridge。我们建议您改用 OAuth 连接。

用户名和密码”选项使用 Snowflake 存储的密码。此选项要求用户在连接到 Snowflake 或嵌入这些凭据时,使用其凭据重新进行身份验证。

常见问题

为什么我的已发布 Snowflake 数据提取在一段时间后失败?

可能是您的 OAuth 访问令牌已过期。您需要手动向数据源重新进行身份验证以刷新令牌。如果您需要在将来延长这些令牌的生存期,可以联系 Snowflake 支持部门(链接在新窗口中打开)

发布 Snowflake 数据源时,如何在“提示用户”和“嵌入凭据”选项之间进行选择?

如果您希望任何访问数据源的用户在连接到数据源和相关内容时使用自己的凭据,请使用“提示用户”选项。您可以选择嵌入凭据,以便访问该数据源的每个人都使用这些特定凭据。此方法在功能上类似于使用“服务帐户”。

如何使用我在 Snowflake 上设置的行级安全性?

当提示用户输入自己的凭据以从 Tableau 访问 Snowflake 时,这些凭据将映射到他们在 Snowflake 帐户中拥有的权限。

另请参见

感谢您的反馈!您的反馈已成功提交。谢谢!