内容:

为 Oauth 和现代身份验证配置 Azure AD

  • 版本 :2022.1 及更高版本

从 Tableau 2021.1 开始,Azure Synapse、Azure SQL Database、Azure Databricks 和 Azure Data Lake Gen2 连接器通过为 Tableau Server 配置 Oauth 客户端来支持通过 Azure AD 进行身份验证。

从 Tableau 2021.1 开始,Azure Synapse、Azure SQL Database、Azure Databricks 和 Azure Data Lake Gen2 连接器通过为 Tableau Server 配置 Oauth 客户端来支持通过 Azure AD 进行身份验证。

注意:OAuth 对 Azure AD 的支持仅支持 Microsoft SQLServer 驱动程序 17.3(链接在新窗口中打开)及更高版本。

步骤 1:为 Azure 注册 OAuth 客户端

请参见 Tableau 社区帖子本地服务器 Oauth 的 Azure 应用程序注册(链接在新窗口中打开)

步骤 2:针对 Azure 配置 Tableau Server

配置 Tableau Server 需要运行 TSM 命令。Azure Data Lake Storage Gen2 需要一组与为 Azure Synapse、Azure SQL Database 或 Databricks 运行的通用命令不同的命令。

为 Azure Data Lake Storage Gen2 配置默认 OAuth 客户端

若要针对 Data Lake Storage Gen2 配置 Tableau Server,您必须具有以下配置参数:

  • Azure OAuth 客户端 Id:客户端 ID 是通过步骤 1 中的程序生成的。在下面的第一个 tsm 命令中复制 [your_client_id] 的此值。

  • Azure OAuth 客户端密文:客户端密文是通过步骤 1 中的程序生成的。在下面的第二个 tsm 命令中复制 [your_client_secret] 的此值。

  • Tableau Server URL:这是您的 Tableau Server URL,例如 https://myco.com。在下面的第三个 tsm 命令中复制 [your_server_url] 的此值。

运行以下 tsm 命令,针对 Azure Data Lake Storage Gen2 配置 Tableau Server OAuth:

  • tsm configuration set -k oauth.azuredatalake_storage_gen2.client_id -v [your_client_id] --force-keys

  • tsm configuration set -k oauth.azuredatalake_storage_gen2.client_secret -v [your_client_secret] --force-keys

  • tsm configuration set -k oauth.azuredatalake_storage_gen2.redirect_uri -v http://[your_server_url]/auth/add_oauth_token --force-keys

  • tsm pending-changes apply

  • 如果待定更改需要重新启动服务器,pending-changes apply 命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt 选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参阅tsm pending-changes apply

针对 Azure Synapse、Azure SQL Database 或 Databricks 配置默认客户端

若要配置 Tableau Server,您必须具有以下配置参数:

  • Azure OAuth 客户端 ID:这是通过步骤 1 中的程序生成的。在下面的 tsm 命令中复制 [your_client_id] 的此值。

  • Azure OAuthClient 秘文:这是通过步骤 1 中的程序生成的。在下面的 tsm 命令中复制 [your_client_secret] 的此值。

  • Tableau Server URL,例如 https://myserver.com。在下面的 tsm 命令中复制 [your_server_url] 的此值。

  • 配置 ID:这是下面的 tsm 命令中的 oauth.config.id 参数的值。有效值:

    • Azure Synapse:azure_sql_dw

    • Azure SQL Database:azure_sqldb

    • Databricks:databricks

运行以下 tsm 命令,针对 Azure Synapse、Azure SQL Database 或 Databricks 配置 Azure AD。例如,若要设置 Azure Synapse:

tsm configuration set -k oauth.config.clients -v "[{\"oauth.config.id\":\"azure_sql_dw\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}]" --force-keys

tsm pending-changes apply

设置多个连接器

如果您要设置多个连接器,则必须在单个命令中包括所有这些连接器。例如:

tsm configuration set -k oauth.config.clients -v "[{\"oauth.config.id\":\"azure_sql_dw\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}, {\"oauth.config.id\":\"azure_sqldb\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}, {\"oauth.config.id\":\"databricks\", \"oauth.config.client_id\":\"[your_client_id]\", \"oauth.config.client_secret\":\"[your_client_secret]\", \"oauth.config.redirect_uri\":\"[your_server_url]/auth/add_oauth_token\"}]" --force-keys

tsm pending-changes apply

为站点配置自定义 OAuth

可以为站点配置自定义 Azure Data Lake Storage Gen2、Azure Synapse、Azure SQL 数据库和 Databricks OAuth 客户端。

考虑将自定义 OAuth 客户端配置为 1) 覆盖 OAuth 客户端(如果为服务器配置)或 2) 支持安全连接到需要唯一 OAuth 客户端的数据。

配置自定义 OAuth 客户端时,站点级别配置优先于任何服务器端配置,并且默认情况下创建的所有新 OAuth 凭据都使用站点级别 OAuth 客户端。无需重新启动 Tableau Server 即可使配置生效。

重要信息:在配置自定义 OAuth 客户端之前建立的现有 OAuth 凭据暂时可用,但服务器管理员和用户都必须更新他们保存的凭据以帮助确保不间断的数据访问。

步骤 1:准备 OAuth 客户端 ID、客户端密码和重定向 URL

在配置自定义 OAuth 客户端之前,您需要下列信息。准备好这些信息后,您可以为站点注册自定义 OAuth 客户端。

  • OAuth 客户端 ID 和客户端密码:首先向数据提供程序(连接器)注册 OAuth 客户端,以检索为 Tableau Server 生成的客户端 ID 和密码。

  • 重定向 URL:注意正确的重定向 URL。在下面步骤 2 的注册过程中,您将需要此 URL。

    Https://<您的服务器名称>.com/auth/add_oauth_token

    例如,https://example.com/auth/add_oauth_token

步骤 2:注册 OAuth 客户端 ID 和客户端密码

按照下面描述的过程将自定义 OAuth 客户端注册到站点。

  1. 使用管理员凭据登录到 Tableau Server 站点,并导航到“设置”页面。

  2. 在“OAuth 客户端注册”下,单击“添加 OAuth 客户端”按钮。

  3. 输入所需信息,包括上述步骤 1 中的信息:

    1. 对于“连接类型”,选择要配置其自定义 OAuth 客户端的连接器。

    2. 对于“客户端 ID”“客户端密码”“重定向 URL”,输入您在上面的步骤 1 中准备的信息。

    3. 单击“添加 OAuth 客户端”按钮以完成注册过程。

  4. (可选)对所有支持的连接器重复步骤 3。

  5. 单击“设置”页面底部或顶部的“保存”按钮以保存更改。

步骤 3:验证和更新保存的凭据

为帮助确保不间断的数据访问,您(和您的站点用户)必须删除之前保存的凭据并再次添加,以便为站点使用自定义 OAuth 客户端。

  1. 导航到“我的帐户设置”页面。

  2. “保存的数据源凭据”下,执行以下操作:

    1. 单击您在上述步骤 2 中配置的自定义 OAuth 客户端的连接器的现有已保存凭据旁边的“删除”

    2. 在连接器名称旁边,单击“添加”并按照提示进行操作以 1) 连接到在上述步骤 2 中配置的自定义 OAuth 客户端,以及 2) 保存最新的凭据。

步骤 4:通知用户更新他们保存的凭据

确保通知您的站点用户更新他们为连接器保存的凭据,该连接器的自定义 OAuth 客户端是您在上面的步骤 2 中配置的。站点用户可以使用更新保存的凭据描述的过程来更新他们保存的凭据。