Updated on 2024-10-21 GMT+08:00

Adding Permission Policies

Function

This API is used to add permission policies to a specified stream.

Calling Method

For details, see Calling APIs.

URI

POST /v2/{project_id}/streams/{stream_name}/policies

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID

stream_name

Yes

String

Name of the stream for which you want to add an authorization policy

Maximum: 64

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token.

It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

stream_id

Yes

String

Unique ID of the stream

principal_name

Yes

String

Authorized user.

If the permission is granted to a specified tenant, the format is domainName.*. If the permission is granted to a specified sub-user of a tenant, the format is domainName.userName.

You can add multiple accounts and separate them by commas (,), for example, domainName1.userName1,domainName2.userName2.

action_type

Yes

String

Authorization operation type.

  • putRecords: uploading data

  • getRecords: downloading data

Enumeration values:

  • putRecords

  • getRecords

  • getStreamInfo

effect

Yes

String

Authorization impact type.

  • accept: The authorization operation is allowed.

Enumeration values:

  • accept

Response Parameters

None

Example Requests

  • Adding Permission Policies for Tenants

    POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/policies
    
    {
      "stream_id" : "CiFdELMr0401K9GGZlp",
      "principal_name" : "domainname1",
      "action_type" : "putRecords",
      "effect" : "accept"
    }
  • Adding Permission Policies for Sub-users

    POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/policies
    
    {
      "stream_id" : "CiFdELMr0401K9GGZlp",
      "principal_name" : "domainname1.username1",
      "action_type" : "putRecords",
      "effect" : "accept"
    }

Example Responses

None

Status Codes

Status Code

Description

200

Normal response

Error Codes

See Error Codes.