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
Kommentar
Om du vill utföra några av stegen nedan måste du ändra nätverkskonfigurationen för Azure Cosmos DB-kontot. Gå till fliken Nätverk i portalen och klicka på alternativet Tillåt åtkomst från Azure-portalen . Efter konfigurationen av din privata slutpunkt kan du återställa den här åtgärden och inaktivera åtkomsten.
Logga in på Azure-portalen.
Från Azure-portalen går du till din Synapse Analytics-arbetsyta och öppnar fönstret Översikt .
Starta Synapse Studio genom att gå till fönstret Komma igång och välj Öppna under Öppna Synapse Studio.
Öppna fliken Hantera i Synapse Studio.
Gå till Hanterade privata slutpunkter och välj Ny
Välj Azure Cosmos DB-kontotypen >Fortsätt (API för NoSQL).
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.
När du har skapat går du till namnet på den privata slutpunkten och väljer Hantera godkännanden i Azure-portalen.
Gå till ditt Azure Cosmos DB-konto, välj den privata slutpunkten och välj Godkänn.
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 .
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:
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.
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
- Kom igång med att fråga analysarkiv med Azure Synapse Spark 3
- Kom igång med att fråga analysarkiv med Azure Synapse Spark 2
- Kom igång med att fråga analysarkiv med Serverlösa SQL-pooler i Azure Synapse