Security和Roles

本节介绍基于角色的访问控制(RBAC),以便只有授权用户才能查看特定文档。

在本模块中,我们将着手限制对我们的 OpenSearch 域的访问。首先,将创建一个index pattern、一个新用户和一个自定义角色。我们将为自定义角色分配集群权限、索引权限。接下来,我们将新用户映射到自定义角色,这将为用户授予有限的访问权限,最后探索对用户应用不同级别的访问限制。

创建新用户

首先,通过单击导航按钮展开菜单,并从"Management"部分选择Security

接下来,从列表中单击Internal user,然后单击Create internal user按钮。

输入用户名 restricted-user 和密码,然后单击创建

创建完成:

image-20240617082251535

我们刚刚在OpenSearch中创建了一个新的内部用户。虽然现在可以使用这个新帐户登录到OpenSearch Dashboards,但是没有为该用户分配任何权限,我们将无法查看任何数据。

创建自定义角色

在本节中,我们将创建一个自定义角色。有关角色的更多信息,请参见OpenSearch 文档

从导航菜单中选择 Roles,然后单击 Create role 按钮。

目前,只需输入角色名称 restricted-role 并单击Create 按钮。我们将在后续步骤中为该角色添加权限。

通过创建一个空白角色,我们能够将用户分配给它,但由于没有为该角色分配任何权限,目前角色成员将无法访问任何内容。

将用户映射到角色

在本节中,我们将把 restricted-user 用户映射到 restricted-role 自定义角色。映射后,我们将以 restricted-user 身份登录以验证访问权限。

restricted-role 角色中选择 Mapped users 选项卡,然后单击 Map users 按钮。

image-20240617082808718

Users 下拉菜单中选择 restricted-user,然后单击 Map 按钮。

image-20240617082906068

接下来,我们将验证 restricted-user 用户的访问权限。在浏览器中打开一个新的隐私浏览窗口,然后以 restricted-user 帐户登录到 OpenSearch 仪表板。

img

使用 restricted-user 帐户登录后,单击右上角的 Dev tools 链接。

img

  • 现在,在 Dev Tools 中发出以下查询:
GET web-logs/_count
{
  "query": {
    "match_all": {}
  }
}

尽管能够登录到 OpenSearch 仪表板,但由于未对该角色应用任何权限授予,因此对任何索引的访问都被拒绝。