すべてのプロダクト
Search
ドキュメントセンター

DataWorks:リソーススキーマ

最終更新日:Jun 25, 2026

サポート対象のリソーススキーマ

セキュリティセンターは、MaxCompute、EMR_ON_ECS_HIVE、SEVERLESS_STARROCKS、HOLOGRES、DATAWORKS_ENTITY、DLF_V1、DLF_NEXT、LINDORM などの一般的なリソースタイプ向けに、組み込みのリソーススキーマを提供します。

承認方法の設定

リソーススキーマには、リソースタイプがサポートする承認方法を定義する authMethods フィールドが含まれています。

{
  "authMethods": [
    {
      "name": "default",
      "displayName": "ネイティブ承認",
      "isDefault": true
    }
  ]
}

規則:

  • デフォルトでは、すべての組み込みリソーススキーマに、少なくとも default の承認方法が含まれています。

  • default はリソースタイプのネイティブ承認方法を表し、システムが defSchema に基づいて特定の PermissionGrantService にマッピングします。

  • authMethod を指定しないか、default を渡した場合、システムは自動的にネイティブ承認方法を使用します。

承認方法とリソースタイプのマッピング:

リソースタイプ

デフォルトマッピング

その他の承認方法

説明

SEVERLESS_STARROCKS

ranger

starrocksManager

これは、現在複数の承認方法をサポートする唯一のリソースタイプです。デフォルトでは Ranger 承認が使用され、StarRocks Manager は代替手段です。

HOLOGRES

hologres

-

ネイティブ承認のみをサポートします。

DLF_V1

dlfV1

-

DLF 1.0 承認のみをサポートします。

EMR_ON_ECS_HIVE

ranger

-

Ranger 承認のみをサポートします。

LINDORM

ranger

-

Ranger 承認のみをサポートします。

DATAWORKS_ENTITY

default

-

デフォルトの承認のみをサポートします。

MaxCompute

default

承認はサポートされていません

MaxCompute には独立した権限システムがあります。

DLF_NEXT

default

承認はサポートされていません

DLF 3.0 には独立した権限システムがあります。

  • 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"
      ]
    }
  ]
}
  • EMR on ECS 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"
      ]
    }
  ]
}
  • Serverless 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": "SQLのWHERE句である行フィルターです。",
              "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"]
        }
      ]
    }
  ]
}

StarRocks の承認方法の違い:

リソースレベル

ranger (デフォルト)

starrocksManager

説明

internalCatalog

❌ サポートされていません

✅ サポートされています

Ranger はこれをリーフノードとして扱いません。

database

✅ サポートされています

✅ サポートされています

accessType の値が異なります。

table

✅ サポートされています

✅ サポートされています

Ranger は rowFilter 制約をサポートしています。

view

❌ サポートされていません

✅ サポートされています

StarRocks Manager のみがこれをサポートしています。

materializedView

❌ サポートされていません

✅ サポートされています

StarRocks Manager のみがこれをサポートしています。

hiveCatalog

❌ サポートされていません

✅ サポートされています

Ranger はこれをリーフノードとして扱いません。

hiveDatabase

✅ サポートされています

✅ サポートされています

accessType の値が異なります。

hiveTable

✅ サポートされています (select のみ)

✅ サポートされています

Ranger は select のみをサポートします。

hiveView

❌ サポートされていません

✅ サポートされています

StarRocks Manager のみがこれをサポートしています。

hiveMaterializedView

❌ サポートされていません

✅ サポートされています

StarRocks Manager のみがこれをサポートしています。

制約のサポート:

リソースレベル

制約タイプ

サポート対象の承認方法

アクセスタイプの制限

説明

table

rowFilter

ranger

select

SQL の WHERE 句である行フィルターです。rowFilter が指定されている場合、accessTypeselect に制限されます。

  • 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 の列レベルの権限:

パラメーター

説明

authMethods

hologres 承認方法 (デフォルト) をサポートします。この承認方法は、ネイティブの Hologres GRANT ステートメントを使用して権限を付与します。

column サブリソース

テーブルのレベル 5 サブリソースです。metaData.column フィールドで単一の列名を指定し、列ごとに 1 つの申請レコードを使用します。

列レベルのアクセスタイプ

selectinsertupdate のみをサポートします。

  • DLF V1

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

{
  "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": []
    },
    {
      "level": 2,
      "name": "database",
      "type": "string",
      "label": "DATABASE",
      "parent": "instance",
      "mandatory": true,
      "extendedInfo": {},
      "recursiveSupported": false,
      "enricherFields": [],
      "isValidLeaf": false,
      "accessTypeRestrictions": []
    },
    {
      "level": 3,
      "name": "table",
      "type": "string",
      "label": "TABLE",
      "parent": "database",
      "mandatory": true,
      "extendedInfo": {},
      "recursiveSupported": false,
      "enricherFields": [],
      "isValidLeaf": true,
      "accessTypeRestrictions": [
        "write",
        "read",
        "admin",
        "trash",
        "all"
      ]
    }
  ]
}