保护 Kibana 的访问权限

编辑

保护 Kibana 的访问权限编辑

Kibana 拥有越来越多的强大功能,可以帮助您充分利用数据。您的数据非常重要,应该得到保护。Kibana 允许您保护对数据的访问权限,并控制用户与数据交互的方式。

例如,某些用户可能只需要查看您精美的仪表板,而其他用户可能需要管理您的 Elastic 代理程序群,并运行机器学习作业来检测网络中的异常行为。

本指南将向您介绍 Kibana 的三个安全功能:空间、角色和用户。在本教程结束时,您将了解如何管理这些实体,以及如何利用它们来保护对 Kibana 和数据的访问权限。

空间编辑

您是否有多个团队在使用 Kibana?您是否想要一个“游乐场”来试验新的可视化或规则?如果是这样,那么 Kibana 空间 可以提供帮助。

可以将空间视为 Kibana 的另一个实例。空间允许您将 仪表板规则机器学习作业 以及更多内容组织到各自的类别中。例如,您可能有一个供营销人员跟踪其活动结果的“营销”空间,以及一个供开发人员 监控应用程序性能 的“工程”空间。

您在一个空间中创建的资产与其他空间隔离,因此当您进入一个空间时,您只会看到属于该空间的资产。

有关更多信息,请参阅 空间文档

角色编辑

设置好空间后,保护访问权限的下一步是配置角色。角色是允许您在 Kibana 和 Elasticsearch 中执行操作的权限集合。角色分配给用户,以及为 Elastic Stack 提供支持的 系统帐户

您可以创建自己的角色,也可以使用任何 内置角色。某些内置角色适用于 Elastic Stack 组件,不应直接分配给最终用户。

更有用的内置角色之一是 kibana_admin。将此角色分配给您的用户将授予对 Kibana 所有功能的访问权限。这包括管理空间的能力。

内置角色非常适合 Elastic Stack 入门,也适合不需要更严格访问权限的系统管理员。由于功能众多,因此无法提供更细粒度的角色来满足所有人的需求。这就是自定义角色的用武之地。

作为管理员,您可以创建自己的角色来准确描述用户应该拥有的访问权限类型。例如,您可以创建一个 marketing_user 角色,然后将其分配给营销部门中的所有用户。此角色将授予对该团队取得成功所需的所有必要数据和功能的访问权限,而不会授予他们不需要的访问权限。

用户编辑

设置好角色后,保护访问权限的下一步是创建用户,并为其分配一个或多个角色。Kibana 的用户管理允许您为每个用户配置帐户。

想要单点登录?Kibana 支持各种 SSO 实现,包括 SAML、OIDC、LDAP/AD 和 Kerberos。 详细了解 Kibana 的 SSO 功能

示例:创建一个只能访问仪表板的用户编辑

让我们一起看一个例子。假设有一位营销分析师想要监控其活动的有效性。他们应该能够看到其团队的仪表板,但不允许查看或管理 Kibana 中的任何其他内容。团队的所有仪表板都位于“营销”空间中。

创建空间编辑

创建一个供营销分析师使用的“营销”空间。

  1. 打开主菜单,然后选择 堆栈管理
  2. Kibana 下,选择 空间
  3. 点击 创建空间
  4. 为该空间指定一个唯一的名称。例如:营销
  5. 点击 创建空间

    如果您按照上面的示例操作,您最终应该会得到一个如下所示的空间

    Create space UI

创建角色编辑

要有效地使用仪表板,请创建一个角色来描述您要授予的权限。在本例中,营销分析师需要

  • 访问权限以 读取 为仪表板提供支持的数据
  • 访问权限以 读取 营销 空间内的仪表板

要创建角色,请执行以下操作

  1. 打开主菜单,然后选择 堆栈管理
  2. 安全 下,选择 角色
  3. 点击 创建角色
  4. 为该角色指定一个唯一的名称。例如:marketing_dashboards_role
  5. 在本例中,您希望将所有营销数据存储在 acme-marketing-* 索引集中。要授予此访问权限,请找到 索引权限 部分,然后输入

    1. 索引 字段中的 acme-marketing-*
    2. 权限 字段中的 readview_index_metadata

      您可以添加多个索引模式,并为每个模式授予不同的访问级别。点击 添加索引权限 以授予其他访问权限。

  6. 要授予对 营销 空间中仪表板的访问权限,请找到“Kibana”部分,然后点击 添加 Kibana 权限

    1. 空间 下拉列表中,选择 营销 空间。
    2. 展开 分析 部分,然后为 仪表板 选择 读取 权限。
    3. 点击 添加 Kibana 权限
  7. 点击 创建角色

    如果您按照上面的示例操作,您最终应该会得到一个如下所示的角色

    Create role UI

创建用户编辑

现在您已经创建了一个角色,请创建一个用户帐户。

  1. 导航到 堆栈管理,然后在 安全 下,选择 用户
  2. 点击 创建用户
  3. 为该用户指定一个描述性用户名,并选择一个安全密码。
  4. 将您之前创建的 marketing_dashboards_role 分配给此新用户。
  5. 点击 创建用户
Create user UI

验证编辑

验证用户和角色是否正常工作。

  1. 如果您已登录 Kibana,请退出。
  2. 在登录屏幕中,输入您创建的帐户的用户名和密码。

    您将进入 营销 空间,并且主导航栏仅显示 仪表板 应用程序。

    Verifying access to dashboards

下一步是什么?编辑

本指南是对 Kibana 安全功能的介绍。查看以下其他资源,以详细了解如何对用户进行身份验证和授权。

  • 查看 身份验证指南,以详细了解单点登录和其他登录功能。
  • 查看 授权指南,以详细了解如何授权访问 Kibana 的功能。

还有其他问题?请在我们的 Kibana 讨论论坛 上提问,社区成员或 Elastic 工程师将为您提供帮助。