获取应用程序权限 API

编辑

检索应用程序权限

请求

编辑

GET /_security/privilege

GET /_security/privilege/<application>

GET /_security/privilege/<application>/<privilege>

先决条件

编辑

要使用此 API,您必须拥有以下任一权限:

  • read_security 集群权限(或更高的权限,例如 manage_securityall);或者
  • 请求中引用的应用程序的“管理应用程序权限”全局权限

描述

编辑

要检查用户的应用程序权限,请使用具有权限 API

路径参数

编辑
application
(可选,字符串)应用程序的名称。应用程序权限始终与一个应用程序关联。如果您不指定此参数,API 将返回有关所有应用程序的所有权限的信息。
privilege
(可选,字符串)权限的名称。如果您不指定此参数,API 将返回有关请求的应用程序的所有权限的信息。

示例

编辑

以下示例检索有关 app01 应用程序的 read 权限的信息

resp = client.security.get_privileges(
    application="myapp",
    name="read",
)
print(resp)
const response = await client.security.getPrivileges({
  application: "myapp",
  name: "read",
});
console.log(response);
GET /_security/privilege/myapp/read

成功调用会返回一个以应用程序名称和权限名称作为键的对象。如果未定义权限,则请求将响应 404 状态。

{
  "myapp": {
    "read": {
      "application": "myapp",
      "name": "read",
      "actions": [
        "data:read/*",
        "action:login"
      ],
      "metadata": {
        "description": "Read access to myapp"
      }
    }
  }
}

要检索应用程序的所有权限,请省略权限名称

resp = client.security.get_privileges(
    application="myapp",
)
print(resp)
const response = await client.security.getPrivileges({
  application: "myapp",
});
console.log(response);
GET /_security/privilege/myapp/

要检索每个权限,请省略应用程序名称和权限名称

resp = client.security.get_privileges()
print(resp)
const response = await client.security.getPrivileges();
console.log(response);
GET /_security/privilege/