All Products
Search
Document Center

Quick BI:SetDataLevelPermissionRuleConfig

Last Updated:Jan 20, 2026

Set single dataset row and column permission configuration information (addition and update)

Operation description

Note

This interface only supports the new row and column permission model of Quick BI. If you are still using the old row and column permissions, please migrate to the new row and column permission model before calling this interface. Steps to migrate to the new row and column permission model: In Organization Management --> Security Configuration --> Upgrade Row and Column Permissions to New Version, click One-Click Upgrade to upgrade to the new row-level permissions.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

quickbi-public:SetDataLevelPermissionRuleConfig

create

*All Resource

*

None None

Request parameters

Parameter

Type

Required

Description

Example

RuleModel

string

Yes

{ "rule": "a5bb24da--a891683e14da", // ID of the row and column permission rule; when provided, it modifies the row-level permission rule, otherwise, it adds a new one "cubeId": "7c7223ae--3c744528014b", // Dataset ID "ruleName": "Test Row-Level Permission", // Name of the row-level permission rule "ruleLevelType": "ROW_LEVEL", // Type of row-level permission: ROW_LEVEL: Row-level permission, COLUMN_LEVEL: Column-level permission "ruleTargetScope": "ALL", // Target audience for the row-level permission rule: 1: Everyone, 2: Specific people "hitTakeEffect": 1, // Whether the rule takes effect after being hit (for column-level permissions): 1: Takes effect (default), 0: Does not take effect "ruleUsersModel": { "userGroups": [ "9bd2c6440ac542589f16bf12ca8178dd", // User group IDs for the target user groups "0d5fb19b--1248fc27ca51", "3d2c23d4--f6390f325c2d" ], "users": [ "433423784358", // User IDs for the target users "Huang2e3fa822" ] }, "ruleContentModel": { "ruleContentType": "ROW_FIELD", // Type of the row and column permission rule "ruleContentJson": "{"conditionNode":{"caption":"Period","isMeasure":false,"pathId":"7d3bbc6","relationOperator":"not-null","name":"7d3bbc6","value":{"value":[""],"valueType":"ENUM"}}}", // JSON string of the rule "ruleOriginConfigJson": "{"operator":"and","operands":[{"labelName":"Period","isValid":true,"uniqueId":"5","fieldId":"7d3b***bc6","error":false,"fieldType":"string","defaultValue":{"selectType":"condition","value":{"conditionOp":"not-null","conditionValue":""},"valueType":"ENUM"}}],"isRelation":true}" // JSON result used by the frontend template (specific to row-level permissions) } }

{ "cubeId": "aa574353-41cf-****-8d0d-455176c101fa", "hitTakeEffect": 1, "isOpen": 1, "permissionMode": "COMPLEX", "ruleContentModel": { "ruleContent": { "pathId": [ "264b7a970b" ] }, "ruleContentJson": "{\"pathId\":[\"264b7a970b\"]}", "ruleContentType": "COLUMN_FORBID" }, "ruleId": "3971fa8e-f7e0-****-b6e3-5b3167dd7247", "ruleLevelType": "COLUMN_LEVEL", "ruleName": "rulename", "ruleTargetScope": "ALL" }

Response elements

Element

Type

Description

Example

object

RequestId

string

Request ID.

D8749D65-E80A-433C-AF1B-CE9C180FF3B4

Result

string

Successfully saved row and column permission information.

{ "cubeId": "aa574353-41cf-****-8d0d-455176c101fa", "hitTakeEffect": 1, "isOpen": 1, "permissionMode": "COMPLEX", "ruleContentModel": { "ruleContent": { "pathId": [ "264b7a970b" ] }, "ruleContentJson": "{\"pathId\":[\"264b7a970b\"]}", "ruleContentType": "COLUMN_FORBID" }, "ruleId": "3971fa8e-f7e0-****-b6e3-5b3167dd7247", "ruleLevelType": "COLUMN_LEVEL", "ruleName": "name", "ruleTargetScope": "ALL" }

Success

boolean

Indicates whether the request was successful. The value range is as follows:

  • true: The request succeeded

  • false: The request failed

true

Examples

Success response

JSON format

{
  "RequestId": "D8749D65-E80A-433C-AF1B-CE9C180FF3B4",
  "Result": "{\n    \"cubeId\": \"aa574353-41cf-****-8d0d-455176c101fa\",\n    \"hitTakeEffect\": 1,\n    \"isOpen\": 1,\n    \"permissionMode\": \"COMPLEX\",\n    \"ruleContentModel\": {\n        \"ruleContent\": {\n            \"pathId\": [\n                \"264b7a970b\"\n            ]\n        },\n        \"ruleContentJson\": \"{\\\"pathId\\\":[\\\"264b7a970b\\\"]}\",\n        \"ruleContentType\": \"COLUMN_FORBID\"\n    },\n    \"ruleId\": \"3971fa8e-f7e0-****-b6e3-5b3167dd7247\",\n    \"ruleLevelType\": \"COLUMN_LEVEL\",\n    \"ruleName\": \"name\",\n    \"ruleTargetScope\": \"ALL\"\n}",
  "Success": true
}

Error codes

HTTP status code

Error code

Error message

Description

400 Cube.Not.Exist The Cube does not exist. The Cube does not exist.
400 CubePermission.Columnlevel.VersionError You are not allowed to use the new dataLevelPermission API. You are not allowed to use new dataLevelPermission api.
400 CubePermission.ColumnlevelField.Repeat There are duplicate field configurations. There are duplicate field configurations.
400 RowLevelPermission.SwitchClose.Error The row level permission switch must be on. Row lever permission switch must be open.
400 RowLevelPermission.Rule.NotExsist The row level permission rule does not exist: %s. The row level permission rule does not exist: %s.
400 RowLevelPermission.Rule.NotBelongToCube The row level permission rule does not belong to the current cube. The row level permission rule does not belong to the current cube.
400 Cube.NotBelongTo.CurrentOrganization The cube does not belong to the current organization %s. Cube do not belong to current organization:%s.
400 PathId.NotExist.Error The cube field does not exist ,path id: %s. Dataset field does not exist, field id:%s.
400 Cannot.Support.MultipleDatasource The current user tag table fields come from multiple tag tables, and separate calculations for multiple rows are not allowed. The current user tag table fields come from multiple tag tables, and separate calculations for multiple rows are not allowed.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.