Dela via


Konfigurera Azure Private Link för Azure Cosmos DB-analysarkiv

GÄLLER FÖR: NoSQL MongoDB Gremlin

I den här artikeln får du lära dig hur du konfigurerar hanterade privata slutpunkter för Azure Cosmos DB-analysarkivet. Om du använder transaktionsarkivet kan du läsa artikeln Privata slutpunkter för transaktionsarkivet . Med hjälp av hanterade privata slutpunkter kan du begränsa nätverksåtkomsten för ditt Azure Cosmos DB-analysarkiv till ett hanterat virtuellt nätverk som är associerat med din Azure Synapse-arbetsyta. Hanterade privata slutpunkter upprättar en privat länk till analysarkivet.

Kommentar

Om du använder privata DNS-zoner för Azure Cosmos DB och vill skapa en Synapse-hanterad privat slutpunkt till analysarkivets underresurs måste du först skapa en DNS-zon för analysarkivet (privatelink.analytics.cosmos.azure.com) som är länkat till azure Cosmos DB:s virtuella nätverk.

Aktivera en privat slutpunkt för analysarkivet

Konfigurera Azure Synapse Analytics-arbetsyta med ett hanterat virtuellt nätverk och dataexfiltrering

Skapa en arbetsyta i Azure Synapse Analytics med dataexfiltrering aktiverat. Med dataexfiltreringsskydd kan du se till att skadliga användare inte kan kopiera eller överföra data från dina Azure-resurser till platser utanför organisationens omfång.

Följande åtkomstbegränsningar gäller när dataexfiltreringsskydd är aktiverat för en Azure Synapse Analytics-arbetsyta:

  • Om du använder Azure Spark för Azure Synapse Analytics tillåts åtkomst endast till de godkända hanterade privata slutpunkterna för Azure Cosmos DB-analysarkivet.

  • Om du använder Synapse-serverlösa SQL-pooler kan du fråga valfritt Azure Cosmos DB-konto med hjälp av Azure Synapse Link. Skrivbegäranden som skapar externa tabeller efter val (CETAS) tillåts dock endast för godkända hantera privata slutpunkter i arbetsytans virtuella nätverk.

Kommentar

Du kan inte ändra konfigurationen för hanterat virtuellt nätverk och dataexfiltrering när arbetsytan har skapats.

Lägga till en hanterad privat slutpunkt för Azure Cosmos DB-analysarkiv

  1. Logga in på Azure-portalen.

  2. Från Azure-portalen går du till din Synapse Analytics-arbetsyta och öppnar fönstret Översikt .

  3. Starta Synapse Studio genom att gå till fönstret Komma igång och välj Öppna under Öppna Synapse Studio.

  4. Öppna fliken Hantera i Synapse Studio.

  5. Gå till Hanterade privata slutpunkter och välj Ny

    Skapa en ny privat slutpunkt för analysarkivet.

  6. Välj Azure Cosmos DB-kontotypen >Fortsätt (API för NoSQL).

    Välj Azure Cosmos DB API för NoSQL för att skapa en privat slutpunkt.

  7. Fyll i formuläret Ny hanterad privat slutpunkt med följande information:

    • Namn – Namn på den hanterade privata slutpunkten. Det går inte att uppdatera det här namnet när det har skapats.
    • Beskrivning – Ange en egen beskrivning för att identifiera din privata slutpunkt.
    • Azure-prenumeration – Välj ett Azure Cosmos DB-konto i listan över tillgängliga konton i dina Azure-prenumerationer.
    • Azure Cosmos DB-kontonamn – Välj ett befintligt Azure Cosmos DB-konto av typen SQL eller MongoDB.
    • Målunderresurs – Välj något av följande alternativ: Analys: Om du vill lägga till den privata slutpunkten för Azure Cosmos DB-analysarkivet. NoSQL (eller MongoDB): Om du vill lägga till OLTP- eller transaktionskontoslutpunkt.

    Kommentar

    Du kan lägga till privata slutpunkter för både transaktionslager och analysarkiv till samma Azure Cosmos DB-konto på en Azure Synapse Analytics-arbetsyta. Om du bara vill köra analysfrågor kanske du bara vill mappa den privata analysslutpunkten.

    Välj analys för målunderresursen.

  8. När du har skapat går du till namnet på den privata slutpunkten och väljer Hantera godkännanden i Azure-portalen.

  9. Gå till ditt Azure Cosmos DB-konto, välj den privata slutpunkten och välj Godkänn.

  10. Gå tillbaka till Synapse Analytics-arbetsytan och klicka på Uppdatera i fönstret Hanterade privata slutpunkter. Kontrollera att den privata slutpunkten är i tillståndet Godkänd .

    Kontrollera att den privata slutpunkten är godkänd.

Använda Apache Spark för Azure Synapse Analytics

Om du har skapat en Azure Synapse-arbetsyta med dataexfiltreringsskydd aktiverat blockeras den utgående åtkomsten från Synapse Spark till Azure Cosmos DB-konton som standard. Om Azure Cosmos DB redan har en befintlig privat slutpunkt blockeras Synapse Spark från att komma åt den.

Så här tillåter du åtkomst till Azure Cosmos DB-data:

  • Om du använder Azure Synapse Link för att köra frågor mot Azure Cosmos DB-data lägger du till en hanterad privat analysslutpunkt för Azure Cosmos DB-kontot.

  • Om du använder batchskrivningar/läsningar och/eller strömmande skrivningar/läsningar i transaktionsarkivet lägger du till en hanterad privat SQL - eller MongoDB-slutpunkt för Azure Cosmos DB-kontot. Dessutom bör du också ange connectionMode till Gateway enligt följande kodfragment:

    # 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()
    
    

Använda Synapse-serverlösa SQL-pooler

Synapse-serverlösa SQL-pooler använder funktioner för flera klientorganisationer som inte distribueras till ett hanterat virtuellt nätverk. Om Azure Cosmos DB-kontot har en befintlig privat slutpunkt blockeras Synapse serverlös SQL-pool från att komma åt kontot på grund av nätverksisoleringskontroller på Azure Cosmos DB-kontot.

Så här konfigurerar du nätverksisolering för det här kontot från en Synapse-arbetsyta:

  1. Tillåt Att Synapse-arbetsytan får åtkomst till Azure Cosmos DB-kontot genom att NetworkAclBypassResourceId ange inställningen för kontot.

    Använda PowerShell

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

    Använda Azure CLI

    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"
    

    Kommentar

    Azure Cosmos DB-kontot och Azure Synapse Analytics-arbetsytan bör vara under samma Microsoft Entra-klientorganisation.

  2. Nu kan du komma åt kontot från serverlösa SQL-pooler med hjälp av T-SQL-frågor via Azure Synapse Link. Men för att säkerställa nätverksisolering för data i analysarkivet måste du lägga till en analytisk hanterad privat slutpunkt för det här kontot. Annars blockeras inte data i analysarkivet från offentlig åtkomst.

Viktigt!

Om du använder Azure Synapse Link och behöver nätverksisolering för dina data i analysarkivet måste du mappa Azure Cosmos DB-kontot till Synapse-arbetsytan med hjälp av analytisk hanterad privat slutpunkt.

Nästa steg