上一主题: put_desc 方法(app 对象)

下一主题: put_acl 方法(app 对象)


get_acl 方法(app 对象)
说明

检索应用 ACL,或检索应用 ACL 中与特定主体相关的部分。

语法
/api/v1/app/get_acl?app=application&principal=<principal>&vdc=controller-name
参数
app

应用的名称

principal

URL 编码的主体。 例如:local:user:api@3tera.com 应以 local%3Auser%3Aapi%403tera.com 的形式传递

vdc

目标虚拟数据中心的名称

事务类型

同步

请求类型

GET

示例:检索应用 ACL

检索应用 test 的应用 ACL

GET http://192.168.123.200/api/v1/app/get_acl?app=test&principal=&vdc=mygrid 
样例输出
JSON:
{
   "acl" : {
      "owner" : {
         "id" : "b543eff7-db88-4d79-a11c-4de22d5e6d3b"
      },
      "entries" : {
         "entries[0]" : {
            "id" : "4f865f5b-e63a-410a-9d9a-96427c3ecfc7",
            "full" : 1
         },
         "entries[1]" : {
            "id" : "b543eff7-db88-4d79-a11c-4de22d5e6d3b",
            "full" : 1
         }
      }
   }
}

XML:

<acl>
  <entries>
    <name>entries[0]</name>
    <full>1</full>
    <id>4f865f5b-e63a-410a-9d9a-96427c3ecfc7</id>
  </entries>
  <entries>
    <name>entries[1]</name>
    <configure>1</configure>
    <id>b543eff7-db88-4d79-a11c-4de22d5e6d3b</id>
  </entries>
  <owner>
    <id>b543eff7-db88-4d79-a11c-4de22d5e6d3b</id>
  </owner>
</acl>

示例:检索主体的 ACL 数据

检索应用 test 的主体 local:user:api@3tera.com 的 ACL 数据。

GET
http://192.168.123.200/api/v1/app/get_acl?app=test&principal=local%3Auser%3Aapi%403tera.com&vdc=mygrid
样例输出
JSON:

{
   "acl" : {
      "entries" : {
         "entries[0]" : {
            "id" : "4f865f5b-e63a-410a-9d9a-96427c3ecfc7",
            "full" : 1
         }
      }
   }

XML:

<acl>
  <entries>
    <name>entries[0]</name>
    <full>1</full>
    <id>4f865f5b-e63a-410a-9d9a-96427c3ecfc7</id>
  </entries>
</acl>

HTTP 错误代码
404

未找到实体 vdc mygrid-WS_API 应用中没有配置指定的 VDC 名称。

400.4

缺少必需参数 (app)。 
-请求中缺少参数 app=app

缺少必需参数 (principal)
-缺少参数 principal=principal

404.1

未找到实体-应用 test 不存在。

-指定的应用在 mygrid 上不存在。

未找到实体-无法检索应用 ACL-ACL 不包含主体本地用户“test@3tera.com”。

-指定的主体无效

注意:此 API 可用于 WS_API_r6-1.0.6-1 及更高版本。