拥有权限 API
编辑拥有权限 API编辑
先决条件编辑
- 所有用户都可以使用此 API,但只能用于确定自己的权限。要检查其他用户的权限,您必须使用 run as 功能。有关更多信息,请参阅 以其他用户身份提交请求。
请求主体编辑
-
集群
- (列表) 您要检查的集群权限列表。
-
索引
-
-
名称
- (列表) 索引列表。
-
允许受限索引
- (布尔值) 如果使用通配符或正则表达式来匹配覆盖受限索引的模式,则需要将其设置为
true
(默认值为false
)。隐式地,受限索引不匹配索引模式,因为受限索引通常具有有限的权限,将它们包含在模式测试中会使大多数此类测试变为false
。如果在names
列表中显式包含受限索引,则无论allow_restricted_indices
的值如何,都会针对它们检查权限。 -
权限
- (列表) 您要检查的指定索引的权限列表。
-
-
应用程序
-
-
应用程序
- (字符串) 应用程序的名称。
-
权限
- (列表) 您要检查的指定资源的权限列表。可以是应用程序权限名称,也可以是这些权限授予的操作名称
-
资源
- (列表) 资源名称列表,应针对这些名称检查权限
-
示例编辑
以下示例检查当前用户是否具有特定的一组集群、索引和应用程序权限
GET /_security/user/_has_privileges { "cluster": [ "monitor", "manage" ], "index" : [ { "names": [ "suppliers", "products" ], "privileges": [ "read" ] }, { "names": [ "inventory" ], "privileges" : [ "read", "write" ] } ], "application": [ { "application": "inventory_manager", "privileges" : [ "read", "data:write/inventory" ], "resources" : [ "product/1852563" ] } ] }
以下示例输出指示“rdeniro”用户具有哪些权限
{ "username": "rdeniro", "has_all_requested" : false, "cluster" : { "monitor" : true, "manage" : false }, "index" : { "suppliers" : { "read" : true }, "products" : { "read" : true }, "inventory" : { "read" : true, "write" : false } }, "application" : { "inventory_manager" : { "product/1852563" : { "read": false, "data:write/inventory": false } } } }