主题绑定KMS密钥 - CreateKmsKey
功能介绍
为主题绑定KMS密钥。KMS密钥于绑定后五分钟生效,生效后该主题下发布的消息(确认订阅消息、取消订阅消息、主题消息)均使用指定密钥的数据密钥进行加解密,并将消息内容在SMN服务内部加密传输。执行绑定KMS密钥时,用户需要先在IAM处创建名为smn_kms_agency的委托,并将资源操作权限授权给SMN服务。SMN会使用该委托进行创建数据密钥操作。
调用方法
请参见如何调用API。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
smn:topic:createKmsKey
Write
topic *
-
g:EnterpriseProjectId
-
g:ResourceTag/<tag-key>
-
smn:topic:get
-
URI
POST /v2/{project_id}/notifications/topics/{topic_urn}/kms
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Auth-Token |
是 |
String |
用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
key_id |
是 |
String |
在DEW服务上创建的用户主密钥对应的密钥ID,具体参考在DEW服务上创建密钥章节。 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
request_id |
String |
请求的唯一标识ID。 |
|
id |
String |
所使用密钥对应的ID。该ID由SMN生成,是主题下的该密钥的唯一标识ID。 |
状态码:400
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
request_id |
String |
请求的唯一标识ID。 |
|
code |
String |
服务异常错误信息编码。 |
|
message |
String |
服务异常错误信息描述。 |
状态码:403
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
request_id |
String |
请求的唯一标识ID。 |
|
code |
String |
服务异常错误信息编码。 |
|
message |
String |
服务异常错误信息描述。 |
状态码:404
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
request_id |
String |
请求的唯一标识ID。 |
|
code |
String |
服务异常错误信息编码。 |
|
message |
String |
服务异常错误信息描述。 |
状态码:409
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
request_id |
String |
请求的唯一标识ID。 |
|
code |
String |
服务异常错误信息编码。 |
|
message |
String |
服务异常错误信息描述。 |
状态码:500
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
request_id |
String |
请求的唯一标识ID。 |
|
code |
String |
服务异常错误信息编码。 |
|
message |
String |
服务异常错误信息描述。 |
请求示例
绑定KMS密钥成功的请求示例
https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:44ef0bd78eb24f02b40614fe85a7d234:topic_6b10aa8f904111f08c3584a93e8ae4b6/kms
{
"key_id" : "9a618041-a917-49e0-bb3a-1a90163e97fe"
}
响应示例
状态码:200
请求成功的返回体。
{
"request_id" : "44a8e3a585ab4da3954579f5d76ab626",
"id" : "df9831e92dc24c289c0048170f61d5ad"
}
状态码:400
Bad Request
{
"request_id" : "12641f59208d4114a86aace62897980d",
"error_code" : "SMN.00013056",
"error_msg" : "The kms key id is not available."
}
状态码:403
Forbidden
{
"request_id" : "1b261437accc427da6c43eec2fc7e324",
"code" : "SMN.0001",
"message" : "No permission to request resources."
}
状态码:404
Not Found
{
"request_id" : "cfa7a869d1404329adff10ac4bea9308",
"error_code" : "SMN.00010008",
"error_msg" : "Topic information is not found."
}
状态码:409
Conflict
{
"request_id" : "03651b5ef1da4b3d9545036d2a954d7f",
"error_code" : "SMN.00013049",
"error_msg" : "Kms key already exists."
}
状态码:500
Internal Server Error
{
"request_id" : "cfa7a869d1404329adff10ac4bea9308",
"error_code" : "SMN.00013054",
"error_msg" : "Failed to save kms key."
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
请求成功的返回体。 |
|
400 |
Bad Request |
|
403 |
Forbidden |
|
404 |
Not Found |
|
409 |
Conflict |
|
500 |
Internal Server Error |
错误码
请参见错误码。