Amazon Redshift 的原生身份提供者 (IdP) 联合身份验证
借助原生身份提供者联合身份验证,管理 Amazon Redshift 的身份和权限变得更加容易,因为它利用现有身份提供者来简化身份验证和管理权限。它可以通过使身份提供者向 Redshift 共享身份元数据来实现这一目标。对于此功能的第一次迭代,受支持的身份提供者是 Microsoft Azure Active Directory (Azure AD)
要将 Amazon Redshift 配置为对来自第三方身份提供者的身份进行身份验证,您可以向 Amazon Redshift 注册身份提供者。这样做可以让 Redshift 对身份提供者定义的用户和角色进行身份验证。这样,您可以避免必须同时在第三方身份提供者和 Amazon Redshift 中执行精细的身份管理,因为身份信息是共享的。
有关使用从身份提供者 (IdP) 组转移的会话角色的信息,请参阅《Amazon Redshift 数据库开发人员指南》中的 PG_GET_SESSION_ROLES 。
原生身份提供者(IdP)联合身份验证
要完成身份提供者和 Amazon Redshift 之间的初步设置,您需要执行以下几个步骤:首先,向身份提供者注册 Amazon Redshift 作为第三方应用程序,同时请求必要的 API 权限。然后在身份提供者中创建用户和组。最后,您可以使用 SQL 语句向 Amazon Redshift 注册身份提供者,这些语句设置身份提供者特有的身份验证参数。在向 Redshift 注册身份提供者的过程中,您分配一个命名空间以确保正确地对用户和角色进行分组。
在向 Amazon Redshift 注册身份提供者后,Redshift 和身份提供者之间就建立了通信。然后,客户端可以作为身份提供者实体传递令牌并向 Redshift 进行身份验证。Amazon Redshift 使用 IdP 组成员资格信息来映射到 Redshift 角色。如果用户之前不存在于 Redshift 中,则会创建该用户。创建映射到身份提供者组的角色(如果它们不存在)。Amazon Redshift 管理员授予对角色的权限,而用户可以运行查询和执行其他数据库任务。
以下步骤概述当用户登录时原生身份提供者联合身份验证的工作方式:
-
当用户从客户端使用原生 IdP 选项登录时,身份提供者令牌将从客户端发送到驱动程序。
-
对用户进行身份验证。如果 Amazon Redshift 中不存在此用户,则将创建一个新用户。Redshift 将用户的身份提供者组映射到 Redshift 角色。
-
权限是根据用户的 Redshift 角色分配的。管理员将这些权限授予用户和角色。
-
用户可以查询 Redshift。
桌面客户端工具
有关如何使用原生身份提供者联合身份验证通过 Power BI 连接到 Amazon Redshift 的说明,请参阅博客文章将 Amazon Redshift 原生 IdP 联合身份验证与 Microsoft Azure Active Directory (AD) 和 Power BI 集成
要了解如何使用 Power BI 桌面和 JDBC 客户端 SQL WorkBench/J 将 Amazon Redshift 原生 IdP 联合身份验证与 Azure AD 集成,请观看以下视频:
有关如何使用原生身份提供者联合身份验证通过 SQL 客户端(特别是 DBEaver 或 SQL WorkBench/J)连接到 Amazon Redshift 的说明,请参阅博客文章使用 SQL 客户端将 Amazon Redshift 原生 IdP 联合身份验证与 Microsoft Azure AD 集成
限制
以下限制适用:
-
Amazon Redshift 驱动程序从以下版本开始支持
BrowserIdcAuthPlugin
:-
Amazon Redshift JDBC 驱动程序 v2.1.0.30
-
Amazon Redshift ODBC 驱动程序 v2.1.3
-
Amazon Redshift Python 驱动程序 v2.1.3
-
-
Amazon Redshift 驱动程序从以下版本开始支持
IdpTokenAuthPlugin
:-
Amazon Redshift JDBC 驱动程序 v2.1.0.19
-
Amazon Redshift ODBC 驱动程序 v2.0.0.9
-
Amazon Redshift Python 驱动程序 v2.0.914
-
-
不支持增强型 VPC – 使用 AWS IAM Identity Center 配置 Redshift 可信身份传播时,不支持增强型 VPC。有关增强型 VPC 的更多信息,请参阅 Amazon Redshift 中的增强型 VPC 路由。
-
AWS IAM Identity Center 缓存 – AWS IAM Identity Center 会缓存会话信息。当您尝试通过 Redshift 查询编辑器 v2 连接到 Redshift 数据库时,这可能会导致无法预测的访问问题。这是因为查询编辑器 v2 中相关联的 AWS IAM Identity Center 会话即使在数据库用户退出 AWS 控制台的情况下仍然有效。缓存会在一小时后过期,这通常可以解决任何问题。