Supported ResourceSchemas
Security Center provides built-in ResourceSchemas for common resource types, including: MaxCompute, EMR_ON_ECS_HIVE, SEVERLESS_STARROCKS, HOLOGRES, DATAWORKS_ENTITY, DLF_V1, DLF_NEXT, and LINDORM.
Authorization method configuration
Each authMethods field in a ResourceSchema defines the authorization methods supported by the resource type:
{
"authMethods": [
{
"name": "default",
"displayName": "Native Authorization",
"isDefault": true
}
]
}
Conventions:
-
All built-in ResourceSchemas include at least the
defaultauthorization method. -
defaultrepresents the native authorization method for the resource type and is mapped by the system to a specificPermissionGrantServicebased ondefSchema. -
If you do not specify
authMethodor passdefault, the system automatically uses the native authorization method.
Authorization method and resource type mappings:
|
Resource type |
Default mapping |
Other authorization methods |
Description |
|
SEVERLESS_STARROCKS |
ranger |
starrocksManager |
SEVERLESS_STARROCKS is the only resource type that supports multiple authorization methods. Ranger is used by default, and StarRocks Manager is available as an alternative. |
|
HOLOGRES |
hologres |
- |
Only native authorization is supported. |
|
DLF_V1 |
dlfV1 |
- |
Only DLF 1.0 authorization is supported. |
|
EMR_ON_ECS_HIVE |
ranger |
- |
Only Ranger authorization is supported. |
|
LINDORM |
ranger |
- |
Only Ranger authorization is supported. |
|
DATAWORKS_ENTITY |
default |
- |
Only default authorization is supported. |
|
MaxCompute |
default |
Authorization not supported |
MaxCompute has an independent permission system. |
|
DLF_NEXT |
default |
Authorization not supported |
DLF 3.0 has an independent permission system. |
The following sections show each ResourceSchema definition:
-
MaxCompute
{
"name": "MaxCompute",
"displayName": "MaxCompute Resource",
"version": "v1.0.0",
"authPrincipal": [
"RAM_USER",
"RAM_ROLE"
],
"authMethods": [],
"resources": [
{
"level": 0,
"name": "tenant",
"type": "string",
"label": "DATAWORKS_TENANT_ID",
"parent": "",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 1,
"name": "workspace",
"type": "string",
"label": "DATAWORKS_WORKSPACE_ID",
"parent": "tenant",
"mandatory": true,
"extendedInfo": {},
"enricherFields": [
"workspaceId",
"workspaceName",
"ownerBaseId"
],
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 2,
"name": "project",
"type": "string",
"label": "PROJECT",
"parent": "workspace",
"mandatory": true,
"extendedInfo": {},
"enricherFields": [],
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 3,
"name": "schema",
"type": "string",
"label": "SCHEMA",
"parent": "project",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 4,
"name": "table",
"type": "string",
"label": "TABLE",
"parent": "schema",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": true,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"select",
"update",
"download",
"describe",
"alter",
"drop"
]
},
{
"level": 4,
"name": "resource",
"type": "string",
"label": "RESOURCE",
"parent": "schema",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"read",
"write",
"delete",
"all"
]
},
{
"level": 4,
"name": "udf",
"type": "string",
"label": "UDF",
"parent": "schema",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"read",
"write",
"delete",
"execute",
"all"
]
},
{
"level": 5,
"name": "column",
"type": "string",
"label": "COLUMN",
"parent": "table",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"select",
"update",
"download"
]
}
]
}
-
hive
{
"name": "EMR_ON_ECS_HIVE",
"displayName": "Emr On Ecs Hive Resource",
"version": "v1.0.0",
"authPrincipal": [
"RAM_USER"
],
"authMethods": [],
"resources": [
{
"level": 0,
"name": "tenant",
"type": "string",
"label": "DATAWORKS_TENANT_ID",
"parent": "",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 1,
"name": "instance",
"type": "string",
"label": "INSTANCE_ID",
"parent": "tenant",
"mandatory": true,
"extendedInfo": {},
"enricherFields": [
"workspaceId",
"workspaceName",
"ownerBaseId"
],
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 2,
"name": "database",
"type": "string",
"label": "DATABASE",
"parent": "instance",
"mandatory": true,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"create",
"update",
"alter",
"select"
]
},
{
"level": 3,
"name": "table",
"type": "string",
"label": "TABLE",
"parent": "database",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"select",
"drop",
"update",
"alter",
"all"
]
}
]
}
-
starrocks
{
"name": "SEVERLESS_STARROCKS",
"displayName": "Serverless Starrocks Resource",
"version": "v1.0.0",
"authPrincipal": [
"RAM_USER",
"RAM_ROLE"
],
"authMethods": [
{
"name": "ranger",
"displayName": "Ranger",
"isDefault": true
},
{
"name": "starrocksManager",
"displayName": "StarRocks Manager",
"isDefault": false
}
],
"resources": [
{
"level": 0,
"name": "tenant",
"type": "string",
"label": "DATAWORKS_TENANT_ID",
"parent": "",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 1,
"name": "instance",
"type": "string",
"label": "INSTANCE_ID",
"parent": "tenant",
"mandatory": true,
"extendedInfo": {},
"enricherFields": [],
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 2,
"name": "internalCatalog",
"type": "string",
"label": "INTERNAL_CATALOG",
"parent": "instance",
"mandatory": false,
"extendedInfo": {},
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [],
"authMethodAccessTypes": [
{
"authMethod": "starrocksManager",
"accessTypes": ["all", "usage", "create database", "drop", "alter"]
}
]
},
{
"level": 2,
"name": "hiveCatalog",
"type": "string",
"label": "EXTERNAL_HIVE_CATALOG",
"parent": "instance",
"mandatory": false,
"extendedInfo": {},
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [],
"authMethodAccessTypes": [
{
"authMethod": "starrocksManager",
"accessTypes": ["all", "usage", "create database", "drop", "alter"]
}
]
},
{
"level": 3,
"name": "database",
"type": "string",
"label": "DATABASE",
"parent": "internalCatalog",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": true,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"create table",
"drop",
"alter",
"create view",
"create function",
"create materialized view"
],
"authMethodAccessTypes": [
{
"authMethod": "starrocksManager",
"accessTypes": ["all", "alter", "drop", "create table", "create view", "create function", "create materialized view", "create pipe"]
},
{
"authMethod": "ranger",
"accessTypes": ["create table", "drop", "alter", "create view", "create function", "create materialized view"]
}
]
},
{
"level": 3,
"name": "hiveDatabase",
"type": "string",
"label": "EXTERNAL_HIVE_DATABASE",
"parent": "hiveCatalog",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": true,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"create",
"update",
"alter",
"select"
],
"authMethodAccessTypes": [
{
"authMethod": "starrocksManager",
"accessTypes": ["all", "alter", "drop", "create table", "create view", "create function", "create materialized view", "create pipe"]
},
{
"authMethod": "ranger",
"accessTypes": ["create", "update", "alter", "select"]
}
]
},
{
"level": 4,
"name": "table",
"type": "string",
"label": "TABLE",
"parent": "database",
"mandatory": false,
"extendedInfo": {
"constraints": {
"enabled": true,
"supportedTypes": ["rowFilter"],
"maxConstraints": 1,
"definitions": {
"rowFilter": {
"description": "Row-level filter condition, SQL WHERE clause",
"type": "string",
"required": false,
"example": "ID > 3 AND Name = 'test'",
"authMethods": ["ranger"],
"restrictedAccessTypes": ["select"]
}
}
}
},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"delete",
"drop",
"insert",
"select",
"alter",
"export",
"update"
],
"authMethodAccessTypes": [
{
"authMethod": "starrocksManager",
"accessTypes": ["all", "alter", "drop", "select", "insert", "update", "export", "delete"]
},
{
"authMethod": "ranger",
"accessTypes": ["delete", "drop", "insert", "select", "alter", "export", "update"]
}
]
},
{
"level": 4,
"name": "view",
"type": "string",
"label": "VIEW",
"parent": "database",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [],
"authMethodAccessTypes": [
{
"authMethod": "starrocksManager",
"accessTypes": ["all", "select", "alter", "drop"]
}
]
},
{
"level": 4,
"name": "materializedView",
"type": "string",
"label": "MATERIALIZED_VIEW",
"parent": "database",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [],
"authMethodAccessTypes": [
{
"authMethod": "starrocksManager",
"accessTypes": ["all", "select", "alter", "refresh", "drop"]
}
]
},
{
"level": 4,
"name": "hiveTable",
"type": "string",
"label": "EXTERNAL_HIVE_TABLE",
"parent": "hiveDatabase",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"select"
],
"authMethodAccessTypes": [
{
"authMethod": "starrocksManager",
"accessTypes": ["all", "alter", "drop", "select", "insert", "update", "export", "delete"]
},
{
"authMethod": "ranger",
"accessTypes": ["select"]
}
]
},
{
"level": 4,
"name": "hiveView",
"type": "string",
"label": "EXTERNAL_HIVE_VIEW",
"parent": "hiveDatabase",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [],
"authMethodAccessTypes": [
{
"authMethod": "starrocksManager",
"accessTypes": ["all", "select", "alter", "drop"]
}
]
},
{
"level": 4,
"name": "hiveMaterializedView",
"type": "string",
"label": "EXTERNAL_HIVE_MATERIALIZED_VIEW",
"parent": "hiveDatabase",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [],
"authMethodAccessTypes": [
{
"authMethod": "starrocksManager",
"accessTypes": ["all", "select", "alter", "refresh", "drop"]
}
]
}
]
}
Differences between StarRocks authorization methods:
|
Resource level |
ranger (default) |
starrocksManager |
Description |
|
internalCatalog |
❌ Not supported |
✅ Supported |
Not a leaf node under Ranger |
|
database |
✅ Supported |
✅ Supported |
accessType differs |
|
table |
✅ Supported |
✅ Supported |
Ranger supports rowFilter constraints |
|
view |
❌ Not supported |
✅ Supported |
Supported only by StarRocks Manager |
|
materializedView |
❌ Not supported |
✅ Supported |
Supported only by StarRocks Manager |
|
hiveCatalog |
❌ Not supported |
✅ Supported |
Not a leaf node under Ranger |
|
hiveDatabase |
✅ Supported |
✅ Supported |
accessType differs |
|
hiveTable |
✅ Supported (select only) |
✅ Supported |
Ranger supports select only |
|
hiveView |
❌ Not supported |
✅ Supported |
Supported only by StarRocks Manager |
|
hiveMaterializedView |
❌ Not supported |
✅ Supported |
Supported only by StarRocks Manager |
Constraint support:
|
Resource level |
Constraint type |
Supported authorization methods |
accessType restrictions |
Description |
|
table |
rowFilter |
ranger |
|
Row-level filter condition, SQL WHERE clause. When rowFilter is declared, only |
-
hologres
{
"name": "HOLOGRES",
"displayName": "Hologres Resource",
"version": "v1.0.0",
"authPrincipal": [
"RAM_USER"
],
"authMethods": [
{
"name": "hologres",
"displayName": "Hologres",
"isDefault": true
}
],
"resources": [
{
"level": 0,
"name": "tenant",
"type": "string",
"label": "DATAWORKS_TENANT_ID",
"parent": "",
"mandatory": false,
"extendedInfo": {},
"enricherFields": [],
"recursiveSupported": false,
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 1,
"name": "instance",
"type": "string",
"label": "INSTANCE_ID",
"parent": "tenant",
"mandatory": true,
"extendedInfo": {},
"enricherFields": [],
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 2,
"name": "database",
"type": "string",
"label": "DATABASE",
"parent": "instance",
"mandatory": true,
"extendedInfo": {},
"enricherFields": [],
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 3,
"name": "schema",
"type": "string",
"label": "SCHEMA",
"parent": "database",
"mandatory": true,
"extendedInfo": {},
"enricherFields": [],
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 4,
"name": "table",
"type": "string",
"label": "TABLE",
"parent": "schema",
"mandatory": true,
"extendedInfo": {},
"recursiveSupported": true,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"select",
"insert",
"update",
"delete",
"truncate",
"all"
]
},
{
"level": 5,
"name": "column",
"type": "string",
"label": "COLUMN",
"parent": "table",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"select",
"insert",
"update"
]
}
]
}
Hologres column-level permissions:
|
Configuration item |
Description |
|
|
Supports the |
|
|
A level 5 sub-resource under table. Specify a column name with the |
|
Column permission access types |
Only |
-
dlf-legacy
{
"name": "DLF_V1",
"displayName": "Dlf 1.0 Resource",
"version": "v1.0.0",
"authPrincipal": [
"RAM_USER",
"RAM_ROLE"
],
"authMethods": [],
"resources": [
{
"level": 0,
"name": "tenant",
"type": "string",
"label": "DATAWORKS_TENANT_ID",
"parent": "",
"mandatory": false,
"extendedInfo": {},
"enricherFields": [],
"recursiveSupported": false,
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 1,
"name": "catalog",
"type": "string",
"label": "CATALOG",
"parent": "tenant",
"mandatory": true,
"extendedInfo": {},
"enricherFields": [],
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 2,
"name": "database",
"type": "string",
"label": "DATABASE",
"parent": "catalog",
"mandatory": true,
"extendedInfo": {},
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"describe",
"alter",
"drop",
"createTable",
"createFunction",
"list"
]
},
{
"level": 3,
"name": "table",
"type": "string",
"label": "TABLE",
"parent": "database",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": true,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"select",
"update",
"describe",
"alter",
"drop"
]
},
{
"level": 4,
"name": "column",
"type": "string",
"label": "COLUMN",
"parent": "table",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"select"
]
}
]
}
-
dlfNext
{
"name": "DLF_NEXT",
"displayName": "Dlf Next Resource",
"version": "v1.0.0",
"authPrincipal": [
"RAM_USER",
"RAM_ROLE",
"DLF_ROLE"
],
"authMethods": [],
"resources": [
{
"level": 0,
"name": "tenant",
"type": "string",
"label": "DATAWORKS_TENANT_ID",
"parent": "",
"mandatory": false,
"extendedInfo": {},
"enricherFields": [],
"recursiveSupported": false,
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 1,
"name": "catalog",
"type": "string",
"label": "CATALOG",
"parent": "tenant",
"mandatory": true,
"extendedInfo": {},
"enricherFields": [],
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 2,
"name": "database",
"type": "string",
"label": "DATABASE",
"parent": "catalog",
"mandatory": true,
"extendedInfo": {},
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"describe",
"list",
"alter",
"drop",
"createTable",
"createFunction",
"createView",
"grant",
"all"
]
},
{
"level": 3,
"name": "table",
"type": "string",
"label": "TABLE",
"parent": "database",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": true,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"select",
"update",
"alter",
"drop",
"grant",
"all"
]
},
{
"level": 4,
"name": "column",
"type": "string",
"label": "COLUMN",
"parent": "table",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"select"
]
}
]
}
-
DATAWORKS_ENTITY
{
"name": "DATAWORKS_ENTITY",
"displayName": "Dataworks Entity",
"version": "v1.0.0",
"authPrincipal": [
"RAM_USER",
"RAM_ROLE",
"DATAWORKS_WORKSPACE_ROLE",
"DATAWORKS_WORKSPACE_MEMBER"
],
"authMethods": [],
"resources": [
{
"level": 0,
"name": "tenant",
"type": "string",
"label": "DATAWORKS_TENANT_ID",
"parent": "",
"mandatory": false,
"extendedInfo": {},
"enricherFields": [],
"recursiveSupported": false,
"isValidLeaf": false,
"accessTypeRestrictions": []
},{
"level": 1,
"name": "tenantRole",
"type": "string",
"label": "DATAWORKS_TENANT_ROLE_CODE",
"parent": "tenant",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [
"roleName"
],
"isValidLeaf": true,
"accessTypeRestrictions": [
"joinIn"
],
"authPrincipalRestrictions": [
"RAM_USER",
"RAM_ROLE"
]
},
{
"level": 1,
"name": "workspace",
"type": "string",
"label": "DATAWORKS_WORKSPACE_ID",
"parent": "tenant",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [
"workspaceId",
"workspaceName",
"ownerBaseId"
],
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 2,
"name": "workspaceRole",
"type": "string",
"label": "DATAWORKS_WORKSPACE_ROLE_CODE",
"parent": "workspace",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"joinIn"
],
"authPrincipalRestrictions": [
"RAM_USER",
"RAM_ROLE"
]
}
]
}
-
Lindorm
{
"name": "LINDORM",
"displayName": "Lindorm",
"version": "v1.0.0",
"authPrincipal": [
"RAM_USER"
],
"authMethods": [],
"resources": [
{
"level": 0,
"name": "tenant",
"type": "string",
"label": "DATAWORKS_TENANT_ID",
"parent": "",
"mandatory": false,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": false,
"accessTypeRestrictions": []
},
{
"level": 1,
"name": "instance",
"type": "string",
"label": "INSTANCE_ID",
"parent": "tenant",
"mandatory": true,
"extendedInfo": {},
"enricherFields": [
"instanceName"
],
"isValidLeaf": false,
"accessTypeRestrictions": [
"write",
"read",
"admin",
"trash",
"system",
"all"
]
},
{
"level": 2,
"name": "database",
"type": "string",
"label": "DATABASE",
"parent": "instance",
"mandatory": true,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": false,
"accessTypeRestrictions": [
"write",
"read",
"admin",
"trash",
"system",
"all"
]
},
{
"level": 3,
"name": "table",
"type": "string",
"label": "TABLE",
"parent": "database",
"mandatory": true,
"extendedInfo": {},
"recursiveSupported": false,
"enricherFields": [],
"isValidLeaf": true,
"accessTypeRestrictions": [
"write",
"read",
"admin",
"trash",
"all"
]
}
]
}