Compartir a través de


Restricción del acceso saliente de un clúster de Azure Data Explorer

Restringir el acceso saliente de los clústeres es importante para mitigar riesgos como la filtración de datos. Un actor malintencionado podría crear una tabla externa a partir de una cuenta de almacenamiento y extraer grandes cantidades de datos. Puede controlar el acceso saliente en el nivel de clúster habilitando el acceso saliente restringido y configurando listas de permitidos basadas en FQDN o directivas de llamada.

Importante

Puede configurar o bien la lista de permitidos basada en FQDN o las directivas de llamada para el acceso saliente restringido. La configuración de ambos da como resultado un error.

Protección contra la filtración de datos

La filtración de datos es una preocupación importante para las empresas, especialmente cuando los datos confidenciales o propietarios se almacenan en clústeres. Sin controles adecuados, actores malintencionados o sistemas mal configurados podrían transferir datos a destinos externos no autorizados.

La característica de acceso saliente restringido ayuda a mitigar este riesgo al permitirle:

  • Restringir el tráfico saliente: evite las transferencias de datos no autorizadas bloqueando todo el tráfico saliente, excepto a destinos permitidos explícitamente.
  • Controlar el acceso con listas de permitidos basadas en FQDN: especifique los nombres de dominio completos exactos (FQDN) con los que el clúster puede comunicarse, lo que garantiza que los datos solo se envían a puntos de conexión de confianza.
  • Aplicar directivas de llamada: defina reglas pormenorizadas para tipos específicos de tráfico saliente, como llamadas de datos SQL o externos, para permitir o denegar el acceso en función de los requisitos de seguridad de la organización.

Al implementar el acceso saliente restringido, las empresas pueden asegurarse de que sus clústeres de Azure Data Explorer están protegidos frente a riesgos de filtración de datos, en consonancia con los estándares de cumplimiento y seguridad.

Habilitar o deshabilitar el acceso saliente restringido

Puede habilitar o deshabilitar el acceso saliente restringido en la capa de ARM configurando la propiedad en la restrictOutboundNetworkAccess plantilla de ARM del clúster.

Una vez que se haya habilitado el acceso saliente restringido, no se podrán realizar cambios en la política de invocación utilizando los comandos de invocación de la política del clúster .alter o .alter-merge. Para realizar cambios en la política de avisos, actualice la propiedad allowedFqdnList o allowedCallout en la plantilla de ARM o mediante la CLI de Azure.

Ejemplo: Habilitación del acceso de salida restringido

La siguiente plantilla de ARM habilita el acceso saliente restringido para el clúster:

En el ejemplo siguiente, reemplace <ClusterName> y <ClusterRegion> por sus propios 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"
      }
    }
  ]
}

Ejemplo: Deshabilitar el acceso saliente restringido

Para deshabilitar el acceso saliente restringido, establezca la propiedad restrictOutboundNetworkAccess en Disabled:

En el ejemplo siguiente, reemplace <ClusterName> y <ClusterRegion> por sus propios 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"
      }
    }
  ]
}

Ejemplo: Habilitación del acceso saliente restringido mediante Azure Portal

  1. Vaya al clúster en Azure Portal.

  2. Vaya a Seguridad + redes>Redes>Restrinja el acceso saliente.

  3. Seleccione Habilitado para habilitar el acceso saliente restringido.

    Captura de pantalla de la página de configuración de red, en la que se muestra la configuración de acceso saliente restringido sin FQDN configurado.

  4. Seleccione Guardar para enviar la configuración.

Configuración de listas de permitidos basadas en FQDN

Cuando se habilita el acceso saliente restringido, puede permitir FQDN específicos agregándolos a la propiedad de la allowedFqdnList plantilla de ARM del clúster.

Ejemplo: Permitir FQDN específicos mediante plantillas de ARM

La siguiente plantilla de ARM permite el acceso saliente a FQDN específicos al tiempo que mantiene habilitado el acceso saliente restringido:

En el ejemplo siguiente, reemplace <ClusterName> y <ClusterRegion> por sus propios 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"
        ]
      }
    }
  ]
}

Ejemplo: Permitir FQDN específicos mediante Azure Portal

  1. Vaya al clúster en Azure Portal.

  2. Vaya a Seguridad + redes>Redes>Restrinja el acceso saliente.

  3. Seleccione Habilitado para habilitar el acceso saliente restringido y configurar los FQDN.

    Captura de pantalla de la página de configuración de red, en la que se muestra la configuración de acceso saliente restringido con FQDN configurados.

  4. Seleccione Guardar para enviar la configuración.

Configuración de directivas de llamada (versión preliminar)

Como alternativa, puede configurar directivas de llamada directamente en la plantilla de ARM o mediante la CLI de Azure. Las directivas de llamada permiten definir reglas específicas para el acceso saliente a SQL, almacenamiento u otros puntos de conexión.

Nota:

No se pueden configurar directivas de llamada con acceso saliente restringido directamente a través de Azure Portal.

Ejemplo: Configuración de directivas de llamada mediante una plantilla de ARM

La siguiente plantilla de ARM configura las directivas de llamada junto con el acceso saliente restringido:

En el ejemplo siguiente, reemplace <ClusterName> y <ClusterRegion> por sus propios 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"
          }
        ]
      }
    }
  ]
}

Ejemplo: Configuración de directivas de llamada mediante la CLI de Azure

También puede configurar directivas de llamada mediante la CLI de Azure. El comando siguiente establece las directivas de llamada para un clúster:

En el ejemplo siguiente, reemplace <ResourceGroupName> y <ClusterName> por sus propios 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"
  }
]'

Verificar el acceso saliente restringido y las políticas

Después de habilitar el acceso saliente restringido o configurar las directivas de llamada, puede comprobar la configuración mediante la ejecución del siguiente comando de administración en la interfaz de usuario web de Azure Data Explorer:

.show cluster policy callout

Este comando muestra las directivas de llamada actuales y los FQDN permitidos.

Nota:

Hay directivas predeterminadas establecidas para que un clúster se comunique con su capa de almacenamiento interna, lo que no expone ningún riesgo de filtración de datos.

Limitaciones

Aunque el acceso saliente restringido ofrece una seguridad sólida, es importante tener en cuenta algunas limitaciones:

  • Las listas de permitidos basadas en FQDN no admiten llamadas webapi .
  • Puede configurar listas de permisos basadas en FQDN o políticas de llamada, pero no las dos a la vez. Si se intenta configurar ambos, se produce un error de configuración.
  • Los clústeres tienen un conjunto de directivas predeterminadas para la comunicación interna con su capa de almacenamiento. Estas directivas no se pueden cambiar y no suponen un riesgo para la filtración de datos.
  • No se pueden configurar directivas de llamada con acceso saliente restringido directamente a través de Azure Portal.