Querying a Topic Policy
Function
This API is used to query a topic policy.
Calling Method
For details, see Calling APIs.
URI
GET /v2/{project_id}/notifications/topics/{topic_urn}/attributes
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Specifies the project ID.For details about how to obtain the project ID, see Obtaining the Project ID. |
topic_urn |
Yes |
String |
Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see Querying Topics. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Specifies the topic policy name.Only specified policy names are supported. For details, see Topic Attribute List. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
Specifies a user token. It can be obtained by calling an IAM API. The value of X-Subject-Token in the response header is the user token. |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
request_id |
String |
Specifies the request ID, which is unique. |
attributes |
TopicAttribute object |
Specifies the attribute. Its value can be: -access_policy: specifies the access policy of the topic. -introduction: specifies the introduction to the topic. |
Parameter |
Type |
Description |
---|---|---|
access_policy |
AccessPolicy object |
Specifies the access policy of a topic. |
introduction |
String |
Specifies the introduction to a topic. |
Parameter |
Type |
Description |
---|---|---|
Version |
String |
Specifies the version of the access policy. Only 2016-09-07 is supported. |
Id |
String |
Specifies the unique policy ID. This field cannot be left blank. |
Statement |
Array of Statement objects |
You can use statements to configure an access policy. Each access policy may contain one or more statements. You can use statements to grant topic operation permissions to other users or cloud services. |
Parameter |
Type |
Description |
---|---|---|
Sid |
String |
Specifies the statement ID. The statement ID must be unique, for example, statement01 or statement02. |
Effect |
String |
Specifies the statement effect. The effect can be Allow or Deny. |
Principal |
String |
Specifies the object the statement is applies to. The following two types of objects are supported: CSP indicates cloud users. Service indicates cloud services. Either the Principal or NotPrincipal must be configured. The format of the CSP is urn:csp:iam::domainId:root or *. domainId indicates the account ID of another user, and * indicates the statement is applied for all users. For Service, you must specify the cloud service names in lower case. |
NotPrincipal |
String |
NotPrincipal indicates the object that the statement is not applied to. The following two types of objects are supported: CSP indicates cloud users. Service indicates cloud services. Either the Principal or NotPrincipal must be configured. The format of the CSP is urn:csp:iam::domainId:root or *. domainId indicates the account ID of another user, and * indicates the statement is applied for all users. For Service, you must specify the cloud service names in lower case. |
Action |
String |
Specifies the allowed statement action.You can use a wildcard character to configure a type of actions, for example, SMN:Update* and SMN:Delete*. If you only enter a wildcard character (*) in a statement, all supported actions are configured.Either Action or NotAction must be configured.The following actions are supported:SMN:UpdateTopicSMN:DeleteTopicSMN:QueryTopicDetailSMN:ListTopicAttributesSMN:UpdateTopicAttributeSMN:DeleteTopicAttributesSMN:DeleteTopicAttributeByNameSMN:ListSubscriptionsByTopicSMN:SubscribeSMN:UnsubscribeSMN:Publish |
NotAction |
String |
Specifies the statement action that is not allowed.You can use a wildcard character to configure a type of actions, for example, SMN:Update* and SMN:Delete*. If you only enter a wildcard character (*) in a statement, all supported actions are configured.Either Action or NotAction must be configured.The following actions are supported:SMN:UpdateTopicSMN:DeleteTopicSMN:QueryTopicDetailSMN:ListTopicAttributesSMN:UpdateTopicAttributeSMN:DeleteTopicAttributesSMN:DeleteTopicAttributeByNameSMN:ListSubscriptionsByTopicSMN:SubscribeSMN:UnsubscribeSMN:Publish |
Resource |
String |
Specifies the topic the statement applies to. Either Resource or NotResource must be configured. You need to enter a topic URN. |
NotResource |
String |
Specifies the topic that the statement does not apply to. Either Resource or NotResource must be configured. You need to enter a topic URN. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
request_id |
String |
Specifies the request ID, which is unique. |
code |
String |
Specifies the error code. |
message |
String |
Describes the error message. |
Status code: 403
Parameter |
Type |
Description |
---|---|---|
request_id |
String |
Specifies the request ID, which is unique. |
code |
String |
Specifies the error code. |
message |
String |
Describes the error message. |
Status code: 404
Parameter |
Type |
Description |
---|---|---|
request_id |
String |
Specifies the request ID, which is unique. |
code |
String |
Specifies the error code. |
message |
String |
Describes the error message. |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
request_id |
String |
Specifies the request ID, which is unique. |
code |
String |
Specifies the error code. |
message |
String |
Describes the error message. |
Example Requests
Querying a topic policy
GET https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:test_create_topic_v2/attributes?name=access_policy null
Example Responses
Status code: 200
OK
{ "request_id" : "6837531fd3f54550927b930180a706bf", "attributes" : { "access_policy" : { "Version" : "2016-09-07", "Id" : "__default_policy_ID", "Statement" : [ { "Sid" : "__user_pub_0", "Effect" : "Allow", "Principal" : [ { "CSP" : [ "urn:csp:iam::93dc1b4697ac493d9b7d089569f86b32:root" ] } ], "Action" : [ "SMN:Publish", "SMN:QueryTopicDetail" ], "Resource" : "urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:aaa" }, { "Sid" : "__service_pub_0", "Effect" : "Allow", "Principal" : [ { "Service" : [ "obs" ] } ], "Action" : [ "SMN:Publish", "SMN:QueryTopicDetail" ], "Resource" : "urn:smn:regionId:8bad8a40e0f7462f8c1676e3f93a8183:aaa" } ] } } }
Status Codes
Status Code |
Description |
---|---|
200 |
OK |
400 |
Bad Request |
403 |
Unauthorized |
404 |
Not Found |
500 |
Internal Server Error |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot