更新主题策略
URI
- 参数说明
请求消息
- 参数说明
名称
是否必选
参数类型
说明
value
是
String
Topic的属性值。
- 当请求参数name为access_policy时,value为Topic属性值,最大支持30KB。
- 当请求参数name为introduction时,value为Topic简介,最大长度120B。
详情请参考表1。
表1 Topic的属性值 名称
说明
约束
Version
访问策略规范版本。
目前只支持“2016-09-07”。
Id
策略的唯一标识。
不能为空。
Statement
访问策略是通过Statement语句来定义的。一个访问策略可包含一条或多条Statement语句。通过Statement语句向其他用户或云服务授权对主题的操作。
一个策略至少一条Statement语句。Statement语句的包含的元素,请参见表2。
表2 Statement语句元素说明 元素名称
说明
约束
Sid
Statement语句的ID。
Statement语句ID必须是唯一的,例如statement01、statement02。
Effect
Statement语句的效果。
“Allow”或者“Deny”。
Principal
NotPrincipal
Principal元素和NotPrincipal元素两者任选其一。
选定后,
- “CSP”对象填写内容的格式为格式为urn:csp:iam::domainId:root,其中domainId为其他用户的“账号ID”。
- “Service”对象填写内容的格式为小写的云服务名称缩写。
Action
NotAction
- Action:Statement语句作用的操作。
Action元素和NotAction元素两者任选其一。
目前支持的操作有:
- SMN:UpdateTopic
- SMN:DeleteTopic
- SMN:QueryTopicDetail
- SMN:ListTopicAttributes
- SMN:UpdateTopicAttribute
- SMN:DeleteTopicAttributes
- SMN:DeleteTopicAttributeByName
- SMN:ListSubscriptionsByTopic
- SMN:Subscribe
- SMN:Unsubscribe
- SMN:Publish
Resource
Statement语句作用的主题。
Resource和NotResource两者任选其一。
选定后,填写内容为主题URN。
NotResource
Statement语句排除作用的主题。
Resource和NotResource两者任选其一。
选定后,填写内容为主题URN。
- 请求样例
PUT https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/{topic_urn}/attributes/access_policy
{ "value": "{ \"Version\": \"2016-09-07\", \"Id\": \"__default_policy_ID\", \"Statement\": [ { \"Sid\": \"__user_pub_0\", \"Effect\": \"Allow\", \"Principal\": { \"CSP\": [ \"urn:csp:iam::{domainID}:root\" ] }, \"Action\": [\"SMN:Publish\",\"SMN:QueryTopicDetail\"], \"Resource\": \"{topic_urn}\" }, { \"Sid\": \"__service_pub_0\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": [\"obs\"] }, \"Action\": [\"SMN:Publish\",\"SMN:QueryTopicDetail\"], \"Resource\": \"{topic_urn}\" } ] }" }
在使用以上样例时,斜体的{project_id}、{domainID}和{topic_urn}需替换为实际值。
其中,domainID是用户的账号ID,获取方法为:登录消息通知服务控制台,单击右上角用户名下的“我的凭证”,查看“账号ID”。
响应消息
- 要素说明
名称
参数类型
说明
request_id
String
请求的唯一标识ID。
- 响应样例
{ "request_id":"6837531fd3f54550927b930180a706bf" }
返回值
请参考返回值。
错误码
请参考错误码。