Azure Private Link configureren voor analytische opslag van Azure Cosmos DB
VAN TOEPASSING OP: NoSQL MongoDB Gremlin
In dit artikel leert u hoe u beheerde privé-eindpunten instelt voor analytische opslag van Azure Cosmos DB. Als u de transactionele opslag gebruikt, raadpleegt u Privé-eindpunten voor het artikel over het transactionele archief . Met beheerde privé-eindpunten kunt u de netwerktoegang van uw analytische opslag van Azure Cosmos DB beperken tot een beheerd virtueel netwerk dat is gekoppeld aan uw Azure Synapse-werkruimte. Beheerde privé-eindpunten maken een privékoppeling naar uw analytische opslag.
Notitie
Als u Privé-DNS Zones voor Azure Cosmos DB gebruikt en een door Synapse beheerd privé-eindpunt wilt maken voor de subresource van de analytische opslag, moet u eerst een DNS-zone maken voor de analytische opslag (privatelink.analytics.cosmos.azure.com
) die is gekoppeld aan het virtuele netwerk van Azure Cosmos DB.
Een privé-eindpunt inschakelen voor de analytische opslag
Azure Synapse Analytics-werkruimte instellen met een beheerd virtueel netwerk en gegevensexfiltratie
Maak een werkruimte in Azure Synapse Analytics waarvoor gegevensexfiltratie is ingeschakeld. Met gegevensexfiltratiebeveiliging kunt u ervoor zorgen dat kwaadwillende gebruikers geen gegevens van uw Azure-resources kunnen kopiëren of overdragen naar locaties buiten het bereik van uw organisatie.
De volgende toegangsbeperkingen zijn van toepassing wanneer gegevensexfiltratiebeveiliging is ingeschakeld voor een Azure Synapse Analytics-werkruimte:
Als u Azure Spark voor Azure Synapse Analytics gebruikt, is toegang alleen toegestaan voor de goedgekeurde beheerde privé-eindpunten voor analytische opslag van Azure Cosmos DB.
Als u serverloze SQL-pools van Synapse gebruikt, kunt u een query uitvoeren op elk Azure Cosmos DB-account met behulp van Azure Synapse Link. Schrijfaanvragen die externe tabellen maken als select (CETAS) zijn echter alleen toegestaan voor de goedgekeurde privé-eindpunten in het virtuele netwerk van de werkruimte.
Notitie
U kunt de configuratie van beheerde virtuele netwerken en gegevensexfiltratie niet wijzigen nadat de werkruimte is gemaakt.
Een beheerd privé-eindpunt toevoegen voor analytische opslag van Azure Cosmos DB
Notitie
Als u enkele van de onderstaande stappen wilt uitvoeren, moet u de netwerkconfiguratie van het Azure Cosmos DB-account tijdelijk wijzigen. Ga naar het tabblad Netwerken in de portal en klik op de optie Toegang vanuit Azure Portal toestaan . Na de configuratie van uw privé-eindpunt kunt u deze actie herstellen en de toegang uitschakelen.
Meld u aan bij het Azure-portaal.
Navigeer vanuit Azure Portal naar uw Synapse Analytics-werkruimte en open het deelvenster Overzicht .
Start Synapse Studio door naar het deelvenster Aan de slag te gaan en Open te selecteren onder Synapse Studio openen.
Open in Synapse Studio het tabblad Beheren .
Navigeer naar beheerde privé-eindpunten en selecteer Nieuw
Selecteer het accounttype >Continue van Azure Cosmos DB (API for NoSQL).
Vul het formulier Nieuw beheerd privé-eindpunt in met de volgende details:
- Naam : naam voor uw beheerde privé-eindpunt. Deze naam kan niet worden bijgewerkt nadat deze is gemaakt.
- Beschrijving : geef een beschrijvende beschrijving op om uw privé-eindpunt te identificeren.
- Azure-abonnement : selecteer een Azure Cosmos DB-account in de lijst met beschikbare accounts in uw Azure-abonnementen.
- Azure Cosmos DB-accountnaam : selecteer een bestaand Azure Cosmos DB-account van het type SQL of MongoDB.
- Doelsubresource : selecteer een van de volgende opties: Analytisch: Als u het privé-eindpunt voor de analytische opslag van Azure Cosmos DB wilt toevoegen. NoSQL (of MongoDB): Als u OLTP- of transactionele accounteindpunt wilt toevoegen.
Notitie
U kunt privé-eindpunten voor zowel transactionele opslag als analytische opslag toevoegen aan hetzelfde Azure Cosmos DB-account in een Azure Synapse Analytics-werkruimte. Als u alleen analytische query's wilt uitvoeren, wilt u mogelijk alleen het analytische privé-eindpunt toewijzen.
Nadat u het hebt gemaakt, gaat u naar de naam van het privé-eindpunt en selecteert u Goedkeuringen beheren in Azure Portal.
Navigeer naar uw Azure Cosmos DB-account, selecteer het privé-eindpunt en selecteer Goedkeuren.
Ga terug naar de Synapse Analytics-werkruimte en klik op Vernieuwen in het deelvenster Beheerde privé-eindpunten. Controleer of het privé-eindpunt de status Goedgekeurd heeft.
Apache Spark gebruiken voor Azure Synapse Analytics
Als u een Azure Synapse-werkruimte hebt gemaakt met gegevensexfiltratiebeveiliging ingeschakeld, wordt de uitgaande toegang van Synapse Spark naar Azure Cosmos DB-accounts standaard geblokkeerd. Als Azure Cosmos DB al een bestaand privé-eindpunt heeft, wordt Synapse Spark ook geblokkeerd voor toegang tot het eindpunt.
Toegang tot Azure Cosmos DB-gegevens toestaan:
Als u Azure Synapse Link gebruikt om query's uit te voeren op Azure Cosmos DB-gegevens, voegt u een beheerd analytisch privé-eindpunt toe voor het Azure Cosmos DB-account.
Als u batch-schrijf-/leesbewerkingen en/of streaming-schrijf-/leesbewerkingen gebruikt voor transactionele opslag, voegt u een beheerd SQL - of MongoDB-privé-eindpunt toe voor het Azure Cosmos DB-account. Daarnaast moet u connectionMode ook instellen op Gateway, zoals wordt weergegeven in het volgende codefragment:
# 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()
Serverloze SQL-pools van Synapse gebruiken
Serverloze SYNapse SQL-pools maken gebruik van mogelijkheden voor meerdere tenants die niet zijn geïmplementeerd in een beheerd virtueel netwerk. Als het Azure Cosmos DB-account een bestaand privé-eindpunt heeft, wordt serverloze SQL-pool van Synapse geblokkeerd voor toegang tot het account vanwege netwerkisolatiecontroles op het Azure Cosmos DB-account.
Netwerkisolatie voor dit account configureren vanuit een Synapse-werkruimte:
Sta de Synapse-werkruimte toegang tot het Azure Cosmos DB-account toe door de instelling voor het account op te
NetworkAclBypassResourceId
geven.PowerShell gebruiken
Update-AzCosmosDBAccount -Name MyCosmosDBDatabaseAccount -ResourceGroupName MyResourceGroup -NetworkAclBypass AzureServices -NetworkAclBypassResourceId "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Synapse/workspaces/wsName"
Azure CLI gebruiken
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"
Notitie
Het Azure Cosmos DB-account en de Azure Synapse Analytics-werkruimte moeten zich onder dezelfde Microsoft Entra-tenant bevinden.
U hebt nu toegang tot het account vanuit serverloze SQL-pools met behulp van T-SQL-query's via Azure Synapse Link. Als u echter wilt zorgen voor netwerkisolatie voor de gegevens in analytische opslag, moet u een analytisch beheerd privé-eindpunt voor dit account toevoegen. Anders worden de gegevens in de analytische opslag niet geblokkeerd voor openbare toegang.
Belangrijk
Als u Azure Synapse Link gebruikt en netwerkisolatie nodig hebt voor uw gegevens in de analytische opslag, moet u het Azure Cosmos DB-account toewijzen aan de Synapse-werkruimte met behulp van een door analytische beheerde privé-eindpunt.