Elastic在 ECE 2.3 的 GA 版中提供基于角色的访问控制和外部身份验证功能

Elastic在 ECE 2.3 的 GA 版中提供基于角色的访问控制和外部身份验证功能
做者Rory Hunterhtml

咱们很高兴地宣布,随着 Elastic Cloud Enterprise (ECE) 2.3 的发布,基于角色的访问控制和外部源身份验证功能现已正式推出。经过这些功能,您能够拥有 ECE 平台访问权限由角色控制的多个用户。您能够在 ECE 中本地添加用户,并链接您本身的目录服务器或身份提供商,以向现有用户授予访问权限。api

咱们最初在 ECE 2.2 中针对这些功能添加了公测版支持。除了在 2.3 版中消除了若干漏洞以外,咱们还添加了对 Active Directory 以及现有 LDAP 和 SAML 选项的支持。安全

工做原理?

为 ECE 启用 RBAC 会添加一个安所有署,这是一个管理全部身份验证配置和权限的系统部署。当用户尝试登陆时,ECE 将使用此安所有署来执行身份验证,并根据状况回退给系统用户。若是用户成功经过身份验证,ECE 则会应用用户分配的角色并将他们转换为细粒度权限,进而控制每一个用户能够查看的数据以及能够执行的操做。服务器

请注意,用户的 ECE 角色与用户为在 ECE 中托管的部署所保留的任何凭据是分开的。用户可能没有对 ECE 的访问权限,但具备对托管部署的管理访问权限,反之亦然。restful

提供哪些角色?

ECE 在平台和部署级别提供了一组丰富的操做。为了减轻管理员在定义和维护他们本身角色定义方面的工做,ECE 提供了一组涵盖最多见用例的预约义角色。这些角色将随着更多功能的交付而不断更新,所以,您无需担忧将本身的定义保持最新状态。ide

角色描述以下。用户能够拥有多个角色并根据须要进行组合,例如,“平台管理员”能够执行任何操做,所以,无需为他们提供其余角色。可是,“平台查看人”能够查看任何内容但不能更改,所以,您可能会将其与“部署管理人”角色组合使用。ui

平台管理员

经过这一角色,用户可以以与安装过程当中建立的系统级 admin 用户(或 ECE 1.x 中的 root)相同的方式查看全部数据,并在 ECE 中执行任何操做。这一角色一般仅由负责整个 ECE 平台的管理员拥有。UI 中的“平台”部分就是一个恰当的例子,由于它提供了有关(例如)分配器及其部署的信息,而且可以腾出分配器或将其置于维护模式。spa

平台查看人

这一角色提供对整个平台和托管部署仅查看的权限。关联的权限与 readonly 系统级用户拥有的权限相同。这对于自动化很是有用,例如监控 ECE 的状态。rest

部署管理人

这一角色容许用户在平台上建立和管理部署。具备这一角色的用户能够对部署执行任何操做:扩展、缩小、配置快照、重启节点和重置密码等等,但它不容许用户访问任何平台级别的操做和资源,例如部署模板、实例配置、分配器和系统部署等。code

这一角色适用于任何负责管理部署但不须要查看平台级信息(如开发团队负责人)的人员。

部署查看人

拥有这一角色的用户能够查看部署,但没法以任何方式修改它们。这一角色适用于支持人员或开发团队成员。

管理本机用户

要在 ECE 中开始使用 RBAC,最简单的方法就是建立本机用户。这些用户将保存在 Elasticsearch 本机 Realm 内的安所有署中,并且仅支持有限数量的属性:用户名、全名、电子邮件、密码、角色,以及它们当前是否已启用。

单击导航菜单中的“User”(用户),可查看您的身份验证提供程序,其中一个是“Native users”(本机用户)配置文件。打开这个配置文件就会将您转到一个全部本机用户的列表。该列表包括由 ECE 安装程序建立的两个系统用户。这些用户没法进行编辑或删除,而且没法在此处重置其密码,请参阅文档,了解有关如何重置密码的更多说明。

演示:建立本机用户

在“Native users”(本机用户)页面中,您能够建立、编辑和删除本机用户。这些用户能够像系统用户同样登陆 ECE,他们的访问权限按照您分配给他们的角色进行控制。

用户设置页面

ECE 2.3 还添加了一个“User Settings”(用户设置)页面。单击该页面右上角的用户图标,而后单击“Settings”(设置)。若是您以本机用户身份登陆,则能够编辑您的姓名和电子邮件,或更改密码。若是您使用外部身份验证提供程序中的用户登陆,则会看到一个只读页面,其中包含一些基本信息、身份验证配置文件的名称和类型,以及您拥有的角色。

演示:编辑用户设置

外部身份验证提供程序

若是您已有 LDAP、Active Directory 或 SAML 服务器,则能够将 ECE 配置为使用它们进行身份验证和受权。您甚至能够配置多个服务器,并按照您以与 Elasticsearch 相同方式设置的顺序尝试身份验证。使用现有的身份验证源意味着您只需在一个位置管理用户。外部提供程序的角色映射配置容许您在 ECE 中将用户属性映射到角色,所以,用户属性的任何更改(如组成员身份)都会由 ECE 自动获取。

在身份验证提供程序概述页面中,单击“Add provider”(添加提供程序)并选择一个类型。在下一页,将配置该提供程序。下面让咱们逐步完成基本 LDAP 设置的配置选项。

演示:建立 LDAP 提供程序

LDAP 身份验证提供程序

常规设置:

  1. 每一个配置文件都有一个名称。除了使用它来标记配置文件外,这个名称还用来生成一个 Realm ID。请注意,建立配置文件后,Realm ID 将不会再更改。
  2. 必须至少设置一个 LDAP 服务器,包括开始时的 ldap:ldaps: 协议。若是选择基于 DNS 的负载平衡策略,则只能指定单个服务器。
  3. 选择负载平衡策略时,请记住上述限制。

可信证书:

  1. 若是您的 LDAP 服务器以客户端须要保存特定 SSL/TLS 证书的方式受到保护,则须要准备捆绑文件并经过 URL 将其提供给 ECE。如需了解更多详细信息,请参阅文档
  2. 若是您的捆绑包受密码保护,请在此处提供密码。

绑定凭据:

  1. 若是凭据须要绑定到 LDAP 服务器,您能够在此处设置它们。
  2. 或者,若是不须要凭据,则单击“Bind anonymously”(匿名绑定)切换按钮。

搜索模式设置:

  1. 您能够针对用户搜索指定每条详细信息。有关这些字段的信息,请参阅文档。至少,您可能须要设置“Base DN for users”(用户的基本 DN),例如“cn=users,dc=example,dc=com”。
  2. 或者,若是您须要使用模板来执行 LDAP 查询,请单击“Template”(模板)单选按钮,而后提供一个或多个模板。

组搜索设置:

  1. 与搜索模式设置很是类似,您能够配置 ECE 应如何搜索用户组。您可能须要设置“Base DN for groups”(组的基本 DN),例如“ou=groups,dc=example,dc=com”。

角色映射:

  1. 用户须要拥有一个或多个角色才能经过 ECE 执行任何操做。针对成功经过身份验证的全部用户,您能够指定一些将分配给他们的默认角色。例如,您能够向全部用户授予“Deployments viewer”(部署查看人)角色,以便他们能够查看 ECE 中托管的全部部署而没法编辑任何内容。
  2. 另外一种分配角色的方法是经过角色映射。这些只是简单规则,指明若是用户 DN 或组 DN 匹配某个值,则会分配一个或多个指定的角色。您能够根据须要拥有任意数量的映射,例如,为 IT Ops 用户提供“Deployment viewer”(部署查看人)的映射,为全部开发人员提供“Deployment manager”(部署管理人)的映射,以及为全部管理员提供“Platform viewer”(平台查看人)的映射。

完成后,单击Create profile(建立配置文件),ECE 即会从新配置安所有署。您如今应该使用各类 LDAP 用户进行登陆,检查他们是否能够进行身份验证,以及他们的角色是否正确。您能够从用户设置页面直接检查角色,也能够经过浏览 UI,确保他们可以查看的内容和执行的操做符合预期。

Active Directory 和 SAML 身份验证提供程序

归纳来说,从 ECE 的角度看这个流程相似于 LDAP。您能够建立 SAML 或 Active Directory 身份验证提供程序,为其命名,指定 ECE 应如何与服务器通讯,以及定义应适用的映射。

有关配置 SAML 身份验证提供程序Active Directory 身份验证提供程序的完整说明,请参阅文档。

REST API 支持

全部上述操做也可使用 REST API 来执行。例如,要提取全部用户的列表,甚至是当前已禁用的用户:

GET /api/v1/users?include_disabled=true

假设您须要授予新的系统管理员 Sarah 的权限。您能够按以下所示为她建立一个新的本机用户:

POST /api/v1/users { "user_name": "sarah", "security": { "roles": ["ece_platform_admin"], "password": "deadb33f" } }

若是您随后想更改 Sarah 的访问权限,则能够发送一个仅包含要更改字段的 PATCH 请求,在本例中角色为:

PATCH /api/v1/users/sarah { "security": { "roles": ["ece_platform_viewer"] } }

最后,您可使用 DELETE 请求删除 Sarah 的账户:

DELETE /api/v1/users/sarah

有关身份验证提供程序端点的详细信息和示例,请参阅 REST API 文档

即刻开始使用

有关 ECE 2.3 中的完整更改列表,请务必查看发行说明。若是您想本身试用,可当即开始免费试用 30 天

相关文章
相关标签/搜索