Udostępnij przez


Ograniczanie dostępu wychodzącego z klastra usługi Azure Data Explorer

Ograniczenie dostępu wychodzącego z klastra jest ważne, aby zminimalizować ryzyko, takie jak eksfiltracja danych. Złośliwy podmiot może potencjalnie utworzyć tabelę zewnętrzną na koncie magazynowym i wyodrębnić duże ilości danych. Dostęp wychodzący można kontrolować na poziomie klastra, włączając ograniczony dostęp wychodzący i konfigurowając listy dozwolonych na bazie FQDN lub polityki wywołań.

Ważne

Można skonfigurować listę dozwolonych opartą na nazwie FQDN lub zasady objaśnień dla ograniczonego dostępu wychodzącego. Skonfigurowanie obu powoduje wystąpienie błędu.

Ochrona przed eksfiltracją danych

Eksfiltracja danych jest istotnym problemem dla przedsiębiorstw, szczególnie w przypadku przechowywania poufnych lub zastrzeżonych danych w klastrach. Bez odpowiednich mechanizmów kontroli złośliwe podmioty lub nieprawidłowo skonfigurowane systemy mogą potencjalnie przesyłać dane do nieautoryzowanych zewnętrznych miejsc docelowych.

Funkcja ograniczonego dostępu wychodzącego pomaga ograniczyć to ryzyko, umożliwiając:

  • Ogranicz ruch wychodzący: zapobiegaj nieautoryzowanym transferom danych, blokując cały ruch wychodzący z wyjątkiem jawnie dozwolonych miejsc docelowych.
  • Kontrola dostępu za pomocą list dozwolonych opartych na nazwach FQDN: określ dokładne w pełni kwalifikowane nazwy domen (FQDN), z którymi klaster może się komunikować, zapewniając, że dane są wysyłane tylko do zaufanych punktów końcowych.
  • Wymuszanie zasad wywołań: definiowanie szczegółowych reguł dla określonych typów ruchu wychodzącego, takich jak wywołania SQL lub zewnętrzne wywołania danych, w celu zezwolenia lub odmowy dostępu na podstawie wymagań dotyczących zabezpieczeń Twojej organizacji.

Implementując ograniczony dostęp wychodzący, przedsiębiorstwa mogą zapewnić ochronę klastrów usługi Azure Data Explorer przed zagrożeniami eksfiltracji danych, zgodnymi ze standardami zgodności i zabezpieczeń.

Włączanie lub wyłączanie ograniczonego dostępu wychodzącego

Możesz włączyć lub wyłączyć ograniczony dostęp wychodzący w warstwie ARM, konfigurując właściwość restrictOutboundNetworkAccess w szablonie ARM klastra.

Po włączeniu ograniczonego dostępu wyjściowego nie można wprowadzać zmian w polityce wywołania przy użyciu poleceń wywołania alter lub alter-merge. Aby wprowadzić zmiany w zasadach objaśnień, zaktualizuj właściwość allowedFqdnList lub allowedCallout w szablonie usługi ARM lub przy użyciu Azure CLI.

Przykład: Włączanie ograniczonego dostępu wychodzącego

Następujący szablon usługi ARM umożliwia ograniczony dostęp wychodzący dla klastra:

W poniższym przykładzie zastąp wartości <ClusterName> i <ClusterRegion> własnymi wartościami.

{
  "$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",
      "name": "<ClusterName>",
      "location": "<ClusterRegion>",
      "properties": {
        "restrictOutboundNetworkAccess": "Enabled"
      }
    }
  ]
}

Przykład: wyłączanie ograniczonego dostępu wychodzącego

Aby wyłączyć ograniczony dostęp wychodzący, ustaw restrictOutboundNetworkAccess właściwość na Disabled:

W poniższym przykładzie zastąp wartości <ClusterName> i <ClusterRegion> własnymi wartościami.

{
  "$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",
      "name": "<ClusterName>",
      "location": "<ClusterRegion>",
      "properties": {
        "restrictOutboundNetworkAccess": "Disabled"
      }
    }
  ]
}

Przykład: włączanie ograniczonego dostępu wychodzącego przy użyciu witryny Azure Portal

  1. Przejdź do klastra w witrynie Azure Portal.

  2. Przejdź do Zabezpieczenia + sieć>Sieć>Ograniczanie dostępu wychodzącego.

  3. Wybierz pozycję Włączone, aby włączyć ograniczony dostęp wychodzący.

    Zrzut ekranu strony konfiguracji sieci, pokazujący konfigurację dostępu wychodzącego z ograniczeniami bez skonfigurowanych nazw FQDN.

  4. Wybierz pozycję Zapisz, aby przesłać konfigurację.

Konfigurowanie list dozwolonych opartych na nazwie FQDN

Po włączeniu ograniczonego dostępu wychodzącego można zezwolić na konkretne FQDN-y, dodając je do właściwości allowedFqdnList w szablonie ARM klastra.

Przykład: zezwalanie na określone nazwy FQDN przy użyciu szablonów usługi ARM

Poniższy szablon ARM umożliwia dostęp wychodzący do konkretnych FQDN przy zachowaniu włączonego ograniczonego dostępu wychodzącego.

W poniższym przykładzie zastąp wartości <ClusterName> i <ClusterRegion> własnymi wartościami.

{
  "$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",
      "name": "<ClusterName>",
      "location": "<ClusterRegion>",
      "properties": {
        "restrictOutboundNetworkAccess": "Enabled",
        "allowedFqdnList": [
          "example.sql.azuresynapse.net",
          "example.blob.core.windows.net"
        ]
      }
    }
  ]
}

Przykład: Zezwalaj na określone FQDN przy użyciu portalu Azure.

  1. Przejdź do klastra w witrynie Azure Portal.

  2. Przejdź do Zabezpieczenia + sieć>Sieć>Ograniczanie dostępu wychodzącego.

  3. Wybierz pozycję Włączone , aby włączyć ograniczony dostęp wychodzący i skonfigurować nazwy FQDN.

    Zrzut ekranu strony konfiguracji sieci, pokazujący konfigurację ograniczonego dostępu wychodzącego z skonfigurowanymi FQDN-ami.

  4. Wybierz pozycję Zapisz, aby przesłać konfigurację.

Konfigurowanie zasad objaśnień (wersja zapoznawcza)

Alternatywnie można skonfigurować zasady wywołań bezpośrednio w szablonie ARM lub przy użyciu Azure CLI. Zasady wywołań umożliwiają definiowanie określonych reguł dla dostępu wychodzącego do SQL, magazynu lub innych punktów końcowych.

Uwaga / Notatka

Nie można skonfigurować zasad połączeń z ograniczonym dostępem wychodzącym bezpośrednio przez portal Azure.

Przykład: Konfigurowanie polityk callout przy użyciu szablonu ARM

Poniższy szablon ARM konfiguruje zasady połączeń wychodzących wraz z ograniczonym dostępem wychodzącym.

W poniższym przykładzie zastąp wartości <ClusterName> i <ClusterRegion> własnymi wartościami.

{
  "$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",
      "name": "<ClusterName>",
      "location": "<ClusterRegion>",
      "properties": {
        "restrictOutboundNetworkAccess": "Enabled",
        "calloutPolicies": [
          {
            "calloutType": "sql",
            "calloutUriRegex": "[a-z0-9][a-z0-9\\-]{0,61}[a-z0-9]?\\.database\\.windows\\.net/?$",
            "outboundAccess": "Allow"
          },
          {
            "calloutType": "external_data",
            "calloutUriRegex": ".*",
            "outboundAccess": "Deny"
          }
        ]
      }
    }
  ]
}

Przykład: Konfigurowanie zasad komunikatów przy użyciu Azure CLI

Można również skonfigurować polityki dotyczące zgłoszeń przy użyciu interfejsu wiersza polecenia platformy Azure. Następujące polecenie ustawia polityki wywołania dla klastra.

W poniższym przykładzie zastąp wartości <ResourceGroupName> i <ClusterName> własnymi wartościami.

az resource update --resource-group <ResourceGroupName> \
  --name <ClusterName> \
  --resource-type Microsoft.Kusto/clusters \
  --set properties.calloutPolicies='[
  {
    "calloutType": "sql",
    "calloutUriRegex": "sqlname\\.database\\.azure\\.com/?$",
    "outboundAccess": "Allow"
  }
]'

Weryfikowanie ograniczonego dostępu wychodzącego i zasad

Po włączeniu ograniczonego dostępu wychodzącego lub skonfigurowaniu zasad wywołań można zweryfikować konfigurację, uruchamiając następujące polecenie zarządzania w interfejsie użytkownika w usłudze Azure Data Explorer.

.show cluster policy callout

To polecenie wyświetla bieżące zasady dotyczące calloutów oraz dozwolone FQDN.

Uwaga / Notatka

Istnieją domyślne zasady ustawione dla klastra do komunikowania się z wewnętrzną warstwą magazynu, która nie naraża ryzyka eksfiltracji danych.

Ograniczenia

Chociaż ograniczony dostęp wychodzący zapewnia niezawodne zabezpieczenia, ważne jest, aby pamiętać o pewnych ograniczeniach:

  • Listy akceptacji oparte na FQDN nie obsługują wywołań webapi.
  • Można skonfigurować listy dozwolone oparte na FQDN lub polityki wywołań, ale nie obie. Próba skonfigurowania obu powoduje wystąpienie błędu konfiguracji.
  • Klastry mają zestaw domyślnych zasad dotyczących komunikacji wewnętrznej z warstwą przechowywania. Tych zasad nie można zmienić i nie stanowią ryzyka eksfiltracji danych.
  • Nie można skonfigurować zasad połączeń z ograniczonym dostępem wychodzącym bezpośrednio przez portal Azure.