SecurityStrategySchema template description

Updated at:
Copy as MD

A StrategySchema is the template definition for a security governance policy. Product managers configure it at the system level as the product evolves. It defines the controllers within a policy module and the metadata for each controller, such as its display name, value type, and default values for different product editions.

SecurityStrategySchema template description


1. What is StrategySchema?

A StrategySchema is the template definition for a security governance policy. Product managers configure it at the system level as the product evolves. It defines the controllers within a policy module and the metadata for each controller, such as its display name, value type, and default values for different product editions.

Core relationships:

  • StrategySchema (template): Defines the set of available controllers for a policy.

  • SecurityStrategy (policy): A user-created instance of a template, containing the configured values for each controller.


2. StrategySchema structure

2.1 Schema structure

A complete StrategySchema object includes the following fields:

{
"name": "DataQuerySecurityStrategySchema",
"displayName": "Data Query",
"displayNameEn": "Data Query",
"systemPolicyName": "SYSTEM_GENERATE_DEFAULT_DATA_QUERY",
"systemPolicyDisplayName": "System-Generated Default Data Query Policy",
"controlModule": "DataQuery",
"controlSubModule": null,
"controlDwScope": "Tenant",
"controllers": [ ... ]
}

2.2 Top-level fields

Field

Type

Required

Description

Example

name

String

Yes

The unique identifier for the schema.

DataQuerySecurityStrategySchema

displayName

String

Yes

The display name of the policy (Chinese).

Data Analysis

displayNameEn

String

Optional

The English display name of the policy.

Data Analysis

systemPolicyName

String

Yes

The identifier for the system-generated default policy.

SYSTEM_GENERATE_DEFAULT_DATA_QUERY

systemPolicyDisplayName

String

Yes

The display name of the system-generated default policy.

Default system generate data query policy

controlModule

String

Yes

The identifier of the control module, such as DataQuery or DataStudio.

DataQuery

controlSubModule

String/Null

Optional

The identifier of the control sub-module. Set to null if not applicable.

null or "MyCatalog"

controlDwScope

String

Yes

The scope of the policy: Tenant (tenant-level) or Workspace (workspace-level).

Tenant

controllers

Array

Yes

The list of controllers. For more information, see the following section.

[...]

2.3 Controller fields

Each controller defines a specific control configuration item:

{
"controller": "maxLimitOfSingleDownload",
"displayName": "Query Results - Single Download Record Limit",
"displayNameEn": "Query Results - Single Download Record Limit",
"enable": true,
"controllerValueType": "Long",
"basicEditionDefaultValue": "0",
"standardEditionDefaultValue": "200000",
"professionalEditionDefaultValue": "2000000",
"enterpriseEditionDefaultValue": "5000000",
"basicEditionIntervalValue": ["0", "0"],
"standardEditionIntervalValue": ["0", "200000"],
"professionalEditionIntervalValue": ["0", "2000000"],
"enterpriseEditionIntervalValue": ["0", "5000000"]
}

Field

Type

Required

Description

controller

String

Yes

The unique identifier of the controller (camelCase). Must be unique within the same schema.

displayName

String

Yes

The display name of the controller (Chinese).

displayNameEn

String

Optional

The English display name of the controller.

enable

Boolean

Yes

Specifies whether the controller is enabled.

controllerValueType

String

Yes

The value type: Boolean, Long, Integer, or String.

basicEditionDefaultValue

String

Yes

The default value for Basic Edition.

standardEditionDefaultValue

String

Yes

The default value for Standard Edition.

professionalEditionDefaultValue

String

Yes

The default value for Professional Edition.

enterpriseEditionDefaultValue

String

Yes

The default value for Enterprise Edition.

basicEditionIntervalValue

Array

Optional

The valid value range [min, max] for Basic Edition. Required only for interval-type controllers.

standardEditionIntervalValue

Array

Optional

The valid value range for Standard Edition.

professionalEditionIntervalValue

Array

Optional

The valid value range for Professional Edition.

enterpriseEditionIntervalValue

Array

Optional

The valid value range for Enterprise Edition.

subControllers

Array

Optional

The list of sub-controllers. Sub-controllers take effect only when the parent controller is enabled.

3. Supported StrategySchema templates

DataQuerySecurityStrategySchema: Data Analysis query result controls

{
  "name": "DataQuerySecurityStrategySchema",
  "displayName": "Data Query",
  "displayNameEn": "Data Query",
  "systemPolicyName": "SYSTEM_GENERATE_DEFAULT_DATA_QUERY",
  "systemPolicyDisplayName": "Default system generate data query policy",
  "controlModule": "DataQuery",
  "controlSubModule": null,
  "controlDwScope": "Tenant",
  "controllers": [
    {
      "controller": "viewCount",
      "displayName": "Query Results - Single Display Record Limit",
      "displayNameEn": "Query Results - Single Display Record Limit",
      "enable": true,
      "controllerValueType": "Integer",
      "basicEditionDefaultValue": "10000",
      "standardEditionDefaultValue": "10000",
      "professionalEditionDefaultValue": "10000",
      "enterpriseEditionDefaultValue": "10000",
      "basicEditionIntervalValue": ["0", "10000"],
      "standardEditionIntervalValue": ["0", "10000"],
      "professionalEditionIntervalValue": ["0", "10000"],
      "enterpriseEditionIntervalValue": ["0", "10000"]
    },
    {
      "controller": "allowCopy",
      "displayName": "Query Results - Allow Copy",
      "displayNameEn": "Query Results - Allow Copy",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    },
    {
      "controller": "copyCount",
      "displayName": "Query Results - Single Copy Record Limit",
      "displayNameEn": "Query Results - Single Copy Record Limit",
      "enable": true,
      "controllerValueType": "Integer",
      "basicEditionDefaultValue": "10000",
      "standardEditionDefaultValue": "10000",
      "professionalEditionDefaultValue": "10000",
      "enterpriseEditionDefaultValue": "10000",
      "basicEditionIntervalValue": ["0", "10000"],
      "standardEditionIntervalValue": ["0", "10000"],
      "professionalEditionIntervalValue": ["0", "10000"],
      "enterpriseEditionIntervalValue": ["0", "10000"]
    },
    {
      "controller": "allowDownload",
      "displayName": "Query Results - Allow Download",
      "displayNameEn": "Query Results - Allow Download",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "false",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    },
    {
      "controller": "downloadCount",
      "displayName": "Query Results - Single Download Record Limit",
      "displayNameEn": "Query Results - Single Download Record Limit",
      "enable": true,
      "controllerValueType": "Integer",
      "basicEditionDefaultValue": "0",
      "standardEditionDefaultValue": "200000",
      "professionalEditionDefaultValue": "2000000",
      "enterpriseEditionDefaultValue": "5000000",
      "basicEditionIntervalValue": ["0", "0"],
      "standardEditionIntervalValue": ["0", "200000"],
      "professionalEditionIntervalValue": ["0", "2000000"],
      "enterpriseEditionIntervalValue": ["0", "5000000"]
    },
    {
      "controller": "allowExport",
      "displayName": "Query Results - Allow Export to Spreadsheet",
      "displayNameEn": "Query Results - Allow Export to Spreadsheet",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    },
    {
      "controller": "allowDimTableShare",
      "displayName": "Dimension Table - Allow Sharing",
      "displayNameEn": "Dimension Table - Allow Sharing",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    },
    {
      "controller": "allowExcelDownload",
      "displayName": "Spreadsheet - Allow Download",
      "displayNameEn": "Spreadsheet - Allow Download",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    },
    {
      "controller": "allowExcelShare",
      "displayName": "Spreadsheet - Allow Sharing",
      "displayNameEn": "Spreadsheet - Allow Sharing",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    },
    {
      "controller": "allowExcelCopy",
      "displayName": "Spreadsheet - Allow Copy",
      "displayNameEn": "Spreadsheet - Allow Copy",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    },
    {
      "controller": "excelCopyLimit",
      "displayName": "Spreadsheet - Single Copy Record Limit",
      "displayNameEn": "Spreadsheet - Single Copy Record Limit",
      "enable": true,
      "controllerValueType": "Integer",
      "basicEditionDefaultValue": "10000",
      "standardEditionDefaultValue": "10000",
      "professionalEditionDefaultValue": "10000",
      "enterpriseEditionDefaultValue": "10000"
    },
    {
      "controller": "allowCardShare",
      "displayName": "Card - Allow Sharing",
      "displayNameEn": "Card - Allow Sharing",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    },
    {
      "controller": "allowCardDownload",
      "displayName": "Card - Allow Download",
      "displayNameEn": "Card - Allow Download",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    },
    {
      "controller": "allowReportShare",
      "displayName": "Report - Allow Sharing",
      "displayNameEn": "Report - Allow Sharing",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    },
    {
      "controller": "allowReportDownload",
      "displayName": "Report - Allow Download",
      "displayNameEn": "Report - Allow Download",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    },
    {
      "controller": "watermark",
      "displayName": "Watermark Expression",
      "displayNameEn": "Watermark Expression",
      "enable": true,
      "controllerValueType": "String",
      "basicEditionDefaultValue": "",
      "standardEditionDefaultValue": "",
      "professionalEditionDefaultValue": "",
      "enterpriseEditionDefaultValue": ""
    },
    {
      "controller": "allowSave",
      "displayName": "Allow Save",
      "displayNameEn": "Allow Save",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    }
  ]
}

DataStudioSecurityStrategySchema: Data Studio query result controls

{
  "name": "DataStudioSecurityStrategySchema",
  "displayName": "Data Studio",
  "displayNameEn": "Data Studio",
  "systemPolicyName": "SYSTEM_GENERATE_DEFAULT_DATA_STUDIO",
  "systemPolicyDisplayName": "Default system generate data studio policy",
  "controlModule": "DataStudio",
  "controlSubModule": null,
  "controlDwScope": "Workspace",
  "controllers": [
    {
      "controller": "maxLimitOfSingleQuery",
      "displayName": "Query Results - Single Display Record Limit",
      "displayNameEn": "Query Results - Single Display Record Limit",
      "enable": true,
      "controllerValueType": "Long",
      "basicEditionDefaultValue": "10000",
      "standardEditionDefaultValue": "10000",
      "professionalEditionDefaultValue": "10000",
      "enterpriseEditionDefaultValue": "10000"
    },
    {
      "controller": "maxLimitOfSingleCopy",
      "displayName": "Query Results - Single Copy Record Limit",
      "displayNameEn": "Query Results - Single Copy Record Limit",
      "enable": true,
      "controllerValueType": "Long",
      "basicEditionDefaultValue": "10000",
      "standardEditionDefaultValue": "10000",
      "professionalEditionDefaultValue": "10000",
      "enterpriseEditionDefaultValue": "10000"
    },
    {
      "controller": "maxLimitOfSingleDownload",
      "displayName": "Query Results - Single Download Record Limit",
      "displayNameEn": "Query Results - Single Download Record Limit",
      "enable": true,
      "controllerValueType": "Long",
      "basicEditionDefaultValue": "0",
      "standardEditionDefaultValue": "200000",
      "professionalEditionDefaultValue": "2000000",
      "enterpriseEditionDefaultValue": "5000000",
      "basicEditionIntervalValue": ["0", "0"],
      "standardEditionIntervalValue": ["0", "200000"],
      "professionalEditionIntervalValue": ["0", "2000000"],
      "enterpriseEditionIntervalValue": ["0", "5000000"]
    },
    {
      "controller": "allowExportExcel",
      "displayName": "Query Results - Allow Export to Spreadsheet",
      "displayNameEn": "Query Results - Allow Export to Spreadsheet",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    },
    {
      "controller": "allowExtensionInServerIDE",
      "displayName": "Personal Dev Environment - Allow Extensions",
      "displayNameEn": "Personal Dev Environment - Allow Extensions",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    },
    {
      "controller": "allowTerminalInServerIDE",
      "displayName": "Personal Dev Environment - Allow Terminal",
      "displayNameEn": "Personal Dev Environment - Allow Terminal",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    },
    {
      "controller": "allowDownloadMountedWorkspaceFile",
      "displayName": "Personal Dev Environment - Allow Downloading Mounted Workspace Files",
      "displayNameEn": "Personal Dev Environment - Allow Downloading Mounted Workspace Files",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    }
  ]
}

DataStudioMyCatalogSecurityStrategySchema: Data Studio personal directory download controls

{
  "name": "DataStudioMyCatalogSecurityStrategySchema",
  "displayName": "Data Studio > My Catalog",
  "displayNameEn": "Data Studio > My Catalog",
  "systemPolicyName": "SYSTEM_GENERATE_DEFAULT_DATA_STUDIO_MY_CATALOG",
  "systemPolicyDisplayName": "Default system generate my catalog policy in data studio",
  "controlModule": "DataStudio",
  "controlSubModule": "MyCatalog",
  "controlDwScope": "Tenant",
  "controllers": [
    {
      "controller": "allowDownloadInMyCatalog",
      "displayName": "Allow File Download",
      "displayNameEn": "Allow File Download",
      "enable": true,
      "controllerValueType": "Boolean",
      "basicEditionDefaultValue": "true",
      "standardEditionDefaultValue": "true",
      "professionalEditionDefaultValue": "true",
      "enterpriseEditionDefaultValue": "true"
    }
  ]
}