OpenID Connect

您可以将 Tableau Cloud 配置为支持为单点登录 (SSO) 使用 OpenID Connect。OIDC 是一种标准身份验证协议,它使用户能够登录到诸如 Google 或 Salesforce 等身份提供程序 (IdP)。用户成功登录到其 IdP 后,将会自动登录到 Tableau Cloud

配置 OIDC 的过程包含若干步骤。本节中的主题提供有关将 Tableau Cloud 与 OIDC 一起使用的一般信息,并提供用于配置 IdP 和 Tableau Cloud 的顺序。

若要使用 Tableau REST API 配置 OIDC,请参见 Tableau REST API 帮助中的 OpenID Connect 身份验证方法(链接在新窗口中打开)

身份验证概述

本部分介绍 Tableau Cloud 的 OpenID Connect (OIDC) 身份验证过程。

1.用户尝试从客户端计算机登录到 Tableau Cloud

2.Tableau Cloud 将身份验证请求重定向到 IdP 网关。

3.用户收到凭据提示,并成功向 IdP 进行验证。IdP 做出响应,并将重定向 URL 返回到 Tableau Cloud。重定向 URL 中包括用户的授权代码。

4.客户端被重定向到 Tableau Cloud,并提供授权代码。

5.Tableau Cloud 将客户端的授权代码连同其自己的客户端凭据一起提供给 IdP。Tableau Cloud 也是 IdP 的客户端。此步骤旨在防止假冒或中间人攻击。

6.IdP 将访问令牌和 ID 令牌返回给 Tableau Cloud

  • JSON Web 令牌 (JWT) 验证:默认情况下,Tableau Cloud 会对 IdP JWT 执行验证。在发现过程中,Tableau Cloud 将在 IdP 配置发现文档中检索 jwks_uri 指定的公钥。Tableau Cloud 将验证 ID 令牌是否过期,并验证 JSON Web 签名 (JWS)、颁发者 (IdP) 和客户端 ID。您可以在 OIDC 文档中详细了解 JWT 进程。10.签名和加密(链接在新窗口中打开)以及 IETF 建议标准 JSON Web 令牌(链接在新窗口中打开)。我们建议一直启用 JWT 验证,除非 Idp 不支持。

  • ID 令牌是用户的一组属性密钥对。该密钥对称为声明。下面是用户的一个示例 IdP 声明:

    "sub"                     : "7gYhRR3HiRRCaRcgvY50ubrtjGQBMJW4rXbpPFpg2cptHP62m2sqowM7G1LwjN5"
    "email"                   : "alice@example.com",
    "email_verified"          : true,
    "name"                    : "Alice Adams",
    "given_name"              : "Alice",
    "family_name"             : "Adams",		

7.Tableau Cloud 从 IdP 声明中识别用户,并完成步骤 1 中的身份验证请求。Tableau Cloud 可以配置为此过程使用不同的声明。请参见要求

8.Tableau Cloud 为用户授权。

Tableau Cloud 如何与 OpenID Connect 配合使用

OpenID Connect 是一种灵活的协议,对于服务提供商(本文中为 Tableau Cloud)和 IdP 之间交换的信息,此协议支持许多选项。以下列表提供了有关 Tableau Cloud OIDC 实现的详细信息。这些详细信息可以帮助您了解 Tableau Cloud 所发送和需要的信息类型,以及如何配置 IdP。

  • Tableau Cloud 仅支持 OpenID 授权代码流程,如 OpenID Connect 文档中的 OpenID Connect 最终规范(链接在新窗口中打开)中所述。

  • Tableau Cloud 依赖于使用发现或提供程序 URL 来检索 IdP元数据。

  • Tableau Cloud 支持 OpenID Connect 规范中指定的 client_secret_basic (默认)client_secret_post 客户端身份验证 以及其他参数只能使用 Tableau REST API 配置这些方法。

使用 OIDC 断言的动态群组成员身份

从 2024 年 6 月开始,如果配置了 OIDC 身份验证并启用了该功能的设置,您可以通过身份提供程序 (IdP) 发送的 JSON Web 令牌 (JWT) 中包含的自定义声明动态控制群组成员身份。

配置后,在用户身份验证期间,IdP 会发送包含两个自定义组成员身份声明的 OIDC 断言:组 (https://tableau.com/groups ) 和组名(例如,“Group1”和“Group2”)来将用户声明到其中。Tableau 验证该断言,然后启用对组以及权限依赖于这些组的内容的访问权限。

有关详细信息,请参见使用断言的动态组成员身份

示例 JWK

"sub"                     : "7gYhRR3HiRRCaRcgvY50ubrtjGQBMJW4rXbpPFpg2cptHP62m2sqowM7G1LwjN5"
"email"                   : "alice@example.com",
"email_verified"          : true,
"name"                    : "Alice Adams",
"given_name"              : "Alice",
"family_name"             : "Adams",
"https://tableau.com/groups": ["Group1", "Group2"]
感谢您的反馈!您的反馈已成功提交。谢谢!