Configuración de Azure Private Link para el almacén analítico de Azure Cosmos DB

SE APLICA A: NoSQL MongoDB Gremlin

En este artículo, aprenderá a configurar puntos de conexión privados administrados para el almacén analítico de Azure Cosmos DB. Si va a usar el almacén transaccional, consulte el artículo Puntos de conexión privados para el almacén transaccional. Con los puntos de conexión privados administrados, puede restringir el acceso de red del almacén analítico de Azure Cosmos DB a la red virtual administrada asociada con el área de trabajo de Azure Synapse. Los puntos de conexión privados administrados establecen un vínculo privado al almacén analítico.

Nota

Si usa Zonas DNS privadas para Azure Cosmos DB y desea crear un punto de conexión privado administrado de Synapse para el subrecurso del almacén analítico, primero debe crear una zona DNS para el almacén analítico (privatelink.analytics.cosmos.azure.com) vinculado a la red virtual de Azure Cosmos DB.

Habilitación de un punto de conexión privado para el almacén analítico

Configuración de un área de trabajo de Azure Synapse Analytics con una red virtual administrada y filtración de datos

Cree un área de trabajo en Azure Synapse Analytics con la filtración de datos habilitada. Con la protección de la filtración de datos, puede asegurarse de que los usuarios malintencionados no puedan copiar o transferir datos de Azure Resources a ubicaciones fuera del ámbito de su organización.

Las siguientes restricciones de acceso se aplican cuando se activa la protección de filtración de datos para un área de trabajo de Azure Synapse Analytics:

  • Si utiliza Azure Spark para Azure Synapse Analytics, solo se permite el acceso a los puntos de conexión privados administrados aprobados para el almacén analítico de Azure Cosmos DB.

  • Si usa grupos de SQL sin servidor de Synapse, puede consultar cualquier cuenta de Azure Cosmos DB mediante Azure Synapse Link. Sin embargo, las solicitudes de escritura que crean tablas externas como select (CETAS) solo están permitidas para los puntos de conexión privados administrados aprobados en la red virtual del área de trabajo.

Nota

Una vez creada el área de trabajo, no se puede cambiar la configuración de la red virtual administrada y de la filtración de datos.

Incorporación de un punto de conexión privado administrado para el almacén analítico de Azure Cosmos DB

  1. Inicie sesión en Azure Portal.

  2. En Azure Portal, vaya al área de trabajo de Synapse Analytics y abra el panel Información general.

  3. Inicie Synapse Studio; para ello, vaya al panel Información general y seleccione Abrir en Abrir Synapse Studio.

  4. En Synapse Studio, abra la pestaña Administrar.

  5. Vaya a Managed private endpoints (Puntos de conexión privados administrados) y seleccione Nuevo.

    Create a new private endpoint for analytical store.

  6. Seleccione Tipo de cuenta de Azure Cosmos DB (API para NoSQL) Continue (>Continuar).

    Select Azure Cosmos DB API for NoSQL to create a private endpoint.

  7. Rellene el formulario New managed private endpoint (Nuevo punto de conexión privado administrado) con los detalles siguientes:

    • Nombre: nombre del punto de conexión privado administrado. Este nombre no se puede actualizar una vez creado.
    • Descripción: proporcione una descripción detallada para identificar el punto de conexión privado.
    • Suscripción a Azure: seleccione una cuenta de Azure Cosmos DB de la lista de cuentas disponibles en las suscripciones de Azure.
    • Nombre de cuenta de Azure Cosmos DB: seleccione una cuenta de Azure Cosmos DB existente de tipo SQL o MongoDB.
    • Subrecurso secundario: seleccione una de las siguientes opciones: Analíticos: si desea agregar el punto de conexión privado para el almacén analítico de Azure Cosmos DB. NoSQL (o MongoDB): si desea agregar un punto de conexión de cuenta OLTP o transaccional.

    Nota

    Puede agregar puntos de conexión privados del almacén de análisis y del almacén transaccional a la misma cuenta de Azure Cosmos DB en un área de trabajo de Azure Synapse Analytics. Si solo desea ejecutar consultas analíticas, es posible que solo quiera asignar el punto de conexión privado analítico.

    Choose analytical for the target subresource.

  8. Después de crearlo, vaya al nombre del punto de conexión privado y seleccione Manage approvals in Azure Portal (Administrar aprobaciones en Azure Portal).

  9. Vaya a la cuenta de Azure Cosmos DB, seleccione el punto de conexión privado y, luego, Aprobar.

  10. Vuelva al área de trabajo de Synapse Analytics y haga clic en Actualizar en el panel Managed private endpoints (Puntos de conexión privados administrados). Compruebe que el punto de conexión privado esté en estado Aprobado.

    Verify that the private endpoint is approved.

Uso de Apache Spark para Azure Synapse Analytics

Si ha creado un área de trabajo de Azure Synapse con la protección de filtración de datos activada, el acceso saliente desde Synapse Spark a las cuentas de Azure Cosmos DB estará bloqueado de forma predeterminada. Además, si Azure Cosmos DB ya tiene un punto de conexión privado existente, el acceso a Synapse Spark estará bloqueado.

Para permitir el acceso a los datos de Azure Cosmos DB:

  • Si utiliza Azure Synapse Link para consultar los datos de Azure Cosmos DB, agregue un punto de conexión privado analítico administrado para la cuenta de Azure Cosmos DB.

  • Si usa escrituras y lecturas de lote y/o escrituras y lecturas de streaming en el almacén transaccional, agregue un punto de conexión privado de SQL o MongoDB para la cuenta de Azure Cosmos DB. Además, también debe establecer connectionMode en Puerta de enlace tal como se muestra en el siguiente fragmento de código:

    # Write a Spark DataFrame into an Azure Cosmos DB container
    # To select a preferred lis of regions in a multi-region account, add .option("spark.cosmos.preferredRegions", "<Region1>, <Region2>")
    
    YOURDATAFRAME.write\
      .format("cosmos.oltp")\
      .option("spark.synapse.linkedService", "<your-Cosmos-DB-linked-service-name>")\
      .option("spark.cosmos.container","<your-Cosmos-DB-container-name>")\
      .option("spark.cosmos.write.upsertEnabled", "true")\
      .option("spark.cosmos.connection.mode", "Gateway")\
      .mode('append')\
      .save()
    
    

Uso de grupos de SQL sin servidor de Synapse

Los grupos de SQL sin servidor de Synapse usan funcionalidades multiinquilino que no se implementan en una red virtual administrada. Si la cuenta de Azure Cosmos DB tiene un punto de conexión privado existente, se bloqueará el acceso del grupo de SQL sin servidor de Synapse a la cuenta, debido a las comprobaciones de aislamiento de red en la cuenta de Azure Cosmos DB.

Para configurar el aislamiento de red para esta cuenta desde un área de trabajo de Synapse:

  1. Permita que el área de trabajo de Synapse acceda a la cuenta de Azure Cosmos DB especificando la configuración de NetworkAclBypassResourceId en la cuenta.

    Uso de PowerShell

    Update-AzCosmosDBAccount -Name MyCosmosDBDatabaseAccount -ResourceGroupName MyResourceGroup -NetworkAclBypass AzureServices -NetworkAclBypassResourceId "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Synapse/workspaces/wsName"
    

    Uso de la CLI de Azure

    az cosmosdb update --name MyCosmosDBDatabaseAccount --resource-group MyResourceGroup --network-acl-bypass AzureServices --network-acl-bypass-resource-ids "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Synapse/workspaces/wsName"
    

    Nota:

    La cuenta de Azure Cosmos DB y el área de trabajo de Azure Synapse Analytics deben estar en el mismo inquilino de Microsoft Entra ID.

  2. Ahora puede acceder a la cuenta desde grupos de SQL sin servidor, mediante consultas de T-SQL a través de Azure Synapse Link. Sin embargo, para garantizar el aislamiento de red de los datos del almacén analítico, debe agregar un punto de conexión privado administrado analítico para esta cuenta. De lo contrario, el acceso público a los datos del almacén analítico no estará bloqueado.

Importante

Si utiliza Azure Synapse Link y necesita aislamiento de red para los datos del almacén analítico, debe asignar la cuenta de Azure Cosmos DB al área de trabajo de Synapse mediante un punto de conexión privado administrado analítico.

Pasos siguientes