Megosztás a következőn keresztül:


Az Azure Data Explorer-fürt kimenő hozzáférésének korlátozása

A fürt kimenő hozzáférésének korlátozása fontos az olyan kockázatok mérséklése érdekében, mint az adatkiszivárgás. Egy rosszindulatú szereplő esetleg létrehozhat egy külső táblát egy tárfiókban, és nagy mennyiségű adatot nyerhet ki. A kimenő hozzáférést a fürt szintjén is szabályozhatja a hívási szabályzatok definiálásával. A feliratozási szabályzatok kezelésével kimenő hozzáférést engedélyezhet a megadott SQL-hez, tárhoz vagy más végpontokhoz.

Ebből a cikkből megtudhatja, hogyan használhatja a híváskihívási szabályzatok bővítményét, amely lehetővé teszi a fürt hívásainak további korlátozását.

Ábrafelirat-szabályzatok típusai

A ábrafelirat-szabályzatok az alábbiak szerint oszthatók el:

  • Nem módosítható ábrafelirat-szabályzatok: Ezek a fürtök szabványos szabályzatai. Előre konfigurálva vannak, és nem módosíthatók.
  • Fürtfelirat-szabályzatok: Ezek olyan szabályzatok, amelyeket feliratszabályzat-parancsok használatával módosíthat.

Előfeltételek

Ábrafeliratszabályzat-parancsok futtatása

  1. Jelentkezzen be az Azure Data Explorer webes felhasználói felületére.

  2. A bal oldali menüben válassza a Lekérdezés lehetőséget, majd csatlakozzon a fürthöz.

  3. A lekérdezési ablakban futtassa a következő lekérdezést a fürt nem módosítható feliratszabályzatainak listájának vizsgálatához:

    .show cluster policy callout
    

    Képernyőkép a korlátozott lekérdezési oldalról, amelyen a nem módosítható feliratszabályzatok láthatók.

Az alábbiakban egy példát mutatunk be a nem módosítható ábrafelirat-szabályzatokra. Figyelje meg, hogy a listában van néhány alapértelmezett szabály, amely lehetővé teszi más szolgáltatások, például külső adatok hívását.

[
   {
      "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
   }
]

A nem módosítható feliratszabályzatok listájának ürítése

A fürt kimenő hozzáférésének korlátozásához ki kell ürítenie a nem módosítható feliratszabályzatok listáját. Ehhez futtassa a következő parancsot az Azure CLI-vel vagy bármely más eszközzel az Azure Data Explorer API-k meghívásával.

  1. ARM-üzembe helyezés aktiválása az Azure CLI-vel egy frissített ARM-sablonnal:

    Példa a "template.json" nevű ARM-sablonfájlra, amely a RestrictOutboundNetworkAccess tulajdonságot Engedélyezve értékre állítja:

    {
      "$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",
                  ...
              }
          }
          ...
      ]
    }
    

    Példahívás a fenti sablonra hivatkozó Azure CLI használatával.

    # Replace the <...> placeholders with the correct values
    az deployment group create   --name RestrictOutboundAccess   --resource-group <resource group>   --template-file ./template.json
    

    A restrictOutboundNetworkAccess fürttulajdonság frissítése eltávolítja a fürt összes nem módosítható szabályzatát. Ez megakadályozza, hogy hívásokat kezdeményezhessenek más szolgáltatások felé az alábbi példában látható módon.

    Képernyőkép a korlátozott lekérdezési oldalról, amely nem módosítható feliratszabályzat-hibát mutat.

  2. Futtassa újra a következő parancsot, és ellenőrizze, hogy üres listát ad-e vissza:

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

    Képernyőkép a korlátozott lekérdezési oldalról, amelyen nem módosítható ábrafelirat-szabályzatok láthatók.

FQDN-k hozzáadása a képfeliratokhoz korlátozott feltételek mellett

Ha engedélyezni szeretné a kimenő hozzáférést egy adott teljes tartománynévhez, hozzáadhatja azt a allowedFqdnList fürt listájához. Ezt úgy teheti meg, hogy módosítja az Azure Data Explorer-fürt ARM-sablonját.

  1. ARM-üzembe helyezés aktiválása az Azure CLI-vel egy frissített ARM-sablonnal:

    Példa a "template.json" nevű ARM-sablonfájlra, amelynek az allowedFqdnList tulajdonsága ["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", "..."]
                  ...
              }
          }
          ...
      ]
    }
    

    Példahívás a fenti sablonra hivatkozó Azure CLI használatával.

    # Replace the <...> placeholders with the correct values
    az deployment group create   --name ConfigureAllowedFqdnList   --resource-group <resource group>   --template-file ./template.json
    
  2. Ha hozzáadja az FQDN-t az engedélyezett listához, hívásokat indíthat a megadott teljes tartománynévre. Az üzembe helyezés eredményét az alábbi parancs végrehajtásával ellenőrizheti:

    .show cluster policy callout 
    | project Policy=parse_json(Policy)
    | mv-expand Policy
    | where Policy.CalloutType == "sql" 
    

    Képernyőkép a korlátozott lekérdezési oldalról, amelyen egy konfigurált feliratszabályzat látható.

    Megjegyzés

    Az Azure Data Explorer a belső tárolási réteggel való kommunikációhoz beállított alapértelmezett szabályzatok készlete. Nem tesznek közzé adatkiszivárgási kockázatot.