更新时间:2026-05-20 GMT+08:00
分享

创建凭据 - CreateSecret

功能介绍

创建新的凭据,并将凭据值存入凭据的初始版本

凭据管理服务将凭据值加密后,存储在凭据对象下的版本中。每个版本可与多个凭据版本状态相关联,凭据版本状态用于标识凭据版本处于的阶段,没有版本状态标记的版本视为已弃用,可用凭据管理服务自动删除

初始版本的状态被标记为SYSCURRENT

接口约束

您可以指定一个对称密钥类型的用户主密钥作为保护凭据的加密密钥。当不指定kms_key_id参数时,凭据管理服务将默认使用名为csms/default的默认主密钥,用于加密您账号在本项目中创建的凭据。如果用户账号下不存在该名称的主密钥,则凭据管理服务会自动为您创建该名称的密钥

如果您指定主密钥,则需要同时具备相应主密钥的kms:dek:create权限,用于凭据值进行加密

调用方法

请参见如何调用API

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,需具备如下身份策略权限。

    授权项

    访问级别

    资源类型(*为必须)

    条件键

    别名

    依赖的授权项

    csms:secret:create

    Write

    secretName *

    • csms:Type

    • csms:KmsKeyId

    -

    kms:cmk:createDataKey

    -

    • g:EnterpriseProjectId

    • g:RequestTag/<tag-key>

    • g:TagKeys

URI

POST /v1/{project_id}/secrets

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

项目ID。可参考获取项目ID获取。

约束限制:

不涉及

取值范围:

以IAM服务接口返回值为准,字符长度32-32

默认取值:

不涉及

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

用户Token。 通过调用IAM服务查询用户Token接口获取(响应消息头中X-Subject-Token的值)。使用AK、SK等认证方式,此处非必选

约束限制:

不涉及

取值范围:

IAM服务查询用户Token接口为准

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

参数解释:

待创建凭据的名称

约束限制:

不涉及

取值范围:

需要满足正则表达式:^[a-zA-Z0-9_-]{1,64}$

默认取值:

不涉及

kms_key_id

String

参数解释:

用于加密保护凭据值的KMS主密钥ID,如果您未指定此参数,凭据管理服务将默认使用名为csms/default的默认主密钥,用于加密您账号在本项目中创建的凭据值。如果用户账号下不存在该名称的主密钥,则凭据管理服务自动为您创建该名称的密钥

约束限制:

不涉及

取值范围:

需要满足正则表达式:^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$

默认取值:

不涉及

description

String

参数解释:

凭据的描述信息

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

secret_binary

String

参数解释:

二进制类型凭据在base64编码后的明文,凭据管理服务将其加密后,存入凭据的初始版本中

约束限制:

secret_binary和secret_string必须且只能设置一个,最大64K

取值范围:

不涉及

默认取值:

不涉及

secret_string

String

参数解释:

文本类型凭据的明文,凭据管理服务将其加密后,存入凭据的初始版本中

约束限制:

secret_binary和secret_string必须且只能设置一个,最大64K

取值范围:

不涉及

默认取值:

不涉及

secret_type

String

参数解释:

凭据类型

约束限制:

不涉及

取值范围:

  • COMMON:通用凭据(默认)。用于应用系统中的各种敏感信息储存

  • RDS:RDS凭据 。专门针对RDS的凭据,用于存储RDS的账号信息(已不支持,使用RDS-FG替代)

  • RDS-FG:RDS凭据 。专门针对RDS的凭据,用于存储RDS的账号信息

  • GaussDB-FG:TaurusDB凭据。专门针对TaurusDB的凭据,用于存储TaurusDB的账号信息

默认取值:

COMMON

auto_rotation

Boolean

参数解释:

自动轮转,仅特定类型的凭据支持配置此参数

约束限制:

不涉及

取值范围:

true 开启 ,false 关闭 (默认)

默认取值:

false

rotation_period

String

参数解释:

轮转周期,当开启自动轮转时,必须填写该值

约束限制:

Integer[unit] ,Integer表示时间长度 。unit表示时间单位,d(天)、h(小时)、m(分钟)、s(秒)。例如 1d 表示一天,24h也表示一天

取值范围:

4小时-8,760小时 (365天)

默认取值:

不涉及

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”

约束限制:

未开通企业管理的用户页面则没有“企业项目”参数项,无需进行配置

取值范围:

不涉及

默认取值:

企业项目用户默认为0

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:TaurusDB凭据。专门针对TaurusDB的凭据,用于存储TaurusDB的账号信息

auto_rotation

Boolean

参数解释:

自动轮转

取值范围:

true 开启, false 关闭(默认)

rotation_period

String

参数解释:

轮转周期

取值范围:

4小时-8,760小时 (365天)

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

参数解释:

下一次轮转时间戳

取值范围:

不涉及

last_used_time

Long

参数解释:

最近一次获取凭据值的时间

取值范围:

不涉及

event_subscriptions

Array of strings

参数解释:

凭据订阅的事件列表,当前最大可订阅一个事件。当事件包含的基础事件触发时,通知消息将发送到事件对应的通知主题

取值范围:

不涉及

enterprise_project_id

String

参数解释:

企业项目ID

取值范围:

不涉及

rotation_func_urn

String

参数解释:

FunctionGraph函数的urn

取值范围:

不涉及

domain_id

String

参数解释:

凭据所属的租户的id

取值范围:

不涉及

replica_type

String

参数解释:

多 Region 凭据类型

取值范围:

  • STANDALONE:表示当前凭据没有 多Region 副本

  • PRIMARY:表示当前凭据有多 Region 副本,当前凭据为主凭据

  • REPLICA:表示当前凭据有多 Region 副本,当前凭据为副本凭据

replicas

Array of Replica objects

参数解释:

副本凭据信息

取值范围:

不涉及

表6 Replica

参数

参数类型

描述

id

String

参数解释:

凭据资源标识符

取值范围:

不涉及

kms_key_id

String

参数解释:

用于加密凭据值的KMS密钥的ID

取值范围:

不涉及

project_id

String

参数解释:

凭据所属的 project_id

取值范围:

不涉及

region

String

参数解释:

凭据所属的 region 名称

取值范围:

不涉及

replica_type

String

参数解释:

多 Region 凭据类型

取值范围:

  • PRIMARY:当前凭据为主凭据

  • REPLICA:当前凭据为副本凭据

status

String

参数解释:

副本凭据同步状态

取值范围:

  • IN_PROGRESS:副本凭据待同步

  • IN_SYNC:副本与主凭据同步

  • FAILED:副本凭据与主凭据同步失败

created_at

Long

参数解释:

创建时间戳

取值范围:

不涉及

updated_at

Long

参数解释:

更新时间戳

取值范围:

不涉及

请求示例

创建一个名字为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"
  }
}

状态码

状态码

描述

200

请求已成功

错误码

请参见错误码

相关文档