创建或更新角色 API
编辑创建或更新角色 API编辑
[预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 创建新的 Kibana 角色,或更新现有角色的属性。Kibana 角色存储在 Elasticsearch 原生领域中。
请求编辑
PUT <kibana 主机>:<端口>/api/security/role/my_kibana_role
先决条件编辑
要使用创建或更新角色 API,您必须具有 manage_security
集群权限。
请求正文编辑
-
元数据
- (可选,对象)在
元数据
对象中,以_
开头的键保留供系统使用。 -
elasticsearch
- (可选,对象)Elasticsearch 集群和索引权限。有效键包括
cluster
、indices
、remote_indices
和run_as
。有关更多信息,请参阅 定义角色。 -
kibana
-
(列表)指定角色的 Kibana 权限 的对象。
kibana
的属性-
基本
- (可选,列表)基本权限。指定时,基准必须为
["all"]
或["read"]
。指定基本
权限后,您将无法使用功能
部分。“all”授予对指定空间的所有 Kibana 功能的读/写访问权限。“read”授予对指定空间的所有 Kibana 功能的只读访问权限。 -
功能
- (对象)包含特定功能的权限。指定
功能
权限后,您将无法使用基本
部分。要检索可用功能列表,请使用 功能 API。 -
空间
- (列表)应用权限的空间。要授予对所有空间的访问权限,请设置为
["*"]
,或省略该值。
-
查询参数编辑
-
仅创建
- (可选,布尔值)如果为
true
,则如果角色已存在,则阻止覆盖该角色。
响应代码编辑
-
204
- 表示调用成功。
-
409
- 当
createOnly
为 true 时,表示与现有角色冲突。
示例编辑
授予对所有空间中各种功能的访问权限
$ curl -X PUT api/security/role/my_kibana_role { "metadata": { "version": 1 }, "elasticsearch": { "cluster": [ ], "indices": [ ] }, "kibana": [ { "base": [ ], "feature": { "discover": [ "all" ], "visualize": [ "all" ], "dashboard": [ "all" ], "dev_tools": [ "read" ], "advancedSettings": [ "read" ], "indexPatterns": [ "read" ], "graph": [ "all" ], "apm": [ "read" ], "maps": [ "read" ], "canvas": [ "read" ], "infrastructure": [ "all" ], "logs": [ "all" ], "uptime": [ "all" ] }, "spaces": [ "*" ] } ] }
仅授予对市场营销空间的仪表板访问权限
$ curl -X PUT api/security/role/my_kibana_role { "metadata": { "version": 1 }, "elasticsearch": { "cluster": [ ], "indices": [ ] }, "kibana": [ { "base": [ ], "feature": { "dashboard": [ "read" ] }, "spaces": [ "marketing" ] } ] }
授予对默认空间中所有功能的完全访问权限
$ curl -X PUT api/security/role/my_kibana_role { "metadata": { "version": 1 }, "elasticsearch": { "cluster": [ ], "indices": [ ] }, "kibana": [ { "base": [ "all" ], "feature": { }, "spaces": [ "default" ] } ] }
授予对不同空间的不同访问权限
$ curl -X PUT api/security/role/my_kibana_role { "metadata": { "version": 1 }, "elasticsearch": { "cluster": [ ], "indices": [ ] }, "kibana": [ { "base": [ ], "feature": { "discover": [ "all" ], "dashboard": [ "all" ] }, "spaces": [ "default" ] }, { "base": [ "read"] , "spaces": [ "marketing", "sales" ] } ] }
授予对 Kibana 和 Elasticsearch 的访问权限
$ curl -X PUT api/security/role/my_kibana_role { "metadata": { "version": 1 }, "elasticsearch": { "cluster": [ "all" ], "indices": [ { "names": [ "index1", "index2" ], "privileges": [ "all" ] } ], "remote_indices": [ { "clusters": [ "remote_cluster1" ], "names": [ "remote_index1", "remote_index2" ], "privileges": [ "all" ] } ] }, "kibana": [ { "base": [ "all" ], "feature": { }, "spaces": [ "default" ] } ] }