Konfigurowanie usługi Azure Private Link dla magazynu analitycznego usługi Azure Cosmos DB

DOTYCZY: Nosql Mongodb Gremlin

W tym artykule dowiesz się, jak skonfigurować zarządzane prywatne punkty końcowe dla magazynu analitycznego usługi Azure Cosmos DB. Jeśli używasz magazynu transakcyjnego, zobacz artykuł Prywatne punkty końcowe dla magazynu transakcyjnego. Za pomocą zarządzanych prywatnych punktów końcowych można ograniczyć dostęp sieciowy do magazynu analitycznego usługi Azure Cosmos DB do zarządzanej sieci wirtualnej skojarzonej z obszarem roboczym usługi Azure Synapse. Zarządzane prywatne punkty końcowe ustanawiają prywatny link do magazynu analitycznego.

Uwaga

Jeśli używasz stref Prywatna strefa DNS dla usługi Azure Cosmos DB i chcesz utworzyć zarządzany prywatny punkt końcowy usługi Synapse w zasobie podrzędnym magazynu analitycznego, musisz najpierw utworzyć strefę DNS dla magazynu analitycznego (privatelink.analytics.cosmos.azure.com) połączonego z siecią wirtualną usługi Azure Cosmos DB.

Włączanie prywatnego punktu końcowego dla magazynu analitycznego

Konfigurowanie obszaru roboczego usługi Azure Synapse Analytics przy użyciu zarządzanej sieci wirtualnej i eksfiltracji danych

Utwórz obszar roboczy w usłudze Azure Synapse Analytics z włączoną eksfiltracją danych. Dzięki ochronie przed eksfiltracją danych można zapewnić, że złośliwi użytkownicy nie mogą kopiować ani przesyłać danych z zasobów platformy Azure do lokalizacji spoza zakresu organizacji.

Następujące ograniczenia dostępu mają zastosowanie, gdy ochrona przed eksfiltracją danych jest włączona dla obszaru roboczego usługi Azure Synapse Analytics:

  • Jeśli używasz platformy Azure Spark dla usługi Azure Synapse Analytics, dostęp jest dozwolony tylko do zatwierdzonych zarządzanych prywatnych punktów końcowych dla magazynu analitycznego usługi Azure Cosmos DB.

  • Jeśli używasz bezserwerowych pul SQL usługi Synapse, możesz wykonywać zapytania dotyczące dowolnego konta usługi Azure Cosmos DB przy użyciu usługi Azure Synapse Link. Jednak żądania zapisu, które tworzą tabele zewnętrzne podczas wybierania (CETAS) są dozwolone tylko do zatwierdzonego zarządzania prywatnymi punktami końcowymi w sieci wirtualnej obszaru roboczego.

Uwaga

Po utworzeniu obszaru roboczego nie można zmienić zarządzanej sieci wirtualnej i konfiguracji eksfiltracji danych.

Dodawanie zarządzanego prywatnego punktu końcowego dla magazynu analitycznego usługi Azure Cosmos DB

  1. Zaloguj się w witrynie Azure Portal.

  2. W witrynie Azure Portal przejdź do obszaru roboczego usługi Synapse Analytics i otwórz okienko Przegląd .

  3. Uruchom program Synapse Studio, przechodząc do okienka Wprowadzenie i wybierając pozycję Otwórz w obszarze Otwórz program Synapse Studio.

  4. W programie Synapse Studio otwórz kartę Zarządzanie .

  5. Przejdź do obszaru Zarządzane prywatne punkty końcowe i wybierz pozycję Nowy

    Create a new private endpoint for analytical store.

  6. Wybierz pozycję Azure Cosmos DB (interfejs API dla noSQL) typu >konta Kontynuuj.

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

  7. Wypełnij formularz Nowy zarządzany prywatny punkt końcowy, korzystając z następujących szczegółów:

    • Nazwa — nazwa zarządzanego prywatnego punktu końcowego. Nie można zaktualizować tej nazwy po jej utworzeniu.
    • Opis — podaj przyjazny opis, aby zidentyfikować prywatny punkt końcowy.
    • Subskrypcja platformy Azure — wybierz konto usługi Azure Cosmos DB z listy dostępnych kont w subskrypcjach platformy Azure.
    • Nazwa konta usługi Azure Cosmos DB — wybierz istniejące konto usługi Azure Cosmos DB typu SQL lub MongoDB.
    • Docelowy zasób podrzędny — wybierz jedną z następujących opcji: Analiza: jeśli chcesz dodać prywatny punkt końcowy dla magazynu analitycznego usługi Azure Cosmos DB. NoSQL (lub MongoDB): jeśli chcesz dodać punkt końcowy olTP lub transakcyjnego konta.

    Uwaga

    Możesz dodać zarówno magazyn transakcyjny, jak i prywatne punkty końcowe magazynu analitycznego do tego samego konta usługi Azure Cosmos DB w obszarze roboczym usługi Azure Synapse Analytics. Jeśli chcesz tylko uruchamiać zapytania analityczne, możesz zamapować tylko analityczny prywatny punkt końcowy.

    Choose analytical for the target subresource.

  8. Po utworzeniu przejdź do nazwy prywatnego punktu końcowego i wybierz pozycję Zarządzaj zatwierdzeniami w witrynie Azure Portal.

  9. Przejdź do konta usługi Azure Cosmos DB, wybierz prywatny punkt końcowy i wybierz pozycję Zatwierdź.

  10. Wróć do obszaru roboczego usługi Synapse Analytics i kliknij pozycję Odśwież w okienku Zarządzane prywatne punkty końcowe . Sprawdź, czy prywatny punkt końcowy jest w stanie Zatwierdzone .

    Verify that the private endpoint is approved.

Korzystanie z platformy Apache Spark dla usługi Azure Synapse Analytics

Jeśli utworzono obszar roboczy usługi Azure Synapse z włączoną ochroną przed eksfiltracją danych, dostęp wychodzący z usługi Synapse Spark do kont usługi Azure Cosmos DB zostanie domyślnie zablokowany. Ponadto jeśli usługa Azure Cosmos DB ma już istniejący prywatny punkt końcowy, usługa Synapse Spark nie będzie mieć dostępu do niej.

Aby zezwolić na dostęp do danych usługi Azure Cosmos DB:

  • Jeśli używasz usługi Azure Synapse Link do wykonywania zapytań dotyczących danych usługi Azure Cosmos DB, dodaj zarządzany prywatny punkt końcowy analityczny dla konta usługi Azure Cosmos DB.

  • Jeśli używasz zapisów/odczytów wsadowych i/lub zapisów przesyłanych strumieniowo do magazynu transakcyjnego, dodaj zarządzany prywatny punkt końcowy SQL lub MongoDB dla konta usługi Azure Cosmos DB. Ponadto należy również ustawić parametr connectionMode na wartość Gateway , jak pokazano w poniższym fragmencie kodu:

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

Korzystanie z bezserwerowych pul SQL usługi Synapse

Bezserwerowe pule SQL usługi Synapse używają funkcji wielodostępnych, które nie są wdrażane w zarządzanej sieci wirtualnej. Jeśli konto usługi Azure Cosmos DB ma istniejący prywatny punkt końcowy, bezserwerowa pula SQL usługi Synapse zostanie zablokowana z powodu kontroli izolacji sieci na koncie usługi Azure Cosmos DB.

Aby skonfigurować izolację sieci dla tego konta z obszaru roboczego usługi Synapse:

  1. Zezwól obszarowi roboczemu usługi Synapse na dostęp do konta usługi Azure Cosmos DB, określając NetworkAclBypassResourceId ustawienie na koncie.

    Korzystanie z programu PowerShell

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

    Korzystanie z interfejsu wiersza polecenia platformy 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"
    

    Uwaga

    Konto usługi Azure Cosmos DB i obszar roboczy usługi Azure Synapse Analytics powinny znajdować się w tej samej dzierżawie firmy Microsoft Entra.

  2. Teraz możesz uzyskać dostęp do konta z bezserwerowych pul SQL przy użyciu zapytań T-SQL za pośrednictwem usługi Azure Synapse Link. Aby jednak zapewnić izolację sieci dla danych w magazynie analitycznym, należy dodać analityczny prywatny punkt końcowy zarządzany dla tego konta. W przeciwnym razie dane w magazynie analitycznym nie będą blokowane z dostępu publicznego.

Ważne

Jeśli używasz usługi Azure Synapse Link i potrzebujesz izolacji sieciowej dla danych w magazynie analitycznym, musisz zamapować konto usługi Azure Cosmos DB na obszar roboczy usługi Synapse przy użyciu zarządzanego przez analitykę prywatnego punktu końcowego.

Następne kroki