Link Search Menu Expand Document Documentation Menu

已保存对象的访问控制列表

2.18 版引入

您可以使用访问控制列表 (ACL) 来管理已保存对象的权限,提供授权 (AuthZ) 功能而无需后端插件集成。

理解 ACL 类型

ACL 在两个级别应用

  1. 工作区 ACL:工作区对象从其父工作区继承权限。有关更多信息,请参阅工作区 ACL
  2. 对象 ACL:每个单独的对象可以有自己的 ACL 策略。对这些对象的所有操作都必须通过 ACL 策略验证。

启用 ACL 功能

您必须先启用 ACL 功能,然后才能定义任何访问控制。启用方法如下:

  1. 打开您的 opensearch_dashboards.yml 文件。
  2. 使用 savedObjects.permission.enabled: true 启用权限。

定义 ACL 权限

ACL 权限使用以下架构定义

{
  "permissions": {
    "<permission_type_1>": {
        "users": ["<principal_1>", "<principal_2>"],
        "groups": ["<principal_3>", "<principal_4>"]
    }
  } 
}

授予已验证用户权限

通配符 (*) 授予所有已验证用户权限。在以下示例中,ACL 授予 finance_manager 组工作区管理权限,并授予 finance_analyst 组仪表板创建权限

{
  "permissions": {
    "write": {
        "groups": ["finance_manager"]
    },
    "library_write": {
        "groups": ["finance_analyst"]
    }
  } 
}

配置混合级别权限

例如,要允许一个用户(如 user-1)修改对象,同时授予其他用户只读访问权限,您可以按如下方式配置 ACL 策略

{
  "permissions": {
    "read": {
        "users": ["*"]
    },
    "write": {
        "users": ["user-1"]
    },
  }
}

剩余 350 字符

有问题?

想贡献?