Callout policy
Applies to: ✅ Azure Data Explorer
Your cluster can communicate with external services in many different scenarios. Cluster administrators can manage the authorized domains for external calls by updating the cluster's callout policy.
Supported properties of a callout
A callout policy is composed of the following properties:
Name | Type | Description |
---|---|---|
CalloutType | string |
Defines the type of callout, and can be one of types listed in callout types. |
CalloutUriRegex | string |
Specifies the regular expression whose matches represent the domain of resources of the callout domain. |
CanCall | bool |
Whether the callout is permitted or denied external calls. |
Types of callout
Callout policies are managed at cluster-level and are classified into the following types:
Callout policy type | Description |
---|---|
kusto | Controls cross-cluster queries. |
sql | Controls the SQL plugin. |
mysql | Controls the MySQL plugin. |
postgresql | Controls the PostgreSql plugin. |
cosmosdb | Controls the Cosmos DB plugin. |
sandbox_artifacts | Controls sandboxed plugins (python and R). |
external_data | Controls access to external data through external tables or externaldata operator. |
webapi | Controls access to http endpoints. |
Predefined callout policies
The following table shows a set of predefined callout policies that are preconfigured on your cluster to enable callouts to selected services:
Service | Designation | Permitted domains |
---|---|---|
Kusto | Cross cluster queries | [a-z0-9]{3,22}\\.(\\w+\\.)?kusto(mfa)?\\.chinacloudapi\\.cn/?$ |
Kusto | Cross cluster queries | ^https://[a-z0-9]{3,22}\\.[a-z0-9-]{1,50}\\.(kusto\\.azuresynapse | kustodev\\.azuresynapse-dogfood)\\.net/?$ |
Kusto | Cross cluster queries | ^https://([A-Za-z0-9]+\\.)?(ade | adx)\\.(int\\. | aimon\\.)?(applicationinsights | loganalytics | monitor)\\.(io | chinacloudapi\\.cn)/ |
Azure DB | SQL requests | [a-z0-9][a-z0-9\\-]{0,61}[a-z0-9]?\\.database\\.chinacloudapi\\.cn/?$ |
Synapse Analytics | SQL requests | [a-z0-9-]{0,61}?(-ondemand)?\\.sql\\.azuresynapse(-dogfood)?\\.net/?$ |
External Data | External data | .* |
More predefined policies on your cluster may be observed with next query:
.show cluster policy callout
| where EntityType == 'Cluster immutable policy'
| project Policy
Remarks
If an external resource of a given type matches more than one policy defined for such type, and at least one of the matched policies has their CanCall property set to false, access to the resource is denied.