Delen via


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

  1. Meld u aan bij het Azure-portaal.

  2. Navigeer vanuit Azure Portal naar uw Synapse Analytics-werkruimte en open het deelvenster Overzicht .

  3. Start Synapse Studio door naar het deelvenster Aan de slag te gaan en Open te selecteren onder Synapse Studio openen.

  4. Open in Synapse Studio het tabblad Beheren .

  5. Navigeer naar beheerde privé-eindpunten en selecteer Nieuw

    Maak een nieuw privé-eindpunt voor analytische opslag.

  6. Selecteer het accounttype >Continue van Azure Cosmos DB (API for NoSQL).

    Selecteer de Azure Cosmos DB-API voor NoSQL om een privé-eindpunt te maken.

  7. 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.

    Kies analytisch voor de doelsubresource.

  8. Nadat u het hebt gemaakt, gaat u naar de naam van het privé-eindpunt en selecteert u Goedkeuringen beheren in Azure Portal.

  9. Navigeer naar uw Azure Cosmos DB-account, selecteer het privé-eindpunt en selecteer Goedkeuren.

  10. 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.

    Controleer of het privé-eindpunt is goedgekeurd.

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:

  1. 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.

  2. 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.

Volgende stappen