Compartilhar via


Restringir o acesso de saída do cluster do Azure Data Explorer

Restringir o acesso de saída do cluster é importante para mitigar riscos como a exfiltração dos dados. Um ator mal-intencionado poderia potencialmente criar uma tabela externa para uma conta de armazenamento e extrair grandes quantidades de dados. Você pode controlar o acesso de saída no nível do cluster habilitando acesso de saída restrito e configurando listas de permissões baseadas em FQDN ou políticas de chamada.

Importante

Você pode configurar ou a lista de autorização baseada em FQDN ou as políticas de chamada para acesso de saída restrito. Configurar ambos resulta em um erro.

Proteção contra Exfiltração dos Dados

A exfiltração de dados é uma preocupação significativa para as empresas, especialmente quando dados confidenciais ou proprietários são armazenados em clusters. Sem controles adequados, atores mal-intencionados ou sistemas mal configurados poderiam potencialmente transferir dados para destinos externos não autorizados.

O recurso de acesso de saída restrito ajuda a atenuar esse risco, permitindo que você:

  • Restringir o tráfego de saída: impedir transferências de dados não autorizadas bloqueando todo o tráfego de saída, exceto para destinos explicitamente permitidos.
  • Controlar o acesso com listas de permissões baseadas em FQDN: especifique os FQDNs (Nomes de Domínio Totalmente Qualificados) exatos com os quais o cluster pode se comunicar, garantindo que os dados sejam enviados apenas para pontos de extremidade confiáveis.
  • Aplicar políticas de chamadas: defina regras granulares para tipos específicos de tráfego de saída, como chamadas SQL ou de dados externos, para permitir ou negar o acesso com base nos requisitos de segurança da sua organização.

Ao implementar o acesso de saída restrito, as empresas podem garantir que seus clusters do Azure Data Explorer estejam protegidos contra riscos de exfiltração de dados, alinhando-se aos padrões de conformidade e segurança.

Habilitar ou desabilitar o acesso de saída restrito

Você pode habilitar ou desabilitar o acesso de saída restrito na camada arm configurando a restrictOutboundNetworkAccess propriedade no modelo arm do cluster.

Depois que o acesso restrito de saída estiver ativado, você não poderá fazer alterações na política de chamadas usando os comandos de política de cluster .alter ou .alter-merge. Para fazer alterações na política de chamada, atualize a propriedade allowedFqdnList ou o modelo allowedCallout no modelo do ARM ou usando a CLI do Azure.

Exemplo: habilitar o acesso de saída restrito

O modelo arm a seguir habilita o acesso de saída restrito para seu cluster:

No exemplo a seguir, substitua <ClusterName> e <ClusterRegion> por seus próprios valores.

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

Exemplo: Desabilitar o acesso de saída restrito

Para desabilitar o acesso de saída restrito, defina a restrictOutboundNetworkAccess propriedade como Disabled:

No exemplo a seguir, substitua <ClusterName> e <ClusterRegion> por seus próprios valores.

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

Exemplo: habilitar o acesso de saída restrito usando o portal do Azure

  1. Vá para seu cluster no portal do Azure.

  2. Navegue até Segurança + Rede>>>Restringir acesso de saída.

  3. Selecione Habilitado para habilitar o acesso de saída restrito.

    Captura de tela da página de configuração de rede, mostrando a configuração de acesso de saída restrita sem FQDNs configurados.

  4. Selecione Salvar para enviar a configuração.

Configurar listas de permissões baseadas em FQDN

Quando o acesso de saída restrito estiver habilitado, você poderá permitir FQDNs específicos adicionando-os à propriedade allowedFqdnList no modelo ARM do seu cluster.

Exemplo: permitir FQDNs específicos usando modelos do ARM

O seguinte modelo do ARM permite o acesso de saída a FQDNs específicos, mantendo o acesso de saída restrito habilitado:

No exemplo a seguir, substitua <ClusterName> e <ClusterRegion> por seus próprios valores.

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

Exemplo: permitir FQDNs específicos usando o portal do Azure

  1. Vá para seu cluster no portal do Azure.

  2. Navegue até Segurança + Rede>>>Restringir acesso de saída.

  3. Selecione Habilitado para habilitar o acesso de saída restrito e configurar os FQDNs.

    Captura de tela da página de configuração de rede, mostrando a configuração de acesso de saída restrita com FQDNs configurados.

  4. Selecione Salvar para enviar a configuração.

Configurar políticas de texto explicativo (versão prévia)

Como alternativa, você pode configurar políticas de chamada diretamente no modelo ARM ou usando a CLI do Azure. As políticas de texto explicativo permitem que você defina regras específicas para acesso de saída ao SQL, armazenamento ou outros pontos de extremidade.

Observação

Você não pode configurar políticas de chamada com acesso de saída restrito diretamente por meio do portal do Azure.

Exemplo: Configurar políticas de chamada usando o modelo do ARM

O seguinte modelo ARM configura políticas de chamada junto com o acesso de saída restrito:

No exemplo a seguir, substitua <ClusterName> e <ClusterRegion> por seus próprios valores.

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

Exemplo: Configurar políticas de chamadas usando a CLI do Azure

Você também pode configurar políticas de texto explicativo usando a CLI do Azure. O comando a seguir define as políticas de chamada para um cluster:

No exemplo a seguir, substitua <ResourceGroupName> e <ClusterName> por seus próprios valores.

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"
  }
]'

Verifique o acesso e as políticas de saída restritos

Depois de habilitar o acesso de saída restrito ou configurar políticas de chamada, você pode verificar a configuração executando o seguinte comando de gerenciamento na interface do usuário da Web do Azure Data Explorer:

.show cluster policy callout

Esse comando exibe as políticas de texto explicativo atuais e os FQDNs permitidos.

Observação

Há políticas padrão definidas para um cluster se comunicar com sua camada de armazenamento interna, o que não expõe nenhum risco de exfiltração de dados.

Limitações

Embora o acesso de saída restrito ofereça segurança robusta, é importante estar ciente de algumas limitações:

  • Listas de permissões baseadas em FQDN não dão suporte a chamadas de webapi.
  • Você pode configurar listas de autorização baseadas em FQDN ou políticas de chamada, mas não ambas. A tentativa de configurar ambos resulta em um erro de configuração.
  • Os clusters têm um conjunto de políticas padrão para comunicação interna com sua camada de armazenamento. Essas políticas não podem ser alteradas e não representam um risco para a exfiltração de dados.
  • Você não pode configurar políticas de chamada com acesso de saída restrito diretamente por meio do portal do Azure.