ResourceSchema

Updated at:
Copy as MD

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 default authorization method by default.

  • default represents the native authorization method for the resource type and is mapped by the system to a specific PermissionGrantService based on defSchema.

  • If you do not specify authMethod or pass default, 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

This is the only resource type that currently supports multiple authorization methods. Ranger authorization is used by default, and StarRocks Manager is 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 are the definitions of these ResourceSchemas:

  • 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

select

Row-level filter condition, SQL WHERE clause. When rowFilter is declared, only select is allowed as the accessType.

  • 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

authMethods

Supports the hologres authorization method (default), which executes authorization through native Hologres GRANT statements.

column sub-resource

A level 5 sub-resource under table. You specify a single column name by using the metaData.column field. Each column requires a separate permission request record.

Column permission access types

Only select, insert, and update are supported.

  • 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"
      ]
    }
  ]
}