创建或更新应用程序权限 API
编辑创建或更新应用程序权限 API编辑
添加或更新应用程序权限。
请求正文编辑
正文是一个 JSON 对象,其中字段的名称是应用程序名称,每个字段的值是一个对象。此内部对象中的字段是权限的名称,每个值都是一个 JSON 对象,其中包含以下字段
-
操作
- (字符串数组)此权限授予的操作名称列表。此字段必须存在,并且不能为空数组。
-
元数据
- (对象)可选元数据。在
metadata
对象中,以_
开头的键保留供系统使用。
验证编辑
- 应用程序名称
-
应用程序名称由*前缀*和可选的*后缀*组成,它们符合以下规则
- 前缀必须以小写 ASCII 字母开头
- 前缀只能包含 ASCII 字母或数字
- 前缀必须至少包含 3 个字符
- 如果存在后缀,则必须以
-
或_
开头 - 后缀不能包含以下任何字符:
\
、/
、*
、?
、"
、<
、>
、|
、,
、*
- 名称的任何部分都不能包含空格。
- 权限名称
- 权限名称必须以小写 ASCII 字母开头,并且只能包含 ASCII 字母和数字以及字符
_
、-
和.
。 - 操作名称
- 操作名称可以包含任意数量的可打印 ASCII 字符,并且必须包含以下字符中的至少一个:
/
*
、:
响应正文编辑
成功的调用将返回一个 JSON 结构,该结构显示权限是已创建还是已更新。
示例编辑
要添加单个权限,请向 /_security/privilege/
端点提交 PUT 或 POST 请求。例如
PUT /_security/privilege { "myapp": { "read": { "actions": [ "data:read/*" , "action:login" ], "metadata": { "description": "Read access to myapp" } } } }
这些字符串在“myapp”应用程序中具有意义。Elasticsearch 不会为它们分配任何含义。 |
|
此处使用通配符( |
|
元数据对象是可选的。 |
要添加多个权限,请向 /_security/privilege/
端点提交 POST 请求。例如
PUT /_security/privilege { "app01": { "read": { "actions": [ "action:login", "data:read/*" ] }, "write": { "actions": [ "action:login", "data:write/*" ] } }, "app02": { "all": { "actions": [ "*" ] } } }
成功的调用将返回一个 JSON 结构,该结构显示权限是已创建还是已更新。
{ "app02": { "all": { "created": true } }, "app01": { "read": { "created": true }, "write": { "created": true } } }