已保存对象的访问控制列表
你可以使用访问控制列表(ACL)来管理已保存对象的权限,为已保存对象提供授权能力,而无需后端插件集成。
理解 ACL 类型
ACL 在两个层级上应用:
工作区 ACL: 工作区对象继承其父工作区的权限。有关详细信息,请参阅 工作区 ACL。
对象 ACL: 每个单独对象可以有自己的 ACL 策略。对这些对象的所有操作都必须通过 ACL 策略验证。
启用 ACL 功能
在定义任何访问控制之前,必须先启用 ACL 功能。启用方法如下:
打开你的
udbsx_dashboards.yml文件。将权限启用配置为
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"]
},
}
}