将 Tableau 和 Microsoft Entra ID 与 Amazon Redshift 整
将 Tableau 和 Microsoft Entra ID 与 Amazon Redshift 集成使用 AWS IAM 身份中心
关键要点
在这篇文章中,我们将介绍如何通过 AWS IAM 身份中心,将 Tableau 和 Microsoft Entra ID 集成到 Amazon Redshift 中,实现无缝的单点登录SSO功能。这包括了配置步骤和所需的预备知识,使分析师能够高效地访问和共享数据洞见。
这篇文章由 Debu Panda、Sid Wray、Jade Koskela、Adiascar Cisneros、Harshida Patel、Ravi Bhattiprolu 和 Maneesh Sharma 于 2024 年 9 月 3 日共同撰写,发布于 亚马逊 Redshift。
Amazon Redshift 和 Tableau 是数据分析的强大工具。Amazon Redshift 是一个云数据仓库,能够快速且高效地处理复杂查询。其高级查询优化可以将结果呈现给 Tableau。Tableau 的广泛功能和企业连接性帮助分析师高效地准备、探索和分享数据见解。
客户可以利用 AWS IAM 身份中心集成 的单点登录SSO功能,将 Amazon Redshift 与 Tableau 集成,并结合 受信任的身份传播。这使得 Amazon Redshift 成为一个 AWS 托管应用程序,用户能够充分利用 受信任的身份传播功能。
蘑菇云加速器亚马逊网络服务AWS 与 Tableau 合作,使 Tableau 支持 SSO 来访问 Amazon Redshift。Tableau Desktop 202339 和 Tableau Server 202339 版本均支持与 IAM 身份中心的受信任身份传播。这种 SSO 集成适用于 Tableau Desktop、Tableau Server 和 Tableau Prep。

本文提供了将 IAM 身份中心与 Microsoft Entra ID 作为身份提供者IdP集成的逐步指南,并配置 Amazon Redshift 作为 AWS 托管应用程序。此外,您还将学习如何在 Tableau 中设置 Amazon Redshift 驱动程序,实现直接在 Tableau Desktop 内的 SSO。
解决方案概述
下图展示了 Tableau 与 Amazon Redshift、IAM 身份中心及 Microsoft Entra ID 集成的架构。
解决步骤
所示的解决方案包括以下步骤:
用户配置 Tableau 以通过 IAM 身份中心访问 Amazon Redshift。在用户登录尝试时,Tableau 启动基于浏览器的 OAuth 流程,并将用户重定向到 Microsoft Entra ID 登录页面以输入凭据。经过成功认证后,Microsoft Entra ID 向 Tableau 发放认证令牌ID 和访问令牌。Amazon Redshift 驱动程序随后调用 Amazon Redshift 启用的身份中心应用程序,并转发访问令牌。Amazon Redshift 将令牌传递给 IAM 身份中心进行验证。IAM 身份中心首先使用受信任令牌发布者TTI的 OpenID Connect (OIDC) 发现连接来验证令牌,并返回 IAM 身份中心生成的访问令牌。图中 TTI 是 Microsoft Entra ID 服务器。Amazon Redshift 使用访问令牌从身份中心获取用户和组成员信息。Tableau 用户将能够连接到 Amazon Redshift,并根据 IAM 身份中心返回的用户和组成员身份访问数据。前提条件
在开始实施解决方案之前,您必须确保以下内容准备就绪:
通过参考 集成身份提供者IdP与 Amazon Redshift Query Editor V2 使用 AWS IAM 身份中心无缝单点登录 设置 IAM 身份中心和 Amazon Redshift 的集成。下载并安装最新的 ODBC 2X 驱动程序。安装 Tableau Desktop 202339 或更高版本。安装 Tableau Server 202339 或更高版本。有关 Tableau Server 安装的更多信息,请查看 Install and Configure Tableau Server。使用拥有活跃订阅的 Entra ID 帐户。您需要管理员角色才能在 Entra ID 上设置应用程序。如果没有 Entra ID 帐户,您可以 免费创建一个帐户。操作流程
在本操作流程中,您将通过以下步骤构建解决方案:
设置 Microsoft Entra ID OIDC 应用程序收集 Microsoft Entra ID 信息在 IAM 身份中心中设置受信任的令牌发布者设置客户连接和受信任的令牌发布者为 Microsoft Entra ID 设置 Tableau OAuth 配置文件为 Tableau Desktop 安装 Tableau OAuth 配置文件为 Tableau Server 或 Tableau Cloud 设置 Tableau OAuth 配置文件从 Tableau Desktop 指向 Amazon Redshift从 Tableau Server 指向 Amazon Redshift设置 Microsoft Entra ID OIDC 应用程序
为创建 Microsoft Entra 应用程序和服务主体,请执行以下步骤:
登录 Microsoft Entra 管理中心 ,并以 云应用程序管理员 身份登录至少。在“管理”下,浏览到 应用注册,然后选择 新注册。输入应用程序的名称。例如,TableauOIDCApp。选择一个支持的帐户类型,以确定谁可以使用该应用程序。在本例中,选择列表中的第一个选项。在 重定向 URI 下,选择 Web 作为您要创建的应用程序类型。输入访问令牌发送的 URI。在本例中,由于使用 localhost,因此输入 http//localhost55556/Callback 和 http//localhost/auth/addoauthtoken。选择 注册。在导航窗格中选择 证书和机密。选择 新客户端机密。输入 描述 并选择机密的到期时间,或指定自定义生命周期。在本示例中,保持 Microsoft 推荐的默认过期值 6 个月。选择 添加。复制机密 值。注意:它将只被展示一次;之后无法再读取。
在导航窗格下,选择 管理,然后选择 暴露 API。
如果您是第一次设置,可以看到 设置 在 应用 ID URI 旁边。选择 设置,然后选择 保存。设置 应用 ID URI 后,选择 添加作用域。对于 作用域名称,输入名称。例如,redshiftlogin。对于 管理员同意显示名称,输入显示名称。例如,redshiftlogin。对于 管理员同意描述,输入作用域的描述。选择 添加作用域。有关设置 Microsoft Entra 应用的更多信息,请参阅 注册 Microsoft Entra 应用并创建服务主体。
收集 Microsoft Entra ID 信息
要将您的 IdP 配置与 IAM 身份中心和 Amazon Redshift 集成,请从 Microsoft Entra ID 收集以下参数。如果没有这些参数,请联系您的 Microsoft Entra ID 管理员。
租户 ID、客户端 ID 和受众值:获取这些值的方法是:使用您的 Microsoft 帐户登录 Azure 门户。在 管理 下,选择 应用注册。选择您在前面部分创建的应用程序。在左侧面板中,选择 概览,新页面将显示 基本信息 部分。您可以找到如图所示的 租户 ID、客户端 ID 和受众值应用 ID URI:作用域:找到您的作用域值的方法是:在 OIDC 应用的导航面板上,选择 暴露 API。您会在范围下找到值,如下图所示:在 IAM 身份中心中设置受信任的令牌发布者
在此阶段,您已完成 Entra ID 控制台中的配置;现在可以开始将 Entra ID 添加为 TTI。接下来,您将创建一个 TTI,以便交换令牌。在此步骤中,在中心化管理账户中创建 TTI,执行以下步骤:
打开 AWS 管理控制台,导航到 IAM 身份中心,然后选择 设置。选择 身份验证 选项卡,在 受信任的令牌发布者 下,选择 创建受信任的令牌发布者。在 设置外部 IdP 以发布受信任的令牌 页上,在 受信任的令牌发布者详细信息 下,执行以下操作:对于 发布者 URL,输入将为受信任身份传播发布令牌的外部 IdP 的 OIDC 发现 URL。URL 格式为:https//stswindowsnet/lttenantidgt/。要找到您的 Microsoft Entra 租户 ID,请参见收集 Microsoft Entra ID 信息。对于 受信任的令牌发布者名称,输入一个名称以便在 IAM 身份中心和应用程序控制台中识别该 TTI。在映射属性下,执行以下操作:对于 身份提供者属性,从列表中选择一个属性映射到身份中心身份存储中的属性。您可以选择 电子邮件、对象标识符、主题 和 其他。本示例使用了其他,这里我们指定 upn用户主体名称作为映射到 电子邮件 的 身份提供者属性。对于 IAM 身份中心属性,选择对应的属性进行映射。在 标签 下可选,选择 添加新标签,指定 键 的值,并可选地指定 值。有关标签的信息,请参见 标记 AWS IAM 身份中心资源。以下图四显示了 TTI 的设置。
选择 创建受信任的令牌发布者。设置客户连接和受信任的令牌发布者
第三方应用程序例如 Tableau不是由 AWS 管理的,它在调用 AWS 服务之前,交换外部令牌JSON Web 令牌 (JWT)以获取 IAM 身份中心令牌。
JWT 必须包含主题sub声明、受众aud声明、发布者iss、用户属性声明和 JWT IDJTI声明。受众是表示应用程序将使用的 AWS 服务的值,受众声明值必须与在 Redshift 应用程序中配置的值匹配,该应用程序用于交换令牌。
在本节中,您将在 Redshift 应用程序中指定受众声明,您将从 Microsoft Entra ID 获得相关信息。您将在 Redshift 集群或无服务器实例所在的成员账号中配置 Redshift 应用程序。
从 Amazon Redshift 控制台菜单中选择 IAM 身份中心连接。选择之前作为前提条件而创建的 Amazon Redshift 应用程序。选择 客户端连接 选项卡,然后选择 编辑。在 使用第三方 IdP 配置客户端连接 下选择 是。选中您在上一节创建的 受信任的令牌发布者 的复选框。在 配置所选受信任的令牌发布者 下输入受众声明值。例如,api//1230a234b456789099c9a12345bcc123。要获取受众值,请参见收集 Microsoft Entra ID 信息。选择 保存。您的 IAM 身份中心、Amazon Redshift 和 Microsoft Entra ID 配置完成。接下来,您需要配置 Tableau。
为 Microsoft Entra ID 设置 Tableau OAuth 配置文件
要使用 IAM 身份中心将 Tableau 与 Amazon Redshift 集成,您需要使用自定义 XML。在此步骤中,您使用以下 XML 并替换以 开头且加粗的值。其余值可以保持不变,或根据您的用例进行修改。有关 XML 文件中每个元素的详细信息,请参见 Tableau 文档 GitHub 资源。
注意:此 XML 文件将用于所有 Tableau 产品,包括 Tableau Desktop、Server 和 Cloud。您可以使用以下 XML,也可以参考 Tableau 的 GitHub。
xml
redshift customredshiftazure copyclientidfromazureoidcapp copyclientsecretfromazureoidcapp http//localhost55556/Callback http//localhost55557/Callback http//localhost55558/Callback http//localhost55559/Callback https//loginmicrosoftonlinecom/azuretenantid/oauth2/v20/authorize https//loginmicrosoftonlinecom/azuretenantid/oauth2/v20/token openid offlineaccess email scopefromazureoidcapp OAUTHCAPREQUIRESPROMPTSELECTACCOUNT true OAUTHCAPREQUIREPKCE true OAUTHCAPPKCEREQUIRESCODECHALLENGEMETHOD true OAUTHCAPSUPPORTSSTATE true OAUTHCAPCLIENTSECRETINURLQUERYPARAM false OAUTHCAPSUPPORTSGETUSERINFOFROMIDTOKEN true OAUTHCAPFIXEDPORTINCALLBACKURL truelt/value
如何使用 AWS 数据库加密 SDK 进行客户端加密并在 DynamoDB 表中对加密属性进行搜索
使用 AWS 数据库加密 SDK 进行客户端加密并对 DynamoDB 表中的加密属性执行搜索文章重点在本文中,我们将介绍如何使用 AWS 数据库加密 SDK (DBESDK) 进行客户端数据加密,以保护客户的敏感信息。我们将讨论配置加密、在加密数据上进行搜索的步骤,以及如何在 DynamoDB 中...
数字化转型:为什么、谁、怎么做以及什么 第四部分,“什么” 云企业战略博客
数字化转型:为何、谁、如何和什么 第四部分,“是什么”作者:Tom Godden 和 Gene Shadrin,于2022年12月7日发表于 企业战略,思想领导永久链接评论关键要点在第三部分的博文中,“如何进行数字化转型”,我们探讨了转型过程中的最佳实践,以及如何利用数字化转型框架实现有效转型。在本...