Set single dataset row and column permission configuration information (addition and update)
Operation description
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
Test
RAM authorization
|
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 |
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.