华为云用户手册

  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 key_id 是 String 密钥ID,36字节,满足正则匹配“^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$”。 例如:0d0466b0-e727-4d9c-b35d-f84bb474a37f。 key_description 是 String 密钥描述,取值0到255字符。 sequence 否 String 请求消息序列号,36字节序列号。 例如:919c82d4-8046-4722-9094-35c3c6524cff
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 key_info KeyDescriptionInfo object 密钥描述信息。 表5 KeyDescriptionInfo 参数 参数类型 描述 key_id String 密钥ID。 key_description String 密钥描述。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表7 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表9 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 403 表10 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表11 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 404 表12 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表13 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 500 表14 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表15 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 502 表16 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表17 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 504 表18 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表19 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
  • 响应参数 状态码: 202 表6 响应Body参数 参数 参数类型 描述 task_id String 任务下发成功返回的ID。 server_id String 绑定的虚拟机id。 status String 任务下发的状态。SUC CES S或FAILED。 error_code String 任务下发失败返回的错误码。 error_msg String 任务下发失败返回的错误信息。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求示例 { "keypair_name" : "newkeypair1", "server" : { "id" : "d76baba7-ef09-40a2-87ff-3eafec0696e7", "auth" : { "type" : "keypair", "key" : "-----BEGINRSAPRIVATEKEY-----M..." } } } { "keypair_name" : "newkeypair2", "server" : { "id" : "d76baba7-ef09-40a2-87ff-3eafec0696e7" } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 keypair_name 是 String SSH密钥对的名称 server 是 EcsServerInfo object 需要绑定密钥对的虚拟机信息。 表4 EcsServerInfo 参数 是否必选 参数类型 描述 id 是 String 需要绑定(替换或重置)SSH密钥对的虚拟机id auth 否 Auth object 可选字段,鉴权认证类型。替换时需要该参数,重置时不需要该参数。 disable_password 否 Boolean true:禁用虚拟机的ssh登录。 false:不禁用虚拟机的ssh登录。 port 否 Long SSH监听端口。 表5 Auth 参数 是否必选 参数类型 描述 type 否 String 取值为枚举类型。password或keypair。 key 否 String type为枚举值password时,key表示密码; type为枚举值keypair时,key表示私钥;
  • 响应示例 状态码: 200 请求已成功 { "grants" : [ { "operations" : [ "create-datakey", "describe-key" ], "issuing_principal" : "8b961fb414344d59825ba0c8c008c815", "key_id" : "737fd52b-36c4-4c91-972e-f6e202de9f6e", "grant_id" : "dd3f03e9229a5e47a41be6c27a630e60d5cbdbad2be89465d63109ad034db7d8", "grantee_principal" : "13gg44z4g2sglzk0egw0u726zoyzvrs8", "name" : "13gg44z4g2sglzk0egw0u726zoyzvrs8", "creation_date" : "1597062260000", "grantee_principal_type" : "user" } ], "next_marker" : "", "total" : 1, "truncated" : "false" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 limit 否 String 指定查询可退役授权返回记录条数,如果查询记录条数小于存在的条数,响应参数“truncated”将返回“true”,表示存在分页。 取值在授权最大个数范围以内。例如:100 marker 否 String 分页查询起始位置标识。 分页查询收到的响应参数“truncated”为“true”时,可以发送连续的请求获取更多的记录条数,“marker”设置为响应的“next_marker”的值。例如:10。 sequence 否 String 请求消息序列号,36字节序列号。 例如:919c82d4-8046-4722-9094-35c3c6524cff
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 grants Array of Grants objects grant列表,详情请参见grants字段数据结构说明。 next_marker String 获取下一页所需要传递的marker值。 当“truncated”为“false”时,“next_marker”为空。 total Integer 可退役授权总条数。 truncated String 是否还有下一页: “true”表示还有数据。 “false”表示已经是最后一页。 表5 Grants 参数 参数类型 描述 key_id String 密钥ID。 grant_id String 授权ID,64字节。 grantee_principal String 被授权用户ID,1~64字节,满足正则匹配“^[a-zA-Z0-9]{1,64}$”。 例如:0d0466b00d0466b00d0466b00d0466b0 grantee_principal_type String 授权类型。 有效值:“user”,“domain”。 operations Array of strings 授权允许的操作列表。 有效的值:“create-datakey”,“create-datakey-without-plaintext”,“encrypt-datakey”,“decrypt-datakey”,“describe-key”,“create-grant”,“retire-grant”,“encrypt-data”,“decrypt-data”。 有效值不能仅为“create-grant”。 “create-datakey” 创建数据密钥 “create-datakey-without-plaintext” 创建不含明文数据密钥 “encrypt-datakey” 加密数据密钥 “decrypt-datakey” 解密数据密钥 “describe-key” 查询密钥信息 “retire-grant” 退役授权 “encrypt-data” 加密数据 “decrypt-data” 解密数据 issuing_principal String 创建授权用户ID,1~64字节,满足正则匹配“^[a-zA-Z0-9]{1,64}$”。 例如:0d0466b00d0466b00d0466b00d0466b0 creation_date String 创建时间,时间戳,即从1970年1月1日至该时间的总秒数。 例如:1497341531000 name String 授权名字,取值1到255字符,满足正则匹配“^[a-zA-Z0-9:/_-]{1,255}$”。 retiring_principal String 可退役授权的用户ID,1~64字节,满足正则匹配“^[a-zA-Z0-9]{1,64}$”。 例如:0d0466b00d0466b00d0466b00d0466b0 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表7 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表9 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 403 表10 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表11 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 404 表12 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表13 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 500 表14 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表15 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 502 表16 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表17 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 504 表18 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表19 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
  • 响应参数 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表4 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表6 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表8 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表10 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 500 表11 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表12 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 502 表13 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表14 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 504 表15 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表16 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
  • 请求示例 使用ID为“0d0466b0-e727-4d9c-b35d-f84bb474a37f”的用户主密钥加密明文数据“hello world”, 数据加密 算法为"SYMMETRIC_DEFAULT"。 { "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "plain_text" : "hello world", "encryption_algorithm" : "SYMMETRIC_DEFAULT" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 key_id 是 String 密钥ID,36字节,满足正则匹配“^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$”。 例如:0d0466b0-e727-4d9c-b35d-f84bb474a37f。 plain_text 是 String 明文数据,1~4096字节,满足正则匹配“^.{1,4096}$”,且转化为byte数组后长度取值范围为1~4096字节。 encryption_algorithm 否 String 数据加密算法,仅使用非对称密钥需要指定该参数,默认值为“SYMMETRIC_DEFAULT”,合法枚举值如下: SYMMETRIC_DEFAULT RSAES_OAEP_SHA_256 SM2_ENCRYPT sequence 否 String 请求消息序列号,36字节序列号。 例如:919c82d4-8046-4722-9094-35c3c6524cff
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 key_id String 密钥ID。 cipher_text String 加密后的密文,使用了Base64编码 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表6 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表8 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 403 表9 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表10 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 404 表11 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表12 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 500 表13 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表14 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 502 表15 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表16 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 504 表17 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表18 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
  • 请求示例 创建一个名字为demo的凭据,使用kms密钥ID为0d0466b0-e727-4d9c-b35d-f84bb474a37f对“this is a demo secret string”凭据值加密。 { "name" : "demo", "kms_key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "secret_string" : "this is a demo secret string" }
  • 响应示例 状态码: 200 请求已成功 { "secret" : { "id" : "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e", "name" : "test", "state" : "ENABLED", "kms_key_id" : "b168fe00ff56492495a7d22974df2d0b", "description" : "description", "create_time" : 1581507580000, "update_time" : 1581507580000, "scheduled_delete_time" : 1581507580000, "secret_type" : "RDS-FG", "auto_rotation" : true, "rotation_config" : "{'InstanceId':'63616bceef2c45409575d762a498318bin01','SecretSubType':'MultiUser'}", "rotation_period" : "1d", "rotation_time" : 1668567940000, "next_rotation_time" : 1668629140000, "event_subscriptions" : [ "pocEvent" ], "rotation_func_urn" : "urn:fss:{region}:46b6f338fc3445b8846c71dfb1fbxxxx:function:default:test2-0:latest" } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 待创建凭据的名称。 约束:取值范围为1到64个字符,满足正则匹配“^[a-zA-Z0-9_-]{1,64}$”。 kms_key_id 否 String 用于加密保护凭据值的KMS主密钥ID,如果您未指定此参数,凭据管理服务将默认使用名为csms/default的默认主密钥,用于加密您账号在本项目中创建的凭据值。如果用户账号下不存在该名称的主密钥,则凭据管理服务自动为您创建该名称的密钥。 description 否 String 凭据的描述信息。 约束:2048字节。 secret_binary 否 String 二进制类型凭据在base64编码后的明文,凭据管理服务将其加密后,存入凭据的初始版本中。 类型:base64编码的二进制数据对象。 约束:secret_binary和secret_string必须且只能设置一个,最大32K。 secret_string 否 String 文本类型凭据的明文,凭据管理服务将其加密后,存入凭据的初始版本中。 约束:secret_binary和secret_string必须且只能设置一个,最大32K。 secret_type 否 String 凭据类型 COMMON:通用凭据(默认)。用于应用系统中的各种敏感信息储存。 RDS:RDS凭据 。专门针对RDS的凭据,用于存储RDS的账号信息。(已不支持,使用RDS-FG替代) RDS-FG:RDS凭据 。专门针对RDS的凭据,用于存储RDS的账号信息。 GaussDB -FG:GaussDB凭据。专门针对GaussDB的凭据,用于存储GaussDB的账号信息。 auto_rotation 否 Boolean 自动轮转 取值:true 开启 ,false 关闭 (默认) rotation_period 否 String 轮转周期 约束:6小时-8,760小时 (365天) 类型:Integer[unit] ,Integer表示时间长度 。unit表示时间单位,d(天)、h(小时)、m(分钟)、s(秒)。例如 1d 表示一天,24h也表示一天 说明:当开启自动轮转时,必须填写该值 rotation_config 否 String 轮转配置 约束:范围不超过1024个字符。 当secret_type为RDS-FG、GaussDB-FG时,必须填写本参数,参数格式为{"InstanceId":"","SecretSubType":""} 参数说明:InstanceId为实例ID,SecretSubType为轮转子类型,取值为:SingleUser,MultiUser。 SingleUser:指定轮转类型为单用户模式轮转,每次轮转将指定账号重置为新的口令。 MultiUser:指定轮转类型为双用户模式轮转,SYSCURRENT和SYSPREVIOUS分别引用其中一个账号。凭据轮转时,SYSPREVIOUS引用的账号口令会被重置为新的随机口令,随后凭据交换SYSCURRENT和SYSPREVIOUS对账号的引用。 event_subscriptions 否 Array of strings 凭据订阅的事件列表,当前最大可订阅一个事件。当事件包含的基础事件触发时,通知消息将发送到事件对应的通知主题。 enterprise_project_id 否 String 该参数针对企业用户使用。如果您是企业用户,且已创建企业项目,则请从下拉列表中为密钥选择需要绑定的企业项目,默认项目为“default”。 未开通企业管理的用户页面则没有“企业项目”参数项,无需进行配置。 rotation_func_urn 否 String FunctionGraph函数的urn。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 secret Secret object 凭据对象。 表5 Secret 参数 参数类型 描述 id String 凭据的资源标识符。 name String 凭据名称。 state String 凭据状态,取值如下: ENABLED:表示启用状态 DISABLED:表示禁用状态 PENDING_DELETE:表示待删除状态 FROZEN:表示冻结状态 kms_key_id String 用于加密凭据值的KMS主密钥的ID值。 description String 凭据的描述信息。 create_time Long 凭据创建时间,时间戳,即从1970年1月1日至该时间的总秒数。 update_time Long 凭据上次更新时间,时间戳,即从1970年1月1日至该时间的总秒数。 scheduled_delete_time Long 凭据计划删除时间,时间戳,即从1970年1月1日至该时间的总秒数。 凭据不在删除计划中时,本项值为null。 secret_type String 凭据类型 COMMON:通用凭据(默认)。用于应用系统中的各种敏感信息储存。 RDS:RDS凭据 。专门针对RDS的凭据,用于存储RDS的账号信息。(已不支持,使用RDS-FG替代) RDS-FG:RDS凭据 。专门针对RDS的凭据,用于存储RDS的账号信息。 GaussDB-FG:GaussDB凭据。专门针对GaussDB的凭据,用于存储GaussDB的账号信息。 auto_rotation Boolean 自动轮转 取值:true 开启, false 关闭(默认) rotation_period String 轮转周期 约束:6小时-8,760小时 (365天) 类型:Integer[unit] ,Integer表示时间长度 。unit表示时间单位,d(天)、h(小时)、m(分钟)、s(秒)。例如 1d 表示一天,24h也表示一天 说明:当开启自动轮转时,必须填写该值 rotation_config String 轮转配置 约束:范围不超过1024个字符。 当secret_type为RDS-FG、GaussDB-FG时,配置为{"InstanceId":"","SecretSubType":""} 说明:当secret_type为RDS-FG、GaussDB-FG时,必须填写该值 InstanceId为实例ID,SecretSubType为轮转子类型,取值为:SingleUser,MultiUser。 SingleUser:指定轮转类型为单用户模式轮转,每次轮转将指定账号重置为新的口令。 MultiUser:指定轮转类型为双用户模式轮转,SYSCURRENT和SYSPREVIOUS分别引用其中一个账号。凭据轮转时,SYSPREVIOUS引用的账号口令会被重置为新的随机口令,随后凭据交换SYSCURRENT和SYSPREVIOUS对账号的引用。 rotation_time Long 轮转时间戳 next_rotation_time Long 下一次轮转时间戳 event_subscriptions Array of strings 凭据订阅的事件列表,当前最大可订阅一个事件。当事件包含的基础事件触发时,通知消息将发送到事件对应的通知主题。 enterprise_project_id String 企业项目ID rotation_func_urn String FunctionGraph函数的urn。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 502 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 504 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 请求已成功 { "key_info" : { "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "domain_id" : "00074811d5c27c4f8d48bb91e4a1dcfd", "key_alias" : "test", "realm" : "test", "key_description" : "key_description", "creation_date" : "1502799822000", "scheduled_deletion_date" : "", "key_spec" : "AES_256", "key_usage" : "ENCRYPT_DECRYPT", "key_state" : "2", "default_key_flag" : "0", "key_type" : "1", "expiration_time" : "1501578672000", "origin" : "kms", "key_rotation_enabled" : "false", "sys_enterprise_project_id" : "0" } }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 key_info KeyDetails object 密钥详情。 表5 KeyDetails 参数 参数类型 描述 key_id String 密钥ID。 domain_id String 用户域ID。 key_alias String 密钥别名。 realm String 密钥区域。 key_spec String 密钥生成算法。 AES_256 SM4 RSA_2048 RSA_3072 RSA_4096 EC_P256 EC_P384 SM2 key_usage String 密钥用途。 ENCRYPT_DECRYPT SIGN_VERIFY key_description String 密钥描述。 creation_date String 密钥创建时间,时间戳,即从1970年1月1日至该时间的总秒数。 scheduled_deletion_date String 密钥计划删除时间,时间戳,即从1970年1月1日至该时间的总秒数。 key_state String 密钥状态,满足正则匹配“^[1-5]{1}$”,枚举如下: “1”表示待激活状态 “2”表示启用状态 “3”表示禁用状态 “4”表示计划删除状态 “5”表示等待导入状态 default_key_flag String 默认主密钥标识,默认主密钥标识为1,非默认标识为0。 key_type String 密钥类型。 expiration_time String 密钥材料失效时间,时间戳,即从1970年1月1日至该时间的总秒数。 origin String 密钥来源,默认为“kms”,枚举如下: kms表示密钥材料由kms生成 external表示密钥材料由外部导入 key_rotation_enabled String 密钥轮换状态,默认为“false”,表示关闭密钥轮换功能。 sys_enterprise_project_id String 企业项目ID,默认为“0”。 对于开通企业项目的用户,表示资源处于默认企业项目下。 对于未开通企业项目的用户,表示资源未处于企业项目下。 keystore_id String 密钥库ID 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表7 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表9 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 403 表10 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表11 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 404 表12 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表13 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 500 表14 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表15 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 502 表16 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表17 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 504 表18 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表19 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 key_id 是 String 密钥ID,36字节,满足正则匹配“^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$”。 例如:0d0466b0-e727-4d9c-b35d-f84bb474a37f。 sequence 否 String 请求消息序列号,36字节序列号。 例如:919c82d4-8046-4722-9094-35c3c6524cff
  • URI PUT /v1/{project_id}/secrets/{secret_name}/stages/{stage_name} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 secret_name 是 String 凭据名称。 stage_name 是 String 凭据版本状态的名称。满足 '^[a-zA-Z0-9_-]{1,64}$'
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 stage Stage object 凭据状态。 表5 Stage 参数 参数类型 描述 name String 凭据的版本状态名称。 约束:最小长度1,最大长度64。 update_time Long 凭据的版本状态更新的时间戳,时间戳,即从1970年1月1日至该时间的总秒数。 secret_name String 凭据名称。 version_id String 凭据的版本号标识符。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 502 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 504 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求示例 导入密文密钥材料到ID为"0d0466b0-e727-4d9c-b35d-f84bb474a37f"的密钥中。 { "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "import_token" : "AACIBjY2ZTQxYItNDU4Ny04OTIxLWVhZTVhZjg5NDZm....", "encrypted_key_material" : "e0wTU/YJT/HDxsEv2NE+3CKT1..." }
  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表5 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表7 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表9 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 404 表10 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表11 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 500 表12 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表13 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 502 表14 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表15 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息 状态码: 504 表16 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表17 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 key_id 是 String 密钥ID,36字节,满足正则匹配“^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$”。 例如:0d0466b0-e727-4d9c-b35d-f84bb474a37f。 import_token 是 String 密钥导入令牌,base64格式,满足正则匹配“^[0-9a-zA-Z+/=]{200,6144}$”。 encrypted_key_material 是 String 加密后的对称密钥材料,base64格式,满足正则匹配“^[0-9a-zA-Z+/=]{344,360}$”。若导入非对称密钥,则该参数为用于加密私钥的临时中间密钥。 encrypted_privatekey 否 String 使用临时中间密钥加密后的私钥,导入非对称密钥需要该参数,base64格式,满足正则匹配“^[0-9a-zA-Z+/=]{200,6144}$”。 expiration_time 否 Long 密钥材料到期时间,时间戳,即从1970年1月1日至该时间的总秒数,KMS会在该时间的24小时内删除密钥材料。 例如:1550291833 sequence 否 String 请求消息序列号,36字节序列号。 例如:919c82d4-8046-4722-9094-35c3c6524cff
  • 场景描述 在大量数据加解密的场景,您的程序会经常使用到对数据密钥的加解密。 大量数据加密的流程如下: 在KMS中创建一个用户主密钥。 调用KMS的“create-datakey”接口创建数据加密密钥。用户得到一个明文的数据加密密钥和一个密文的数据加密密钥。其中密文的数据加密密钥是由指定的用户主密钥加密明文的数据加密密钥生成的。 用户使用明文的数据加密密钥来加密明文文件,生成密文文件。 用户将密文的数据加密密钥和密文文件一同存储到持久化存储设备或服务中。 大量数据解密的流程如下: 用户从持久化存储设备或服务中读取密文的数据加密密钥和密文文件。 用户调用KMS的“decrypt-datakey”接口,使用对应的用户主密钥(即生成密文的数据加密密钥时所使用的用户主密钥)来解密密文的数据加密密钥,取得明文的数据加密密钥。 若对应的用户主密钥被误删除,会导致解密失败。因此,需要妥善管理好用户主密钥。 用户使用明文的数据加密密钥来解密密文文件。
  • 操作步骤 创建用户主密钥。 接口相关信息 URI格式:POST /v1.0/{project_id}/kms/create-key 详情请参见创建密钥。 别名“/default”为服务默认主密钥的后缀名,由服务自动创建。因此用户创建的主密钥别名不能与服务默认主密钥的别名相同,即后缀名不能为“/default”。 请求示例 POST: https://{endpoint}/v1.0/53d1aefc533f4ce9a59c26b01667cbcf/kms/create-key {endpoint}信息请从地区和终端节点获取。 Body: { "key_alias": "test" } 响应示例 { "key_info": { "key_id": "bb6a3d22-dc93-47ac-b5bd-88df7ad35f1e", "domain_id": "b168fe00ff56492495a7d22974df2d0b" } } 创建数据密钥。 接口相关信息 URI格式:POST /v1.0/{project_id}/kms/create-datakey 详情请参见创建数据密钥。 请求示例 POST https://{endpoint}/v1.0/53d1aefc533f4ce9a59c26b01667cbcf/kms/create-datakey {endpoint}信息请从地区和终端节点获取。 您可使用查询密钥列表接口获取当前用户密钥列表,包括key_id等信息 。 Body: { "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "datakey_length": "512" } 响应示例 { "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "plain_text": "8151014275E426C72EE7D44267EF11590DCE0089E19863BA8CC832187B156A72A5A17F17B5EF0D525872C59ECEB72948AF85E18427F8BE0D46545C979306C08D", "cipher_text": "020098009EEAFCE122CAA5927D2E020086F9548BA1675FDB022E4ECC01B96F2189CF4B85E78357E73E1CEB518DAF7A4960E7C7DE8885ED3FB2F1471ABF400119CC1B20BD3C4A9B80AF590EFD0AEDABFDBB0E2B689DA7B6C9E7D3C5645FCD9274802586BE63779471F9156F2CDF07CD8412FFBE9230643034363662302D653732372D346439632D623335642D6638346262343734613337660000000045B05321483BD9F9561865EE7DFE9BE267A42EB104E98C16589CE46940B18E52" } 加密数据密钥。 接口相关信息 URI格式:POST /v1.0/{project_id}/kms/encrypt-datakey 详情请参见加密数据密钥。 请求示例 POST https://{endpoint}/v1.0/53d1aefc533f4ce9a59c26b01667cbcf/kms/encrypt-datakey {endpoint}信息请从地区和终端节点获取。 您可使用查询密钥列表接口获取当前用户密钥列表,包括key_id等信息 。 Body: { "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "plain_text": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F5A5FD42D16A20302798EF6ED309979B43003D2320D9F0E8EA9831A92759FB4B", "datakey_plain_length": "64" } 响应示例 { "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "cipher_text": "020098005273E14E6E8E95F5463BECDC27E80AF820B9FC086CB47861899149F67CF07DAFF2810B7D27BDF19AB7632488E0926A48DB2FC85BEA905119411B46244C5E6B8036C60A0B0B4842FFE6994518E89C19B1C1D688D9043BCD6053EA7BA0652642CE59F2543C80669139F4F71ABB9BD9A24330643034363662302D653732372D346439632D623335642D66383462623437346133376600000000D34457984F9730D57F228C210FD22CA6017913964B21D4ECE45D81092BB9112E", "datakey_length": "64" } 解密数据密钥。 接口相关信息 URI格式:POST /v1.0/{project_id}/kms/decrypt-datakey 详情请参见解密数据密钥。 请求示例 POST https://{endpoint}/v1.0/53d1aefc533f4ce9a59c26b01667cbcf/kms/decrypt-datakey {endpoint}信息请从地区和终端节点获取。 您可使用查询密钥列表接口获取当前用户密钥列表,包括key_id等信息 。 Body: { "key_id": "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "datakey_cipher_length": "64", "cipher_text": "020098005273E14E6E8E95F5463BECDC27E80AF820B9FC086CB47861899149F67CF07DAFF2810B7D27BDF19AB7632488E0926A48DB2FC85BEA905119411B46244C5E6B8036C60A0B0B4842FFE6994518E89C19B1C1D688D9043BCD6053EA7BA0652642CE59F2543C80669139F4F71ABB9BD9A24330643034363662302D653732372D346439632D623335642D66383462623437346133376600000000D34457984F9730D57F228C210FD22CA6017913964B21D4ECE45D81092BB9112E" } 响应示例 { "data_key": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "datakey_length": "64", "datakey_dgst": "F5A5FD42D16A20302798EF6ED309979B43003D2320D9F0E8EA9831A92759FB4B" }
  • 响应示例 状态码: 200 OK { "task_id" : "aee8d2fe-5484-4753-9177-5a38dc15546c", "task_status" : "RUNNING_RESET", "server_id" : "c9aa197b-a6b6-4c33-b3a6-fa0b4ec50006" } 状态码: 400 Error response { "error_code" : "KPS.XXX", "error_msg" : "XXX" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 server_id String 租户虚拟机ID task_id String 任务下发成功返回的ID task_status String 密钥对正在处理的状态。 READY_RESET 准备重置 RUNNING_RESET 正在重置 FAILED_RESET 重置失败 SUCCESS_RESET 重置成功 READY_REPLACE 准备替换 RUNNING_REPLACE 正在替换 FAILED_RESET 替换失败 SUCCESS_RESET 替换成功 READY_UNBIND 准备解绑 RUNNING_UNBIND 正在解绑 FAILED_UNBIND 解绑失败 SUCCESS_UNBIND 解绑成功 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求示例 { "batch_keypairs" : [ { "keypair_name" : "1", "server" : { "id" : "fxxx16e3-74b8-4025-9852-1f451932c20c", "disable_password" : false, "auth" : { "type" : "password", "key" : "password" } } }, { "keypair_name" : "1", "server" : { "id" : "4xxxxfc4-b4bf-49c2-b983-a1811c9760c1", "disable_password" : false, "auth" : { "type" : "password", "key" : "password" } } } ] }
  • 响应示例 状态码: 202 请求已成功。 { "tasks" : [ { "server_id" : "xxx", "task_id" : "xxx", "status" : "SUCCESS" }, { "server_id" : "xxx", "status" : "Failed", "error_code" : "xxxx", "error_msg" : "xxxx" } ] } 状态码: 400 Error response { "error_code" : "KPS.XXX", "error_msg" : "XXX" }
共100000条