Add support service account in Synapse (#22546)

* Add support service account in Synapse

* Update generated TypeScript types

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Suman Maharana <sumanmaharana786@gmail.com>
This commit is contained in:
Sriharsha Chintalapani 2025-07-27 06:21:54 -07:00 committed by GitHub
parent 3a65e1b436
commit 715f792e0b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 180 additions and 61 deletions

View File

@ -59,9 +59,25 @@
"type": "string",
"default": "ODBC Driver 18 for SQL Server"
},
"clientId": {
"title": "Client ID",
"description": "Azure Application (client) ID for service principal authentication.",
"type": "string"
},
"clientSecret": {
"title": "Client Secret",
"description": "Azure Application client secret for service principal authentication.",
"type": "string",
"format": "password"
},
"tenantId": {
"title": "Tenant ID",
"description": "Azure Directory (tenant) ID for service principal authentication.",
"type": "string"
},
"authenticationMode": {
"title": "Authentication Mode",
"description": "This parameter determines the mode of authentication for connecting to Azure Synapse using ODBC. If 'Active Directory Password' is selected, you need to provide the password. If 'Active Directory Integrated' is selected, password is not required as it uses the logged-in user's credentials. This mode is useful for establishing secure and seamless connections with Azure Synapse.",
"description": "This parameter determines the mode of authentication for connecting to Azure Synapse using ODBC. If 'Active Directory Password' is selected, you need to provide the password. If 'Active Directory Integrated' is selected, password is not required as it uses the logged-in user's credentials. If 'Active Directory Service Principal' is selected, you need to provide clientId, clientSecret and tenantId. This mode is useful for establishing secure and seamless connections with Azure Synapse.",
"properties": {
"authentication": {
"title": "Authentication",
@ -69,7 +85,8 @@
"type": "string",
"enum": [
"ActiveDirectoryIntegrated",
"ActiveDirectoryPassword"
"ActiveDirectoryPassword",
"ActiveDirectoryServicePrincipal"
]
},
"encrypt": {

View File

@ -654,8 +654,9 @@ export interface ConfigClass {
* This parameter determines the mode of authentication for connecting to Azure Synapse
* using ODBC. If 'Active Directory Password' is selected, you need to provide the password.
* If 'Active Directory Integrated' is selected, password is not required as it uses the
* logged-in user's credentials. This mode is useful for establishing secure and seamless
* connections with Azure Synapse.
* logged-in user's credentials. If 'Active Directory Service Principal' is selected, you
* need to provide clientId, clientSecret and tenantId. This mode is useful for establishing
* secure and seamless connections with Azure Synapse.
*/
authenticationMode?: any[] | boolean | number | null | AuthenticationModeObject | string;
/**
@ -1120,6 +1121,8 @@ export interface ConfigClass {
/**
* Client ID for DOMO
*
* Azure Application (client) ID for service principal authentication.
*
* User's Client ID. This user should have privileges to read all the metadata in Looker.
*
* client_id for PowerBI.
@ -1235,6 +1238,22 @@ export interface ConfigClass {
* Flag to verify SSL Certificate for OpenMetadata Server.
*/
verifySSL?: boolean | VerifySSL;
/**
* Azure Application client secret for service principal authentication.
*
* User's Client Secret.
*
* clientSecret for PowerBI.
*
* clientSecret for Sigma.
*/
clientSecret?: string;
/**
* Azure Directory (tenant) ID for service principal authentication.
*
* Tenant ID for PowerBI.
*/
tenantId?: string;
/**
* Client SSL/TLS settings.
*/
@ -1247,14 +1266,6 @@ export interface ConfigClass {
* Regex exclude or include charts that matches the pattern.
*/
chartFilterPattern?: FilterPattern;
/**
* User's Client Secret.
*
* clientSecret for PowerBI.
*
* clientSecret for Sigma.
*/
clientSecret?: string;
/**
* Regex to exclude or include dashboards that matches the pattern.
*/
@ -1292,10 +1303,6 @@ export interface ConfigClass {
* PowerBI secrets.
*/
scope?: string[];
/**
* Tenant ID for PowerBI.
*/
tenantId?: string;
/**
* Fetch the PowerBI metadata using admin APIs
*/
@ -2191,6 +2198,7 @@ export interface AuthenticationModeObject {
export enum Authentication {
ActiveDirectoryIntegrated = "ActiveDirectoryIntegrated",
ActiveDirectoryPassword = "ActiveDirectoryPassword",
ActiveDirectoryServicePrincipal = "ActiveDirectoryServicePrincipal",
}
/**

View File

@ -307,8 +307,9 @@ export interface ConfigClass {
* This parameter determines the mode of authentication for connecting to Azure Synapse
* using ODBC. If 'Active Directory Password' is selected, you need to provide the password.
* If 'Active Directory Integrated' is selected, password is not required as it uses the
* logged-in user's credentials. This mode is useful for establishing secure and seamless
* connections with Azure Synapse.
* logged-in user's credentials. If 'Active Directory Service Principal' is selected, you
* need to provide clientId, clientSecret and tenantId. This mode is useful for establishing
* secure and seamless connections with Azure Synapse.
*/
authenticationMode?: any[] | boolean | number | null | AuthenticationModeObject | string;
/**
@ -735,6 +736,8 @@ export interface ConfigClass {
apiHost?: string;
/**
* Client ID for DOMO
*
* Azure Application (client) ID for service principal authentication.
*/
clientId?: string;
/**
@ -817,6 +820,14 @@ export interface ConfigClass {
*/
paginationLimit?: number;
verifySSL?: VerifySSL;
/**
* Azure Application client secret for service principal authentication.
*/
clientSecret?: string;
/**
* Azure Directory (tenant) ID for service principal authentication.
*/
tenantId?: string;
/**
* Client SSL/TLS settings.
*/
@ -1024,6 +1035,7 @@ export interface AuthenticationModeObject {
export enum Authentication {
ActiveDirectoryIntegrated = "ActiveDirectoryIntegrated",
ActiveDirectoryPassword = "ActiveDirectoryPassword",
ActiveDirectoryServicePrincipal = "ActiveDirectoryServicePrincipal",
}
/**

View File

@ -2403,6 +2403,8 @@ export interface ConfigClass {
* Client ID for DOMO
*
* client_id for Sigma.
*
* Azure Application (client) ID for service principal authentication.
*/
clientId?: string;
/**
@ -2411,6 +2413,8 @@ export interface ConfigClass {
* clientSecret for PowerBI.
*
* clientSecret for Sigma.
*
* Azure Application client secret for service principal authentication.
*/
clientSecret?: string;
/**
@ -2733,6 +2737,8 @@ export interface ConfigClass {
scope?: string[];
/**
* Tenant ID for PowerBI.
*
* Azure Directory (tenant) ID for service principal authentication.
*/
tenantId?: string;
/**
@ -3018,8 +3024,9 @@ export interface ConfigClass {
* This parameter determines the mode of authentication for connecting to Azure Synapse
* using ODBC. If 'Active Directory Password' is selected, you need to provide the password.
* If 'Active Directory Integrated' is selected, password is not required as it uses the
* logged-in user's credentials. This mode is useful for establishing secure and seamless
* connections with Azure Synapse.
* logged-in user's credentials. If 'Active Directory Service Principal' is selected, you
* need to provide clientId, clientSecret and tenantId. This mode is useful for establishing
* secure and seamless connections with Azure Synapse.
*/
authenticationMode?: any[] | boolean | number | null | AuthenticationModeObject | string;
/**
@ -4090,6 +4097,7 @@ export interface AuthenticationModeObject {
export enum Authentication {
ActiveDirectoryIntegrated = "ActiveDirectoryIntegrated",
ActiveDirectoryPassword = "ActiveDirectoryPassword",
ActiveDirectoryServicePrincipal = "ActiveDirectoryServicePrincipal",
}
/**

View File

@ -536,8 +536,9 @@ export interface ConfigClass {
* This parameter determines the mode of authentication for connecting to Azure Synapse
* using ODBC. If 'Active Directory Password' is selected, you need to provide the password.
* If 'Active Directory Integrated' is selected, password is not required as it uses the
* logged-in user's credentials. This mode is useful for establishing secure and seamless
* connections with Azure Synapse.
* logged-in user's credentials. If 'Active Directory Service Principal' is selected, you
* need to provide clientId, clientSecret and tenantId. This mode is useful for establishing
* secure and seamless connections with Azure Synapse.
*/
authenticationMode?: any[] | boolean | number | null | AuthenticationModeObject | string;
/**
@ -1002,6 +1003,8 @@ export interface ConfigClass {
/**
* Client ID for DOMO
*
* Azure Application (client) ID for service principal authentication.
*
* User's Client ID. This user should have privileges to read all the metadata in Looker.
*
* client_id for PowerBI.
@ -1117,6 +1120,22 @@ export interface ConfigClass {
* Flag to verify SSL Certificate for OpenMetadata Server.
*/
verifySSL?: boolean | VerifySSL;
/**
* Azure Application client secret for service principal authentication.
*
* User's Client Secret.
*
* clientSecret for PowerBI.
*
* clientSecret for Sigma.
*/
clientSecret?: string;
/**
* Azure Directory (tenant) ID for service principal authentication.
*
* Tenant ID for PowerBI.
*/
tenantId?: string;
/**
* Client SSL/TLS settings.
*/
@ -1129,14 +1148,6 @@ export interface ConfigClass {
* Regex exclude or include charts that matches the pattern.
*/
chartFilterPattern?: FilterPattern;
/**
* User's Client Secret.
*
* clientSecret for PowerBI.
*
* clientSecret for Sigma.
*/
clientSecret?: string;
/**
* Regex to exclude or include dashboards that matches the pattern.
*/
@ -1174,10 +1185,6 @@ export interface ConfigClass {
* PowerBI secrets.
*/
scope?: string[];
/**
* Tenant ID for PowerBI.
*/
tenantId?: string;
/**
* Fetch the PowerBI metadata using admin APIs
*/
@ -2073,6 +2080,7 @@ export interface AuthenticationModeObject {
export enum Authentication {
ActiveDirectoryIntegrated = "ActiveDirectoryIntegrated",
ActiveDirectoryPassword = "ActiveDirectoryPassword",
ActiveDirectoryServicePrincipal = "ActiveDirectoryServicePrincipal",
}
/**

View File

@ -1068,8 +1068,9 @@ export interface ConfigClass {
* This parameter determines the mode of authentication for connecting to Azure Synapse
* using ODBC. If 'Active Directory Password' is selected, you need to provide the password.
* If 'Active Directory Integrated' is selected, password is not required as it uses the
* logged-in user's credentials. This mode is useful for establishing secure and seamless
* connections with Azure Synapse.
* logged-in user's credentials. If 'Active Directory Service Principal' is selected, you
* need to provide clientId, clientSecret and tenantId. This mode is useful for establishing
* secure and seamless connections with Azure Synapse.
*/
authenticationMode?: any[] | boolean | number | null | AuthenticationModeObject | string;
/**
@ -1534,6 +1535,8 @@ export interface ConfigClass {
/**
* Client ID for DOMO
*
* Azure Application (client) ID for service principal authentication.
*
* User's Client ID. This user should have privileges to read all the metadata in Looker.
*
* client_id for PowerBI.
@ -1649,6 +1652,22 @@ export interface ConfigClass {
* Flag to verify SSL Certificate for OpenMetadata Server.
*/
verifySSL?: boolean | VerifySSL;
/**
* Azure Application client secret for service principal authentication.
*
* User's Client Secret.
*
* clientSecret for PowerBI.
*
* clientSecret for Sigma.
*/
clientSecret?: string;
/**
* Azure Directory (tenant) ID for service principal authentication.
*
* Tenant ID for PowerBI.
*/
tenantId?: string;
/**
* Client SSL/TLS settings.
*/
@ -1661,14 +1680,6 @@ export interface ConfigClass {
* Regex exclude or include charts that matches the pattern.
*/
chartFilterPattern?: FilterPattern;
/**
* User's Client Secret.
*
* clientSecret for PowerBI.
*
* clientSecret for Sigma.
*/
clientSecret?: string;
/**
* Regex to exclude or include dashboards that matches the pattern.
*/
@ -1706,10 +1717,6 @@ export interface ConfigClass {
* PowerBI secrets.
*/
scope?: string[];
/**
* Tenant ID for PowerBI.
*/
tenantId?: string;
/**
* Fetch the PowerBI metadata using admin APIs
*/
@ -2546,6 +2553,7 @@ export interface AuthenticationModeObject {
export enum Authentication {
ActiveDirectoryIntegrated = "ActiveDirectoryIntegrated",
ActiveDirectoryPassword = "ActiveDirectoryPassword",
ActiveDirectoryServicePrincipal = "ActiveDirectoryServicePrincipal",
}
/**

View File

@ -18,10 +18,19 @@ export interface SynapseConnection {
* This parameter determines the mode of authentication for connecting to Azure Synapse
* using ODBC. If 'Active Directory Password' is selected, you need to provide the password.
* If 'Active Directory Integrated' is selected, password is not required as it uses the
* logged-in user's credentials. This mode is useful for establishing secure and seamless
* connections with Azure Synapse.
* logged-in user's credentials. If 'Active Directory Service Principal' is selected, you
* need to provide clientId, clientSecret and tenantId. This mode is useful for establishing
* secure and seamless connections with Azure Synapse.
*/
authenticationMode?: any[] | boolean | number | number | null | AuthenticationModeObject | string;
authenticationMode?: any[] | boolean | number | number | null | AuthenticationModeObject | string;
/**
* Azure Application (client) ID for service principal authentication.
*/
clientId?: string;
/**
* Azure Application client secret for service principal authentication.
*/
clientSecret?: string;
connectionArguments?: { [key: string]: any };
connectionOptions?: { [key: string]: string };
/**
@ -71,6 +80,10 @@ export interface SynapseConnection {
* Regex to only include/exclude tables that matches the pattern.
*/
tableFilterPattern?: FilterPattern;
/**
* Azure Directory (tenant) ID for service principal authentication.
*/
tenantId?: string;
/**
* Service Type
*/
@ -108,6 +121,7 @@ export interface AuthenticationModeObject {
export enum Authentication {
ActiveDirectoryIntegrated = "ActiveDirectoryIntegrated",
ActiveDirectoryPassword = "ActiveDirectoryPassword",
ActiveDirectoryServicePrincipal = "ActiveDirectoryServicePrincipal",
}
/**

View File

@ -329,6 +329,8 @@ export interface ConfigClass {
* Client ID for DOMO
*
* client_id for Sigma.
*
* Azure Application (client) ID for service principal authentication.
*/
clientId?: string;
/**
@ -337,6 +339,8 @@ export interface ConfigClass {
* clientSecret for PowerBI.
*
* clientSecret for Sigma.
*
* Azure Application client secret for service principal authentication.
*/
clientSecret?: string;
/**
@ -659,6 +663,8 @@ export interface ConfigClass {
scope?: string[];
/**
* Tenant ID for PowerBI.
*
* Azure Directory (tenant) ID for service principal authentication.
*/
tenantId?: string;
/**
@ -944,8 +950,9 @@ export interface ConfigClass {
* This parameter determines the mode of authentication for connecting to Azure Synapse
* using ODBC. If 'Active Directory Password' is selected, you need to provide the password.
* If 'Active Directory Integrated' is selected, password is not required as it uses the
* logged-in user's credentials. This mode is useful for establishing secure and seamless
* connections with Azure Synapse.
* logged-in user's credentials. If 'Active Directory Service Principal' is selected, you
* need to provide clientId, clientSecret and tenantId. This mode is useful for establishing
* secure and seamless connections with Azure Synapse.
*/
authenticationMode?: any[] | boolean | number | null | AuthenticationModeObject | string;
/**
@ -2056,6 +2063,7 @@ export interface AuthenticationModeObject {
export enum Authentication {
ActiveDirectoryIntegrated = "ActiveDirectoryIntegrated",
ActiveDirectoryPassword = "ActiveDirectoryPassword",
ActiveDirectoryServicePrincipal = "ActiveDirectoryServicePrincipal",
}
/**

View File

@ -426,8 +426,9 @@ export interface ConfigClass {
* This parameter determines the mode of authentication for connecting to Azure Synapse
* using ODBC. If 'Active Directory Password' is selected, you need to provide the password.
* If 'Active Directory Integrated' is selected, password is not required as it uses the
* logged-in user's credentials. This mode is useful for establishing secure and seamless
* connections with Azure Synapse.
* logged-in user's credentials. If 'Active Directory Service Principal' is selected, you
* need to provide clientId, clientSecret and tenantId. This mode is useful for establishing
* secure and seamless connections with Azure Synapse.
*/
authenticationMode?: any[] | boolean | number | null | AuthenticationModeObject | string;
/**
@ -854,6 +855,8 @@ export interface ConfigClass {
apiHost?: string;
/**
* Client ID for DOMO
*
* Azure Application (client) ID for service principal authentication.
*/
clientId?: string;
/**
@ -936,6 +939,14 @@ export interface ConfigClass {
*/
paginationLimit?: number;
verifySSL?: VerifySSL;
/**
* Azure Application client secret for service principal authentication.
*/
clientSecret?: string;
/**
* Azure Directory (tenant) ID for service principal authentication.
*/
tenantId?: string;
/**
* Client SSL/TLS settings.
*/
@ -1143,6 +1154,7 @@ export interface AuthenticationModeObject {
export enum Authentication {
ActiveDirectoryIntegrated = "ActiveDirectoryIntegrated",
ActiveDirectoryPassword = "ActiveDirectoryPassword",
ActiveDirectoryServicePrincipal = "ActiveDirectoryServicePrincipal",
}
/**

View File

@ -2914,6 +2914,8 @@ export interface ConfigClass {
* Client ID for DOMO
*
* client_id for Sigma.
*
* Azure Application (client) ID for service principal authentication.
*/
clientId?: string;
/**
@ -2922,6 +2924,8 @@ export interface ConfigClass {
* clientSecret for PowerBI.
*
* clientSecret for Sigma.
*
* Azure Application client secret for service principal authentication.
*/
clientSecret?: string;
/**
@ -3244,6 +3248,8 @@ export interface ConfigClass {
scope?: string[];
/**
* Tenant ID for PowerBI.
*
* Azure Directory (tenant) ID for service principal authentication.
*/
tenantId?: string;
/**
@ -3529,8 +3535,9 @@ export interface ConfigClass {
* This parameter determines the mode of authentication for connecting to Azure Synapse
* using ODBC. If 'Active Directory Password' is selected, you need to provide the password.
* If 'Active Directory Integrated' is selected, password is not required as it uses the
* logged-in user's credentials. This mode is useful for establishing secure and seamless
* connections with Azure Synapse.
* logged-in user's credentials. If 'Active Directory Service Principal' is selected, you
* need to provide clientId, clientSecret and tenantId. This mode is useful for establishing
* secure and seamless connections with Azure Synapse.
*/
authenticationMode?: any[] | boolean | number | null | AuthenticationModeObject | string;
/**
@ -4582,6 +4589,7 @@ export interface AuthenticationModeObject {
export enum Authentication {
ActiveDirectoryIntegrated = "ActiveDirectoryIntegrated",
ActiveDirectoryPassword = "ActiveDirectoryPassword",
ActiveDirectoryServicePrincipal = "ActiveDirectoryServicePrincipal",
}
/**

View File

@ -373,6 +373,8 @@ export interface ConfigClass {
* Client ID for DOMO
*
* client_id for Sigma.
*
* Azure Application (client) ID for service principal authentication.
*/
clientId?: string;
/**
@ -381,6 +383,8 @@ export interface ConfigClass {
* clientSecret for PowerBI.
*
* clientSecret for Sigma.
*
* Azure Application client secret for service principal authentication.
*/
clientSecret?: string;
/**
@ -703,6 +707,8 @@ export interface ConfigClass {
scope?: string[];
/**
* Tenant ID for PowerBI.
*
* Azure Directory (tenant) ID for service principal authentication.
*/
tenantId?: string;
/**
@ -988,8 +994,9 @@ export interface ConfigClass {
* This parameter determines the mode of authentication for connecting to Azure Synapse
* using ODBC. If 'Active Directory Password' is selected, you need to provide the password.
* If 'Active Directory Integrated' is selected, password is not required as it uses the
* logged-in user's credentials. This mode is useful for establishing secure and seamless
* connections with Azure Synapse.
* logged-in user's credentials. If 'Active Directory Service Principal' is selected, you
* need to provide clientId, clientSecret and tenantId. This mode is useful for establishing
* secure and seamless connections with Azure Synapse.
*/
authenticationMode?: any[] | boolean | number | null | AuthenticationModeObject | string;
/**
@ -2100,6 +2107,7 @@ export interface AuthenticationModeObject {
export enum Authentication {
ActiveDirectoryIntegrated = "ActiveDirectoryIntegrated",
ActiveDirectoryPassword = "ActiveDirectoryPassword",
ActiveDirectoryServicePrincipal = "ActiveDirectoryServicePrincipal",
}
/**

View File

@ -409,6 +409,8 @@ export interface ConfigClass {
* Client ID for DOMO
*
* client_id for Sigma.
*
* Azure Application (client) ID for service principal authentication.
*/
clientId?: string;
/**
@ -417,6 +419,8 @@ export interface ConfigClass {
* clientSecret for PowerBI.
*
* clientSecret for Sigma.
*
* Azure Application client secret for service principal authentication.
*/
clientSecret?: string;
/**
@ -739,6 +743,8 @@ export interface ConfigClass {
scope?: string[];
/**
* Tenant ID for PowerBI.
*
* Azure Directory (tenant) ID for service principal authentication.
*/
tenantId?: string;
/**
@ -1024,8 +1030,9 @@ export interface ConfigClass {
* This parameter determines the mode of authentication for connecting to Azure Synapse
* using ODBC. If 'Active Directory Password' is selected, you need to provide the password.
* If 'Active Directory Integrated' is selected, password is not required as it uses the
* logged-in user's credentials. This mode is useful for establishing secure and seamless
* connections with Azure Synapse.
* logged-in user's credentials. If 'Active Directory Service Principal' is selected, you
* need to provide clientId, clientSecret and tenantId. This mode is useful for establishing
* secure and seamless connections with Azure Synapse.
*/
authenticationMode?: any[] | boolean | number | null | AuthenticationModeObject | string;
/**
@ -2149,6 +2156,7 @@ export interface AuthenticationModeObject {
export enum Authentication {
ActiveDirectoryIntegrated = "ActiveDirectoryIntegrated",
ActiveDirectoryPassword = "ActiveDirectoryPassword",
ActiveDirectoryServicePrincipal = "ActiveDirectoryServicePrincipal",
}
/**