文档首页/ 统一身份认证服务 IAM/ API参考/ API/ 委托管理/ 查询项目服务中的委托权限
更新时间:2024-11-18 GMT+08:00

查询项目服务中的委托权限

功能介绍

该接口可以用于管理员查询项目服务中的委托权限。

该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:地区和终端节点

调试

您可以在API Explorer中调试该接口。

URI

GET /v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles

表1 路径参数

参数

是否必选

参数类型

描述

agency_id

String

委托ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID

project_id

String

委托方的项目ID,获取方式请参见:获取账号、IAM用户、项目、用户组、区域、委托的名称和ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

该字段内容填为“application/json;charset=utf8”。

X-Auth-Token

String

访问令牌,承载用户的身份、权限等信息。

token所需权限请参见授权项

响应参数

表3 响应Body参数

参数

参数类型

描述

roles

Array of objects

权限信息列表。

表4 roles

参数

参数类型

描述

domain_id

String

权限所属账号ID。

flag

String

该参数值为fine_grained时,标识此权限为系统内置的策略。

description_cn

String

权限的中文描述信息。

catalog

String

权限所在目录。

name

String

权限名。携带在用户的token中,云服务根据该名称来判断用户是否有权限访问。

description

String

权限描述信息。

links

Object

权限的资源链接信息。

id

String

权限ID。

display_name

String

权限展示名。

type

String

权限的显示模式。

说明:
  • AX表示在domain层显示。
  • XA表示在project层显示。
  • AA表示在domain和project层均显示。
  • XX表示在domain和project层均不显示。
  • 自定义策略的显示模式只能为AX或者XA,不能在domain层和project层都显示(AA),或者在domain层和project层都不显示(XX)。

policy

Object

权限的具体内容。

updated_time

String

权限更新时间。

说明:

UNIX时间戳格式,单位是毫秒,时间戳格式如:1687913793000。

created_time

String

权限创建时间。

说明:

UNIX时间戳格式,单位是毫秒,时间戳格式如:1687913793000。

表6 roles.policy

参数

参数类型

描述

Depends

Array of objects

该权限所依赖的权限。

Statement

Array of objects

授权语句,描述权限的具体内容。

Version

String

权限版本号。

说明:
  • 1.0:系统预置的角色。以服务为粒度,提供有限的服务相关角色用于授权。
  • 1.1:策略。IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。
表7 roles.policy.Depends

参数

参数类型

描述

catalog

String

权限所在目录。

display_name

String

权限展示名。

表8 roles.policy.Statement

参数

参数类型

描述

Action

Array of strings

授权项,指对资源的具体操作权限。

说明:
  • 格式为:服务名:资源类型:操作,例:vpc:ports:create。
  • 服务名为产品名称,例如ecs、evs和vpc等,服务名仅支持小写。 资源类型和操作没有大小写,要求支持通配符号*,无需罗列全部授权项。
  • 当自定义策略为委托自定义策略时,该字段值为: "Action": ["iam:agencies:assume"]

Effect

String

作用。包含两种:允许(Allow)和拒绝(Deny),既有Allow又有Deny的授权语句时,遵循Deny优先的原则。

取值范围:

  • Allow
  • Deny

Condition

Object

限制条件。了解更多相关参数,请参考:配置自定义策略

说明:

以请求示例中的Condition为例:条件键(obs:prefix)和字符串(public)需相等(StringEquals)。

 "Condition": {
              "StringEquals": {
                "obs:prefix": [
                  "public"
                ]
              }
            }

Resource

Object

资源。规则如下:

说明:
  • 可填 * 的五段式:::::,例:"obs:::bucket:*"。
  • region字段为*或用户可访问的region。service必须存在且resource属于对应service。
  • 当该自定义策略为委托自定义策略时,该字段类型为Object,值为:"Resource": {"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]}

请求示例

查询项目服务中的委托权限。

GET https://iam.myhuaweicloud.com/v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles

响应示例

状态码为 200 时:

请求成功。

{
    "roles": [
        {
            "domain_id": null,
            "flag": "fine_grained",
            "description_cn": "应用运维管理服务只读权限",
            "catalog": "AOM",
            "name": "system_all_30",
            "description": "AOM read only",
            "id": "75cfe22af2b3498d82b655fbb39de498",
            "display_name": "AOM Viewer",
            "type": "XA",
            "policy": {
                "Version": "1.1",
                "Statement": [
                    {
                        "Action": [
                            "aom:*:list",
                            "aom:*:get",
                            "apm:*:list",
                            "apm:*:get"
                        ],
                        "Effect": "Allow"
                    }
                ]
            }
        }
    ]
}

返回值

返回值

描述

200

请求成功。

401

认证失败。

403

没有操作权限。

404

未找到相应的资源。

500

内部服务错误。

错误码