Uitgaande toegang vanaf uw Azure Data Explorer-cluster beperken
Het beperken van de uitgaande toegang tot uw cluster is belangrijk om risico's zoals gegevensexfiltratie te beperken. Een kwaadwillende actor kan mogelijk een externe tabel maken voor een opslagaccount en grote hoeveelheden gegevens extraheren. U kunt uitgaande toegang op clusterniveau beheren door bijschriftbeleid te definiëren. Door bijschriftbeleid te beheren, kunt u uitgaande toegang tot opgegeven SQL, opslag of andere eindpunten toestaan.
In dit artikel leert u hoe u een extensie voor beleid voor bijschriften gebruikt waarmee u het aantal oproepen vanuit uw cluster verder kunt beperken.
Typen bijschriftbeleid
Bijschriftbeleidsregels kunnen als volgt worden verdeeld:
- Onveranderbaar bijschriftbeleid: dit zijn de standaardbeleidsregels van een cluster. Ze zijn vooraf geconfigureerd en kunnen niet worden gewijzigd.
- Beleid voor clusterbijschrift: dit zijn beleidsregels die u kunt wijzigen met behulp van bijschriftbeleidsopdrachten.
Vereisten
- Een Azure-abonnement. Maak een gratis Azure-account.
- Een Azure Data Explorer-cluster en -database. Maak een cluster en database.
Bijschriftbeleidsopdrachten uitvoeren
Meld u aan bij de webinterface van Azure Data Explorer.
Selecteer query's in het linkermenu en maak vervolgens verbinding met uw cluster.
Voer in het queryvenster de volgende query uit om de lijst met onveranderbare bijschriftbeleidsregels in uw cluster te controleren:
.show cluster policy callout
Hieronder ziet u een voorbeeld van onveranderbaar bijschriftbeleid. U ziet dat er in de lijst een aantal standaardregels staan die aanroepen naar andere services, zoals externe gegevens, toestaan.
[
{
"CalloutType":"kusto",
"CalloutUriRegex":"[a-z0-9]{3,22}\\.(\\w+\\.)?kusto(mfa)?\\.windows\\.net/?$",
"CanCall":true
},
{
"CalloutType":"kusto",
"CalloutUriRegex":"//[a-z0-9]{3,22}\\.[a-z0-9-]{1,50}\\.(kusto\\.azuresynapse|kustodev\\.azuresynapse-dogfood)\\.net/?$",
"CanCall":true
},
{
"CalloutType":"kusto",
"CalloutUriRegex":"^https://([A-Za-z0-9]+\\.)?(ade|adx)\\.(int\\.)?(applicationinsights|loganalytics|monitor)\\.(io|azure(\\.com|\\.us|\\.cn))/",
"CanCall":true
},
{
"CalloutType":"sql",
"CalloutUriRegex":"[a-z0-9][a-z0-9\\-]{0,61}[a-z0-9]?\\.database\\.windows\\.net/?$",
"CanCall":true
},
{
"CalloutType":"sql",
"CalloutUriRegex":"[a-z0-9-]{0,61}?(-ondemand)?\\.sql\\.azuresynapse(-dogfood)?\\.net/?$",
"CanCall":true
},
{
"CalloutType":"external_data",
"CalloutUriRegex":".*",
"CanCall":true
},
{
"CalloutType":"azure_digital_twins",
"CalloutUriRegex":"[A-Za-z0-9\\-]{3,63}\\.api\\.[A-Za-z0-9]+\\.digitaltwins\\.azure\\.net/?$",
"CanCall":true
}
]
De lijst met onveranderbaar bijschriftbeleid leegmaken
Als u de uitgaande toegang tot uw cluster wilt beperken, moet u de lijst met onveranderbaar bijschriftbeleid leegmaken. U kunt dit doen door de volgende opdracht uit te voeren met behulp van de Azure CLI of andere hulpprogramma's door de Azure Data Explorer-API's aan te roepen.
Activeer een ARM-implementatie met behulp van de Azure CLI met een bijgewerkte ARM-sjabloon:
Voorbeeld van ARM-sjabloonbestand met de naam template.json met de eigenschap restrictOutboundNetworkAccess ingesteld op Enabled:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", ... "resources": [ { "type": "Microsoft.Kusto/Clusters", "apiVersion": "2021-02-01", ... "properties": { ... "restrictOutboundNetworkAccess": "Enabled", ... } } ... ] }
Voorbeeld van aanroep met behulp van de Azure CLI die verwijst naar de bovenstaande sjabloon.
# Replace the <...> placeholders with the correct values az deployment group create --name RestrictOutboundAccess --resource-group <resource group> --template-file ./template.json
Als u de
restrictOutboundNetworkAccess
clustereigenschap bijwerkt, worden alle onveranderbare beleidsregels in uw cluster verwijderd. Dit voorkomt het starten van aanroepen naar andere services, zoals wordt weergegeven in het volgende voorbeeld.Voer de volgende opdracht opnieuw uit en controleer of er een lege lijst wordt geretourneerd:
.show cluster policy callout | where EntityType == "Cluster immutable policy"
FQDN's toevoegen aan de bijschriften onder beperkte voorwaarden
Als u uitgaande toegang tot een specifieke FQDN wilt toestaan, kunt u deze toevoegen aan de allowedFqdnList
lijst voor uw cluster. U kunt dit doen door uit te voeren door wijzigingen aan te brengen in de ARM-sjabloon van het Azure Data Explorer-cluster.
Activeer een ARM-implementatie met behulp van de Azure CLI met een bijgewerkte ARM-sjabloon:
Voorbeeld van ARM-sjabloonbestand met de naam template.json met de eigenschap allowedFqdnList ingesteld op ["some.sql.azuresynapse.net", "..."]:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", ... "resources": [ { "type": "Microsoft.Kusto/Clusters", "apiVersion": "2021-02-01", ... "properties": { ... "restrictOutboundNetworkAccess": "Enabled", "allowedFqdnList": ["some.sql.azuresynapse.net", "..."] ... } } ... ] }
Voorbeeld van aanroep met behulp van de Azure CLI die verwijst naar de bovenstaande sjabloon.
# Replace the <...> placeholders with the correct values az deployment group create --name ConfigureAllowedFqdnList --resource-group <resource group> --template-file ./template.json
Door de FQDN toe te voegen aan de lijst met toegestane gegevens, kunt u aanroepen naar de opgegeven FQDN uitvoeren. U kunt het resultaat van de implementatie controleren door de volgende opdracht uit te voeren:
.show cluster policy callout | project Policy=parse_json(Policy) | mv-expand Policy | where Policy.CalloutType == "sql"
Notitie
Er is een set standaardbeleidsregels ingesteld voor Azure Data Explorer om te communiceren met de interne opslaglaag. Ze vormen geen risico voor gegevensexfiltratie.