AWS 最近发布了 Amazon Elasticsearch Service 与 Amazon Cognito 集成的服务,现在企业用户在使用 Kibana 访问 Amazon Elasticsearch Service时,可以使用企业目录凭证来进行联合身份认证。
在此系列博客文章中,我们将会不同的身份提供商设置 Amazon Cognito 用户池,包括 Microsoft Active Directory (SAML 2.0)、Auth0 (OIDC) 和 Okta 凭证。
在此文章中,我们将分享 Active Directory (AD) 与 Amazon Cognito 的集成过程。Active Directory 是一项管理用户身份的服务。使用 Amazon Cognito 用户池,您可以扩展自己的目录,从而使 AD 用户能够使用相同的安全凭证登录 Kibana。
下图显示了简要的架构图,我们将通过本博文构建此图。
步骤 1:创建 Active Directory 域来存储用户身份
在本博文中,我们将使用 Active Directory 域来进行用户身份验证。AD 可以由 AWS 托管 Microsoft AD 或本地域控制器托管。Active Directory 域作为 Microsoft Windows Server 产品中的一个组件提供。
如果您没有任何现有目录,您可以在您的本地环境中安装并配置角色,或启动 AWS 托管 Microsoft AD。
步骤 2:在您的域中的 Windows Server 上安装 ADFS
Active Directory Federation Service (ADFS) 是 Windows Server 的一个组件,可使您将 AD 用作 SAML 身份提供商。您可以使用您的本地 AD 或 AWS 托管 Microsoft AD 配置 ADFS。要使用 AWS 托管 Microsoft AD 设置 ADFS 服务器,请按照 AWS 安全博客博文中的步骤操作。
步骤 3:设置 Cognito 用户池和身份池
Kibana 与 Amazon Elasticsearch Service 的 集成可使用 Amazon Cognito 用户池和身份池。将 AD 身份验证与用户池联合之前,我们需要同时准备好用户池和身份池。
AWS 数据库博客的此博文显示如何为 Amazon Elasticsearch Service 上的 Kibana 设置用户池和身份池。请按照文章中的步骤创建 Amazon Elasticsearch Service 域。我们将在配置 ADFS 后更新用户池配置。
步骤 4:配置 ADFS
在此步骤中,我们将 ADFS 添加为 Amazon Cognito 用户池的外部身份提供商。
添加依赖方至 ADFS:
登录 Active Director Federation Services (ADFS) 服务器。
在服务器管理器(Server Manager)中,选择工具(Tools) > ADFS 管理(ADFS Management)。
选择信任关系 > 依赖方信任 > 添加依赖方信任。(Trust Relationships > Relying Party Trusts > Add Relying Party Trust.)
“添加依赖方信任向导(Add Relying Party Trust)”随即打开,在欢迎页面中,选择申明感知(Claims Aware)。
单击启动。
在选择数据源页面中,选择手动输入依赖方的数据(Enter Data About the Relying Party Manually)并单击下一步。
在指定显示名称页面中,键入依赖方的显示名称(例如 Cognito 用户池)并单击下一步。
单击下一步以跳过**配置证书(Configure Certificate)**页面(您不需要配置证书)。
在配置 URL 页面中,执行以下操作:
选择启用对 SAML 2.0 WebSSO 协议(Enable Support for SAML 2.0 WebSSO Protocol)的支持选项。
在 URL 字段中,使用以下格式添加 Amazon Cognito POST 终端节点:https://.auth..amazoncognito.com/saml2/idpresponse
单击下一步。
在配置标识符页面上,执行以下操作:
在**选择访问控制策略(Choose Access Control Policy)**页面中,为您的域选择适当的访问权:
选择**允许特定组(Choose Access Control Policy)**并在您的 AD 域中指定一个或多个组,以基于 AD 组限制访问权。
选择允许所有人(Permit Everyone),以允许所有的 AD 域用户访问 Kibana。
请注意,_Amazon Cognito 还具有基于身份提供商所传递的用户信息限制访问权的功能。有关详细信息,请参阅 __Amazon Elasticsearch Service 文档。
_
单击下一步,并在准备好添加信任(Ready to Add Trust)页面上单击下一步 > 关闭。
本文转载自 AWS 技术博客。
评论