Set single dataset row and column permission configuration information (addition and update)
Operation description
Debugging
Authorization information
The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:
- Operation: the value that you can use in the Action element to specify the operation on a resource.
- Access level: the access level of each operation. The levels are read, write, and list.
- Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
- For mandatory resource types, indicate with a prefix of * .
- If the permissions cannot be granted at the resource level,
All Resourcesis used in the Resource type column of the operation.
- Condition Key: the condition key that is defined by the cloud service.
- Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
| Operation | Access level | Resource type | Condition key | Associated operation |
|---|---|---|---|---|
| quickbi-public:SetDataLevelPermissionRuleConfig | create | *All Resources * |
| 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": "test", "ruleTargetScope": "ALL" } |
Response parameters
Examples
Sample success responses
JSONformat
{
"RequestId": "D8749D65-E80A-433C-AF1B-CE9C180FF3B4",
"Result": {
"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": "test",
"ruleTargetScope": "ALL"
},
"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. |
For a list of error codes, visit the Service error codes.
