我们设置了一个 Azure 身份提供程序,以允许我们的用户使用他们的 Entra 身份通过 SSO 访问 Redshift 数据仓库。我们已经能够配置 JDBC 驱动程序,以便 DBeaver 等 SQL 管理程序可以以相同的方式访问数据仓库。
但是,我在设置 ODBC 数据源时遇到了同样的问题。我一直收到“连接错误:在 SAML 断言中未找到角色”。我猜这意味着我在 Azure 通信跳转中遗漏了某些内容,但我并不完全确定。
我已设置 IdP 租户、客户端和范围。我还提供了 Redshift 集群的端点和数据库名称。此外,我们使用的角色与名为Redshift_Access
AAD 的组相关联,该组映射到azure_aad.Redshift_Access
Redshift 内部。
有人对此有潜在的解决方案吗?我知道这是关于四种不同的技术试图相互交流,但我们的 JDBC 驱动程序“正常工作”这一事实给了我一些希望。
使用 ODBC 版本 2 驱动程序(版本 1 存在连接问题)。将下拉列表设置为 browserazureoauth2,并将 auth 设置为 none。然后设置属性,就像在 datagrip 中设置 jdbc 连接一样。
请勿尝试使用身份提供商类型 AWSIDC 的“浏览器 IdC 身份验证插件”,即使您已将 Azure 自动配置到 IAM 身份中心,您仍然需要经过许多麻烦才能使其工作,并且一旦您这样做,每个新的浏览器选项卡弹出窗口都会要求批准权限,而不仅仅是让您进入... 半生不熟,尚未准备好。
注意:查看“更改身份提供者”,他们添加了过滤功能,以便您可以将其限制为仅为您想要移植的 Azure 组自动创建角色(目前仅支持一个过滤器)。不再有数百个垃圾角色!