更新时间:2024-08-16 GMT+08:00
分享

查询租户授权信息

功能介绍

该接口用于查询指定账号中的授权记录。

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

调试

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

URI

GET /v3.0/OS-PERMISSION/role-assignments

表1 Query参数

参数

是否必选

参数类型

描述

domain_id

String

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

role_id

String

策略ID。

subject

String

授权主体,取值范围:user、group、agency。该参数与subject.user_id、subject.group_id、subject.agency_id只能选择一个。

subject.user_id

String

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

subject.group_id

String

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

subject.agency_id

String

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

scope

String

授权范围,取值范围:project、domain、enterprise_project。该参数与scope.project_id、scope.domain_id、scope.enterprise_projects_id只能选择一个。

说明:
  • 如需查看全局服务授权记录,scope取值domain或填写scope.domain_id。
  • 如需查看基于所有资源的授权记录,scope取值为domain,且is_inherited取值为true。
  • 如需查看基于项目的授权记录,scope取值为project或填写scope.project_id。
  • 如需查看基于企业项目的授权记录,scope取值为enterprise_project或填写scope.enterprise_project_id。

scope.project_id

String

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

scope.domain_id

String

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

scope.enterprise_projects_id

String

授权的企业项目ID,获取方式请参见:如何获取企业项目ID

is_inherited

Boolean

是否包含基于所有项目授权的记录,默认为false。当参数scope=domain或者scope.domain_id存在时生效。true:查询基于所有项目授权的记录。 false:查询基于全局服务授权的记录。

include_group

Boolean

是否包含基于IAM用户所属用户组授权的记录,默认为true。当参数subject=user或者subject.user_id存在时生效。true:查询基于IAM用户授权、IAM用户所属用户组授权的记录。 false:仅查询基于IAM用户授权的记录。

page

Integer

分页查询时数据的页数,查询值最小为1。需要与per_page同时存在。

per_page

Integer

分页查询时每页的数据个数,取值范围为[1,50],需要与page同时存在。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

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

token所需权限请参见授权项

响应参数

表3 响应Body参数

参数

参数类型

描述

total_num

Long

返回授权记录的总条数。

role_assignments

Array of RoleAssignmentBody objects

授权信息。

表4 role_assignments

名称

类型

描述

user

RoleUserAssignmentId object

授权用户信息。仅在授权主体,取值为user时返回此字段。

role

RoleAssignmentId object

授权策略信息。

group

RoleGroupAssignmentId object

授权用户组信息。仅在授权主体,取值为group时返回此字段。

agency

RoleAgencyAssignmentId object

授权委托信息。仅在授权主体,取值为agency时返回此字段。

scope

RoleAssignmentScope object

授权作用的范围。

is_inherited

Boolean

是否基于所有项目授权。

表5 role_assignments.user

参数

参数类型

描述

id

String

IAM用户ID。

表6 role_assignments.role

名称

类型

描述

id

String

权限ID。

表7 role_assignments.group

名称

类型

描述

id

String

用户组ID。

表8 role_assignments.agency

名称

类型

描述

id

String

委托ID。

表9 role_assignments.scope

名称

类型

描述

project

RoleProjectAssignmentId object

基于IAM项目授权的信息。仅授权范围选择project时返回此字段。

domain

RoleDomainAssignmentId object

基于全局服务或所有项目授权的信息。仅授权范围选择domain时返回此字段。

enterprise_project

RoleEnterpriseProjectAssignmentId object

基于企业项目授权的信息。仅授权范围选择enterprise_project时返回此字段。

表10 role_assignments.scope.project

名称

类型

描述

id

String

IAM项目ID。

表11 role_assignments.scope.domain

名称

类型

描述

id

String

全局服务ID。

表12 role_assignments.scope.enterprise_project

名称

类型

描述

id

String

企业项目ID。

请求示例

查询租户授权信息。

GET  https://iam.myhuaweicloud.com/v3.0/OS-PERMISSION/role-assignments?{domain_id}

响应示例

状态码为200时:

请求成功。
{
    "role_assignments":{
        "group":{
            "id":"07609e7eb200250a3f7dc003cb7a4e2d"
        },
        "is_inherited":true,
        "role":{
            "id":"11e5c42d20cc349a2b9e2f8afd253f50c"
        },
        "scope":{
            "domain":{
                "id":"d78cbac186b744899480f25bd022f468"
            }
        }
    },
    "total_num":1
}

返回值

返回值

描述

200

请求成功。

400

参数无效。

401

认证失败。

403

没有操作权限。

错误码

请参见错误码

相关文档