Delen via


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

Bijschriftbeleidsopdrachten uitvoeren

  1. Meld u aan bij de webinterface van Azure Data Explorer.

  2. Selecteer query's in het linkermenu en maak vervolgens verbinding met uw cluster.

  3. Voer in het queryvenster de volgende query uit om de lijst met onveranderbare bijschriftbeleidsregels in uw cluster te controleren:

    .show cluster policy callout
    

    Schermopname van de pagina met beperkte query's, met het onveranderbare bijschriftbeleid.

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.

  1. 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.

    Schermopname van de pagina beperkte query, met een onveranderbare fout met bijschriftbeleid.

  2. Voer de volgende opdracht opnieuw uit en controleer of er een lege lijst wordt geretourneerd:

    .show cluster policy callout 
    | where EntityType == "Cluster immutable policy"
    

    Schermopname van de pagina beperkte query, met geen onveranderbaar bijschriftbeleid.

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.

  1. 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
    
  2. 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" 
    

    Schermopname van de pagina beperkte query, met een geconfigureerd bijschriftbeleid.

    Notitie

    Er is een set standaardbeleidsregels ingesteld voor Azure Data Explorer om te communiceren met de interne opslaglaag. Ze vormen geen risico voor gegevensexfiltratie.