接口参考
文档版本 01
发布日期 2021-11-30
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。
商标声明
和其他华为商标均为华为技术有限公司的商标。
本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
目 录
1 使用前必读... 1
1.1 概述... 1
1.2 调用说明...1
1.3 终端节点...1
1.4 约束与限制... 1
1.5 基本概念...1
2 API 概览... 3
3 如何调用 API...4
3.1 构造请求...4
3.2 认证鉴权...8
3.3 返回结果...9
4 快速入门...11
5 API 说明... 13
5.1 查询版本操作...13
5.1.1 查询 API 版本列表... 13
5.1.2 查询 API 版本号详情... 19
5.2 预定义标签操作... 26
5.2.1 创建删除预定义标签... 27
5.2.2 查询预定义标签列表... 34
5.2.3 修改预定义标签...43
5.3 配额... 50
5.3.1 查询标签配额... 50
6 权限策略与授权项... 59
6.1 策略及授权项说明... 59
6.2 标签管理服务 API 授权列表项... 60
A 附录... 61
A.1 状态码... 61
A.2 错误码... 62
A.3 获取项目 ID... 64
B 修订记录... 66
1 使用前必读
1.1 概述
欢迎使用标签管理服务(Tag Management Service,简称TMS)。标签用于标识云资 源,当您拥有相同类型的许多云资源时,可以使用标签按各种维度(例如用途、所有 者或环境)对云资源进行分类。标签管理服务是一种快速便捷将标签集中管理的可视 化服务,提供跨区域、跨服务的集中标签管理和资源分类功能。
您可以使用本文档提供API创建或删除预定义标签、查询预定义标签列表、修改预定义 标签等。支持的全部操作请参见API概览。
在调用标签管理服务API之前,请确保已经充分了解标签管理服务相关概念,详细信息 请参见产品介绍。
1.2 调用说明
标签管理服务提供了REST(Representational State Transfer)风格API,支持您通过 HTTPS请求调用,调用方法请参见3 如何调用API。
1.3 终端节点
终端节点(Endpoint)即调用API的请求地址,不同服务不同区域的终端节点不同,您 可以从地区和终端节点中查询标签管理服务的终端节点。
1.4 约束与限制
● 您能创建的标签的数量与配额有关系,如果您想查看服务配额、扩大配额,具体 请参见“配额调整”。
● 更详细的限制请参见具体API的说明。
1.5 基本概念
用户注册时的帐号,帐号对其所拥有的资源及云服务具有完全的访问权限,可以 重置用户密码、分配用户权限等。由于帐号是付费主体,为了确保帐号安全,建 议您不要直接使用帐号进行日常管理工作,而是创建用户并使用他们进行日常管 理工作。
● 用户
由帐号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问 密钥)。
在我的凭证下,您可以查看帐号ID和IAM用户ID。通常在调用API的鉴权过程中,
您需要用到帐号、用户和密码等信息。
● 区域(Region)
从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象 存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属 Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只 承载同一类业务或只面向特定租户提供业务服务的专用Region。
详情请参见区域和可用区。
● 可用区(AZ,Availability Zone)
一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上 再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高 速光纤相连,以满足用户跨AZ构建高可用性系统的需求。
● 项目
区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计 算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您 帐号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默 认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授 权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。
图1-1 项目隔离模型
同样在我的凭证下,您可以查看项目ID。
● 企业项目
企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔 离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。
关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指 南》。
2 API 概览
通过使用标签管理服务所提供的接口,您可以完成创建或删除预定义标签、查询预定 义标签列表、修改预定义标签、查询版本信息。
表2-1 接口说明
API 说明
查询API版本列表 查询TMS的API版本列表。
查询API版本号详情 查询TMS的API版本号详情。
创建删除预定义标签 用于创建或删除预定义标签。用户创建预定义标签后,可以
使用预定义标签来给资源创建标签。
查询预定义标签列表 查询指定用户的预定义标签列表,访问数据库获取标签列表
信息。
修改预定义标签 用于修改预定义标签。
查询标签配额 查询标签的配额信息。
3 如何调用 API
3.1 构造请求
本节介绍REST API请求的组成,并以调用IAM服务的获取用户Token说明如何调用 API,该API获取用户的Token,Token可以用于调用其他API时鉴权。
您还可以通过这个视频教程了解如何构造请求调用API:https://
bbs.huaweicloud.com/videos/102987。
请求 URI
请求URI由如下部分组成:
{URI-scheme}://{Endpoint}/{resource-path}?{query-string}
尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传 递它,所以在此单独强调。
表3-1 URI 中的参数说明
参数 描述
URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。
Endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域的 Endpoint不同,您可以从地区和终端节点获取。
例如IAM服务在“华北-北京四 ”区域的Endpoint为“iam.cn- north-4.myhuaweicloud.com”。
resource-path 资源路径,也即API访问路径。从具体API的URI模块获取,例如
“获取用户Token”API的resource-path为“/v3/auth/tokens”。
query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数 前面需要带一个“?”,形式为“参数名=参数取值”,例如“?
limit=10”,表示查询不超过10条数据。
例如您需要获取IAM在“华北-北京四”区域的Token,则需使用“华北-北京四”区域 的Endpoint(iam.cn-north-4.myhuaweicloud.com),并在获取用户Token的URI部 分找到resource-path(/v3/auth/tokens),拼接起来如下所示。
https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
图3-1 URI 示意图
说明
为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。
这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分 省略。
请求方法
HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。
表3-2 HTTP 方法
方法 说明
GET 请求服务器返回指定资源。
PUT 请求服务器更新指定资源。
POST 请求服务器新增资源或执行特殊操作。
DELETE 请求服务器删除指定资源,如删除对象等。
HEAD 请求服务器资源头部。
PATCH 请求服务器更新资源的部分内容。
当资源不存在的时候,PATCH可能会去创建一个新的资 源。
在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为:
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
请求消息头
附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请 求头“Content-Type”,请求鉴权信息等。
表3-3 公共请求消息头
名称 描述 是否必选 示例
Host 请求的服务器信
息,从服务API的 URL中获取。值为 hostname[:port]。
端口缺省时使用默 认的端口,https的 默认端口为443。
否
使用AK/SK认 证时该字段必 选。
code.test.com or
code.test.com:443
Content-Type 消息体的类型(格 式)。推荐用户使 用默认值application/json,
有其他取值时会在 具体接口中专门说 明。
是 application/json
Content-
Length 请求body长度,单
位为Byte。 否 3495
X-Project-Id project id,项目编 号。请参考获取项 目ID章节获取项目 编号。
否
如果是专属云 场景采用AK/SK认证方 式的接口请求 或者多project 场景采用AK/SK认证的 接口请求,则 该字段必选。
e9993fc787d94b6c886cb aa340f9c0f4
X-Auth-Token 用户Token。
用户Token也就是调 用获取用户Token接 口的响应值,该接 口是唯一不需要认 证的接口。
请求响应成功后在 响应消息头
(Headers)中包含 的“X-Subject- Token”的值即为 Token值。
否
使用Token认 证时该字段必 选。
注:以下仅为Token示例片 段
MIIPAgYJKoZIhvcNAQcCo ...ggg1BBIINPXsidG9rZ
说明
API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中 添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。
AK/SK认证的详细说明请参见认证鉴权的“AK/SK认证”。
对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添 加消息头后的请求如下所示。
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
请求消息体(可选)
该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中 Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中 文,则中文字符必须为UTF-8编码。
每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消 息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根 据具体接口而定。
对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说 明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中
username
为用户名,domainname
为用户所属的帐号名称,********
为用户登录密 码,xxxxxxxxxxxxxxxxxx
为project的名称,如“cn-north-1”,您可以从地区和终端 节点获取。说明
scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可 以设置Token的作用域为某个帐号下所有资源或帐号的某个project下的资源,详细定义请参见获 取用户Token。
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
{ "auth": { "identity": { "methods": [ "password"
],
"password": { "user": {
"name": "username", "password": "********", "domain": {
"name": "domainname"
} } } }, "scope": { "project": {
"name": "xxxxxxxxxxxxxxxxxx"
} } } }
到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编 写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x- subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认 证调用其他API。
3.2 认证鉴权
调用接口有如下两种认证方式,您可以选择其中一种进行认证鉴权。
● Token认证:通过Token认证调用请求。
● AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。
推荐使用AK/SK认证,其安全性比Token认证要高。
Token 认证
说明
Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。
Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。
Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得 操作API的权限。Token可通过调用获取用户Token接口获取。
云服务存在两种部署方式:项目级服务和全局级服务。其中:
● 项目级服务需要获取项目级别的Token,此时请求body中auth.scope的取值为 project。
● 全局级服务需要获取全局级别的Token,此时请求body中auth.scope的取值为 domain。
调用本服务API需要项目级别的Token,即调用获取用户Token接口时,请求body中 auth.scope的取值需要选择project,如下所示。
{ "auth": { "identity": { "methods": [ "password"
],
"password": { "user": {
"name": "username", "password": "********", "domain": {
"name": "domainname"
} } } }, "scope": { "project": {
"name": "xxxxxxxx"
} } } }
获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,
其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token:
ABCDEFJ....”加到请求消息头即可,如下所示。
POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json
X-Auth-Token: ABCDEFJ....
您还可以通过这个视频教程了解如何使用Token认证:https://
bbs.huaweicloud.com/videos/101333。
AK/SK 认证
说明
AK/SK签名认证方式仅支持消息体大小12MB以内,12MB以上的请求请使用Token认证。
AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而 通过身份认证。
● AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密 钥ID和私有访问密钥一起使用,对请求进行加密签名。
● SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签 名,可标识发送方,并防止请求被修改。
使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门 的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。
说明
签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
3.3 返回结果
状态码
请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。
状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码 列表请参见状态码。
对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。
响应消息头
对应请求消息头,响应同样也有消息头,如“Content-type”。
对于获取用户Token接口,返回如图3-2所示的消息头,其中“x-subject-token”就是 需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
图3-2 获取用户 Token 响应消息头
响应消息体(可选)
该部分可选。响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中 Content-Type对应,传递除响应消息头之外的内容。
对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。
{ "token": {
"expires_at": "2019-02-13T06:52:13.855000Z", "methods": [
"password"
],
"catalog": [ {
"endpoints": [ {
"region_id": "az-01", ...
当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所 示。
{ "error_msg": "The format of message is error", "error_code": "AS.0001"
}
其中,error_code表示错误码,error_msg表示错误描述信息。
4 快速入门
本节通过调用TMS的API创建预定义标签。
说明
通过IAM服务获取到的Token有效期为24小时,需要使用同一个Token鉴权时,可以先将Token 缓存,避免频繁调用。
涉及 API
当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在调用接口时增加
“X-Auth-Token”到业务接口请求消息头中。
● IAM获取token的API
● TMS创建预定义标签的API
具体步骤
1. Token认证,具体操作请参考认证鉴权。
2. 发送“POST https://TMS的Endpoint/v1.0/predefine_tags/action”。
在Request Header中增加“Content-Type”和“X-Auth-Token”。
在Request Body中传入参数如下:
{ "action" : "create", //操作(必填,String)
"tags" : [ {
"key" : "ENV1", //键(必填,String)
"value" : "DEV1" //值(必填,String)
}, {
"key" : "ENV2", "value" : "DEV2"
} ] }
请求消息发送后,返回状态码204,响应体为空。
说明
● 响应消息包括成功和失败两类情况,本文以响应成功为例进行介绍。
● 若请求消息响应失败则会返回错误码及对应的错误信息说明,详细错误码信息请参见错 误码。
● 响应消息的要素说明及返回值请参考“创建删除预定义标签”章节。
5 API 说明
5.1 查询版本操作
5.1.1 查询 API 版本列表
功能介绍
查询标签管理服务的API版本列表。
调试
您可以在API Explorer中调试该接口。
URI
GET /
请求参数
无
响应参数
状态码: 200
表5-1 响应 Body 参数
参数 参数类型 描述
versions Array of VersionDetail objects
版本列表
表5-2 VersionDetail
参数 参数类型 描述
id String 版本ID(版本号),如v1.0。
links Array of Link
objects API的URL地址。
version String 若该版本API支持微版本,则返回支持的最新微版 本号,如果不支持微版本,则返回空。
status String 版本状态,为如下3种: CURRENT:表示该版本 为主推版本。 SUPPORTED:表示为老版本,但 是现在还继续支持。 DEPRECATED:表示为废弃 版本,存在后续删除的可能。
updated String 版本发布时间,采用UTC时间表示。如v1.0发布 的时间2016-12-09T00:00:00Z。
min_version String 若该版本API 支持微版本,则返回支持的最早微 版本号, 如果不支持微版本,则返回空。
表5-3 Link
参数 参数类型 描述
href String API的URL地址。
rel String self
状态码: 400
表5-4 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-5 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 404
表5-6 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-7 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 405
表5-8 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-9 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 406
表5-10 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-11 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 409
表5-12 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-13 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 410
表5-14 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-15 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 412
表5-16 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-17 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 429
表5-18 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-19 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 500
表5-20 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-21 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 501
表5-22 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-23 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 503
表5-24 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-25 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
请求示例
查询标签管理接口版本号列表
GET https://{Endpoint}/
响应示例
状态码: 200 OK
{ "versions" : [ { "id" : "v1.0", "links" : [ { "rel" : "self",
"href" : "https://{Endpoint}/v1.0"
} ],
"version" : "", "status" : "CURRENT",
"updated" : "2016-12-09T00:00:00Z", "min_version" : ""
} ] }
状态码
状态码 描述
200 OK
400 Bad Request 404 Not Found
405 Method Not Allowed 406 Not Acceptable 409 Conflict
410 Gone
412 Precondition Failed 429 Too Many Requests 500 Internal Server Error 501 Not Implemented 503 Service Unavailable
错误码
请参见错误码。
5.1.2 查询 API 版本号详情
功能介绍
调试
您可以在API Explorer中调试该接口。
URI
GET /{api_version}
表5-26 路径参数
参数 是否必选 参数类型 描述
api_version 是 String API版本号。
请求参数
无
响应参数
状态码: 200
表5-27 响应 Body 参数
参数 参数类型 描述
version VersionDetail
object 版本详情
表5-28 VersionDetail
参数 参数类型 描述
id String 版本ID(版本号),如v1.0。
links Array of Link
objects API的URL地址。
version String 若该版本API支持微版本,则返回支持的最新微版 本号,如果不支持微版本,则返回空。
status String 版本状态,为如下3种: CURRENT:表示该版本 为主推版本。 SUPPORTED:表示为老版本,但 是现在还继续支持。 DEPRECATED:表示为废弃 版本,存在后续删除的可能。
updated String 版本发布时间,采用UTC时间表示。如v1.0发布 的时间2016-12-09T00:00:00Z。
min_version String 若该版本API 支持微版本,则返回支持的最早微 版本号, 如果不支持微版本,则返回空。
表5-29 Link
参数 参数类型 描述
href String API的URL地址。
rel String self
状态码: 400
表5-30 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-31 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 404
表5-32 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-33 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 405
表5-34 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-35 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 406
表5-36 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-37 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 408
表5-38 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-39 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 409
表5-40 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-41 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 410
表5-42 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-43 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 412
表5-44 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-45 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 429
表5-46 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-47 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 500
表5-48 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-49 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 501
表5-50 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-51 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 503
表5-52 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-53 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
请求示例
查询标签管理接口版本号详情
响应示例
状态码: 200 OK
{ "version" : { "id" : "v1.0", "links" : [ { "rel" : "self",
"href" : "https://{Endpoint}/v1.0"
} ],
"version" : "", "status" : "CURRENT",
"updated" : "2016-12-09T00:00:00Z", "min_version" : ""
}}
状态码
状态码 描述
200 OK
400 Bad Request 404 Not Found
405 Method Not Allowed 406 Not Acceptable 408 Request Timeout 409 Conflict
410 Gone
412 Precondition Failed 429 Too Many Requests 500 Internal Server Error 501 Not Implemented 503 Service Unavailable
错误码
请参见错误码。
5.2 预定义标签操作
5.2.1 创建删除预定义标签
功能介绍
用于创建或删除预定义标签。用户创建预定义标签后,可以使用预定义标签来给资源 创建标签。 该接口支持幂等特性和处理批量数据。
调试
您可以在API Explorer中调试该接口。
URI
POST /v1.0/predefine_tags/action
请求参数
表5-54 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。说明:由于TMS是 全局服务,因此调用IAM服务获 取用户Token接口时需要注意作 用域即scope字段应该设置为 domain。响应消息头中X- Subject-Token的值即为用户 Token。
表5-55 请求 Body 参数
参数 是否必选 参数类型 描述
action 是 String 操作标识(区分大小写):
create(创建)
tags 是 Array of
PredefineTag Request objects
标签列表
表5-56 PredefineTagRequest
参数 是否必选 参数类型 描述
key 是 String 键。最大长度36个字符。字符
集:A-Z,a-z , 0-9,‘-’,
‘_’,UNICODE字符
参数 是否必选 参数类型 描述
value 是 String 值。每个值最大长度43个字
符,可以为空字符串。字符集:
AZ,a-z , 0-9,‘.’,
‘-’,‘_’,UNICODE字符
(\u4E00-\u9FFF)。
响应参数
状态码: 400
表5-57 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-58 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 401
表5-59 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-60 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 403
表5-61 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-62 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 404
表5-63 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-64 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 405
表5-65 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-66 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 406
表5-67 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-68 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 409
表5-69 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-70 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 410
表5-71 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-72 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 412
表5-73 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-74 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 429
表5-75 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-76 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 500
表5-77 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-78 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 501
表5-79 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-80 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 503
表5-81 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-82 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
请求示例
● 创建预定义标签
POST https://{Endpoint}/v1.0/predefine_tags/action { "action" : "create",
"tags" : [ { "key" : "ENV", "value" : "DEV"
}, {
"key" : "ENV", "value" : "DEV"
} ] }
● 删除预定义标签
POST https://{Endpoint}/v1.0/predefine_tags/action { "action" : "delete",
"tags" : [ { "key" : "ENV", "value" : "DEV"
}, {
"key" : "ENV", "value" : "DEV"
} ] }
响应示例
无
状态码
状态码 描述
204 No Content
状态码 描述
401 Unauthorized 403 Forbidden 404 Not Found
405 Method Not Allowed 406 Not Acceptable 409 Conflict
410 Gone
412 Precondition Failed 429 Too Many Requests 500 Internal Server Error 501 Not Implemented 503 Service Unavailable
错误码
请参见错误码。
5.2.2 查询预定义标签列表
功能介绍
用于查询预定义标签列表。
调试
您可以在API Explorer中调试该接口。
URI
GET /v1.0/predefine_tags
表5-83 Query 参数
参数 是否必选 参数类型 描述
key 否 String 键,支持模糊查询,不区分大小
写,如果包含“non-URL- safe”的字符,需要进行
“urlencoded”。
参数 是否必选 参数类型 描述
value 否 String 值,支持模糊查询,不区分大小
写,如果包含“non-URL- safe”的字符,需要进行
“urlencoded”。
limit 否 Integer 查询记录数。 最小为1,最大为
1000,未输入时默认为10,为0 时不限制查询数据条数。
最小值:1 最大值:1000 缺省值:10
marker 否 String 分页位置标识(索引)。 从
marker指定索引的下一条数据 开始查询。 说明: 查询第一页 数据时,不需要传入此参数,查 询后续页码数据时,将查询前一 页数据响应体中marker值配入 此参数,当返回的tags为空列表 时表示查询到最后一页。
order_field 否 String 排序字段: 可输入的值包含
(区分大小写):update_time
(更新时间)、key(键)、
value(值)。 只能选择以上排 序字段中的一个,并按照排序方 法字段order_method进行排 序,如果不传则默认值为:
update_time。 如以下: 若该 字段为update_time,则剩余两 个默认字段排序为key升序,
value升序。 若该字段如为 key,则剩余两个默认字段排序 为update_time降序,value升 序。 若该字段如为value,则剩 余两个默认字段排序为
update_time降序,key升序。
若该字段不传,默认字段为 update_time,则剩余两个默认 字段排序为key升序,value升 序。
缺省值:update_time order_method 否 String order_field字段的排序方法。
可输入的值包含(区分大小 写): asc(升序) desc(降 序) 只能选择以上值的其中之 一。 不传则默认值为:desc 缺省值:desc
请求参数
表5-84 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。说明:由于TMS是 全局服务,因此调用IAM服务获 取用户Token接口时需要注意作 用域即scope字段应该设置为 domain。响应消息头中X- Subject-Token的值即为用户 Token。
响应参数
状态码: 200
表5-85 响应 Body 参数
参数 参数类型 描述
marker String 分页位置标识(索引)。
total_count Integer 查询到的标签总数 tags Array of
PredefineTag objects
查询到的标签列表
表5-86 PredefineTag
参数 参数类型 描述
key String 键。 最大长度36个字符。 字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-
\u9FFF)。
value String 值。 每个值最大长度43个字符,可以为空字符 串。 字符集:A-Z,a-z , 0-9,‘.’,‘-’,
‘_’,UNICODE字符(\u4E00-\u9FFF)。
update_time String 更新时间,采用UTC时间表示。
2016-12-09T00:00:00Z
状态码: 400
表5-87 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-88 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 401
表5-89 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-90 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 403
表5-91 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-92 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 404
表5-93 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-94 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 405
表5-95 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-96 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 406
表5-97 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-98 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 409
表5-99 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-100 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 410
表5-101 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-102 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 412
表5-103 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-104 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 429
表5-105 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-106 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 500
表5-107 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-108 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 501
表5-109 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-110 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 503
表5-111 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-112 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
请求示例
查询预定义标签列表
GET https://{Endpoint}/v1.0/predefine_tags?
key=ENV&value=DEV&limit=10&marker=9&order_field=key&order_method=asc
响应示例
状态码: 200 OK
{ "marker" : "12", "total_count" : 13, "tags" : [ { "key" : "ENV1", "value" : "DEV1",
"update_time" : "2017-04-12T14:22:34Z"
}, {
"key" : "ENV2", "value" : "DEV2",
"update_time" : "2017-04-12T14:22:34Z"
} ] }
状态码
状态码 描述
200 OK
400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found
405 Method Not Allowed 406 Not Acceptable 409 Conflict
410 Gone
412 Precondition Failed
状态码 描述
429 Too Many Requests 500 Internal Server Error 501 Not Implemented 503 Service Unavailable
错误码
请参见错误码。
5.2.3 修改预定义标签
功能介绍
修改预定义标签。
调试
您可以在API Explorer中调试该接口。
URI
PUT /v1.0/predefine_tags
请求参数
表5-113 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。说明:由于TMS是 全局服务,因此调用IAM服务获 取用户Token接口时需要注意作 用域即scope字段应该设置为 domain。响应消息头中X- Subject-Token的值即为用户 Token。
表5-114 请求 Body 参数
参数 是否必选 参数类型 描述
new_tag 是 PredefineTag
Request 修改后的标签
参数 是否必选 参数类型 描述 old_tag 是 PredefineTag
Request object
修改前的标签
表5-115 PredefineTagRequest
参数 是否必选 参数类型 描述
key 是 String 键。最大长度36个字符。字符
集:A-Z,a-z , 0-9,‘-’,
‘_’,UNICODE字符
(\u4E00-\u9FFF)。
value 是 String 值。每个值最大长度43个字
符,可以为空字符串。字符集:
AZ,a-z , 0-9,‘.’,
‘-’,‘_’,UNICODE字符
(\u4E00-\u9FFF)。
响应参数
状态码: 400
表5-116 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-117 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 401
表5-118 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-119 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 403
表5-120 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-121 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 404
表5-122 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-123 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 405
表5-124 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-125 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 406
表5-126 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-127 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 409
表5-128 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-129 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 410
表5-130 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-131 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 412
表5-132 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-133 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 429
表5-134 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-135 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 500
表5-136 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-137 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 501
表5-138 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-139 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 503
表5-140 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-141 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
请求示例
修改预定义标签
PUT https://{Endpoint}/v1.0/predefined_tags { "new_tag" : {
"key" : "ENV1", "value" : "DEV1"
}, "old_tag" : { "key" : "ENV2", "value" : "DEV2"
}}
响应示例
无
状态码
状态码 描述
200 OK
400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found
405 Method Not Allowed 406 Not Acceptable 409 Conflict
410 Gone
412 Precondition Failed 429 Too Many Requests 500 Internal Server Error 501 Not Implemented 503 Service Unavailable
错误码
请参见错误码。
5.3 配额
5.3.1 查询标签配额
功能介绍
查询标签的配额信息。
调试
您可以在API Explorer中调试该接口。
URI
GET /v1.0/tms/quotas
请求参数
表5-142 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。说明:由于TMS是 全局服务,因此调用IAM服务获 取用户Token接口时需要注意作 用域即scope字段应该设置为 domain。响应消息头中X- Subject-Token的值即为用户 Token。
响应参数
状态码: 200
表5-143 响应 Body 参数
参数 参数类型 描述
quotas Array of TagQuota objects
配额列表
表5-144 TagQuota
参数 参数类型 描述
quota_key String 配额key quota_limit Integer 配额值 used Integer 已使用
unit String 单位
状态码: 400
表5-145 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-146 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 401
表5-147 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-148 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 403
表5-149 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-150 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 404
表5-151 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-152 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 405
表5-153 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-154 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 406
表5-155 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-156 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 409
表5-157 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-158 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 410
表5-159 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-160 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 412
表5-161 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-162 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 429
表5-163 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-164 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 500
表5-165 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-166 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 501
表5-167 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-168 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
状态码: 503
表5-169 响应 Body 参数
参数 参数类型 描述
error RespErrorMe
ssage object 响应错误信息
表5-170 RespErrorMessage
参数 参数类型 描述
error_code String 请求错误码 error_msg String 错误信息
请求示例
查询标签配额
GET https://{Endpoint}/v1.0/tms/quotas
响应示例
状态码: 200 OK
{ "quotas" : [ { "used" : 4, "unit" : "count",
"quota_key" : "predefine_tag", "quota_limit" : 5000
} ] }
状态码
状态码 描述
200 OK
400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found
405 Method Not Allowed 406 Not Acceptable 409 Conflict
410 Gone
412 Precondition Failed 429 Too Many Requests 500 Internal Server Error
状态码 描述
503 Service Unavailable
错误码
请参见错误码。
6 权限策略与授权项
6.1 策略及授权项说明
如果您需要对您所拥有的标签管理服务(Tag Management Service)进行精细的权限 管理,您可以使用统一身份认证服务(Identity and Access Management,简称 IAM),如果华为云帐号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳 过本章节,不影响您使用标签管理服务的其它功能。
默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授 予策略,才能使用户组中的用户获得策略定义的权限,这一过程称为授权。授权后,
用户就可以基于策略对云服务进行操作。
权限根据授权的精细程度,分为角色和策略。角色以服务为粒度,是IAM最初提供的 一种根据用户的工作职能定义权限的粗粒度授权机制。策略以API接口为粒度进行权限 拆分,授权更加精细,可以精确到某个操作、资源和条件,能够满足企业对权限最小 化的安全管控要求。
说明
如果您要允许或是禁止某个接口的操作权限,请使用策略。
账号具备所有接口的调用权限,如果使用账号下的IAM用户发起API请求时,该IAM用 户必须具备调用该接口所需的权限,否则,API请求将调用失败。每个接口所需要的权 限,与各个接口所对应的授权项相对应,只有发起请求的用户被授予授权项所对应的 策略,该用户才能成功调用该接口。例如,用户要调用接口来查询预定义标签,那么 这个IAM用户被授予的策略中必须包含允许“tms:predefineTags:list”的授权项,该接 口才能调用成功。
支持的授权项
细粒度策略支持的操作与API相对应,授权项列表说明如下:
● 权限:允许或拒绝某项操作。
● 对应API接口:自定义策略实际调用的API接口。
● 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,
可以实现授权项对应的权限功能。
● 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写
● IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括 IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项 对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如 果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如 果在企业管理中授权,则该自定义策略不生效。管理员可以在授权项列表中查看 授权项是否支持IAM项目或企业项目,“√”表示支持,“×”表示暂不支持。
关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。
6.2 标签管理服务 API 授权列表项
表6-1 API 授权项列表
权限 对应API接口 授权项(Action) IAM
项目(Proj ect)
企业项目(Enterpri seProject) 查询预定义标
签 GET /v1.0/
predefine_tags tms:predefineTags
:list √ x
创建预定义标 签
POST /v1.0/
predefine_tags/action tms:predefineTags
:create √ x
删除预定义标 签
POST /v1.0/
predefine_tags/action tms:predefineTags
:delete √ x
修改预定义标 签
PUT /v1.0/
predefine_tags/action tms:predefineTags
:update √ x
查询资源标签 GET /v1.0/tags tms:resourceTags:li
st √ x
创建资源标签 POST /v1.0/
{resource_type}/
{resource_id}/tags/
action
tms:resourceTags:c
reate √ x
删除资源标签 POST /v1.0/
{resource_type}/
{resource_id}/tags/
action
tms:resourceTags:
delete √ x
A 附录
A.1 状态码
● 正常
返回值 说明
200 OK GET和PUT操作正常返回。
201 Created POST操作正常返回。
202 Accepted 请求已被接受。
204 No Content 正常返回。
● 异常
返回值 说明
400 Bad Request 服务器未能处理请求。
401 Unauthorized 被请求的页面需要用户名和密码。
403 Forbidden 禁止访问被请求页面。
404 Not Found 服务器无法找到被请求的页面。
405 Method Not Allowed 请求中指定的方法不被允许。
406 Not Acceptable 服务器生成的响应无法被客户端所接受。
407 Proxy Authentication
Required 用户必须首先使用代理服务器进行验证,这
样请求才会被处理。
408 Request Timeout 请求超出了服务器的等待时间。
409 Conflict 由于冲突,请求无法被完成。
500 Internal Server Error 请求未完成。服务异常。
返回值 说明
501 Not Implemented 请求未完成。服务器不支持所请求的功能。
502 Bad Gateway 请求未完成。服务器从上游服务器收到一个 无效的响应。
503 Service Unavailable 请求未完成。系统暂时异常。
504 Gateway Timeout 网关超时。
A.2 错误码
当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处 理。
更多服务错误码请参见API错误中心。
状态码 错误码 错误信息 描述 处理措施
400 TMS.0002 Bad request. 请求数据非法 请检查请求参数 400 TMS.0007 Limit is
invalid. limit不合法 请检查limit参数 400 TMS.0008 Marker is
invalid. marker不合法 请检查marker参数 400 TMS.0009 Key is invalid. key不合法 请检查key参数 400 TMS.0010 Value is
invalid. value不合法 请检查value参数 400 TMS.0011 Action is
invalid. action不合法 请检查action参数 400 TMS.0012 Tags is empty. tags为空 请检查tags参数 400 TMS.0013 Empty
element in tags.
tags含有空元
素 请检查tags参数
400 TMS.0016 Values is too
much. value超过最大
限额 请检查value参数 400 TMS.0017 Offset is
invalid. offset不合法 请检查tags参数 400 TMS.1001 The number
of predefine tag exceeds the upper limit.
预定义标签达 到限额
请删除无用的预定 义标签
状态码 错误码 错误信息 描述 处理措施 400 TMS.1002 Old_tag
cannot be found.
旧标签不存在 请检查旧标签参数
400 TMS.1003 New_tag
already exists. 新标签已存在 请检查新标签参数 400 TMS.1004 Old_tag is
empty. 旧标签为空 请检查旧标签参数 400 TMS.1005 Invalid key in
old_tag. 旧标签中key无
效 请检查旧标签Key
参数 400 TMS.1006 Invalid value
in old_tag. 旧标签中value 无效
请检查旧标签 Value参数 400 TMS.1007 New_tag is
empty. 新标签为空 请检查新标签参数 400 TMS.1008 Invalid key in
new_tag. 新标签中key无
效 请检查新标签Key
参数 400 TMS.1009 Invalid value
in new_tag. 新标签中value 无效
请检查新标签 Value参数 400 TMS.1010 Order_field is
invalid. sortField不合 法
请检查sortField参 数
400 TMS.1011 Order_metho
d is invalid. orderMethod 不合法
请检查orderMethod参数
401 TMS.0003 Unauthorized
user. 用户未被授权 请检查认证token 403 TMS.0004 Permission
error. 权限不足 请检查权限
403 TMS.0006 The request is too much, try again later.
请求过多,稍后
重试 请求过多,稍后重试
404 TMS.0005 Requested resources not found.
资源未找到 请联系服务支持人 员确认接口是否注 册
409 TMS.0014 Conflict 内部冲突 请联系服务支持人 员
500 TMS.0001 System error. 系统错误 请联系服务支持人 员
504 TMS.0018 Query Time
Out. 查询超时 请稍后再试