Konfigurowanie Azure Private Link dla Azure Cosmos DB magazynu analitycznego

DOTYCZY: Interfejs api Azure Cosmos DB interfejsu API SQL dla MongoDB

W tym artykule dowiesz się, jak skonfigurować zarządzane prywatne punkty końcowe dla magazynu Azure Cosmos DB analitycznego. Jeśli używasz magazynu transakcyjnego, zobacz artykuł Prywatne punkty końcowe magazynu transakcyjnego. Za pomocą zarządzanychprywatnych punktów końcowych można ograniczyć dostęp sieciowy do magazynu analitycznego Azure Cosmos DB do zarządzanego Virtual Network skojarzonego z Azure Synapse roboczym. Zarządzane prywatne punkty końcowe ustanawiają prywatne łącze do magazynu analitycznego.

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

Konfigurowanie Azure Synapse Analytics z zarządzaną siecią wirtualną

Utwórz obszar roboczy w Azure Synapse Analytics z włączoną eksfiltracją danych. Dzięki ochronie przed eksfiltracjądanych można zapewnić, że złośliwi użytkownicy nie będą w stanie 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 Azure Synapse Analytics roboczego:

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

  • Jeśli używasz bez serwera pul SQL usługi Synapse, możesz odpytnąć dowolne konto Azure Cosmos DB za pomocą Azure Synapse Link. Jednak żądania zapisu tworzące tabele zewnętrzne zgodnie z wybieraniem (CETAS) są dozwolone tylko do zatwierdzonych prywatnych punktów końcowych zarządzania w sieci wirtualnej obszaru roboczego.

Uwaga

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

Dodawanie zarządzanego prywatnego punktu końcowego Azure Cosmos DB magazynu analitycznego

  1. Zaloguj się do Azure Portal.

  2. W Azure Portal przejdź do swojego Synapse Analytics roboczego i otwórz okienko Przegląd.

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

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

  5. Przejdź do zarządzanych prywatnych punktów końcowych i wybierz pozycję Nowy

    Utwórz nowy prywatny punkt końcowy dla magazynu analitycznego.

  6. Wybierz Azure Cosmos DB (interfejs API SQL), aby > Kontynuuj.

    Wybierz Azure Cosmos DB API SQL, aby utworzyć prywatny punkt końcowy.

  7. Wypełnij formularz Nowy zarządzany prywatny punkt końcowy, aby uzyskać następujące informacje:

    • Nazwa — nazwa zarządzanego prywatnego punktu końcowego. Nie można zaktualizować tej nazwy po jej utworzeniu.
    • Opis — podaj przyjazny opis identyfikujący prywatny punkt końcowy.
    • Subskrypcja platformy Azure — Azure Cosmos DB konto z listy dostępnych kont w twoich subskrypcjach platformy Azure.
    • Azure Cosmos DB konta — wybierz istniejące konto Azure Cosmos DB typu SQL lub MongoDB.
    • Docelowy podzesieć — wybierz jedną z następujących opcji: Analiza: Jeśli chcesz dodać prywatny punkt końcowy Azure Cosmos DB magazynu analitycznego. Sql (lub MongoDB): jeśli chcesz dodać oltp lub transakcyjny punkt końcowy konta.

    Uwaga

    Możesz dodać prywatne punkty końcowe magazynu transakcyjnego i analitycznego do tego samego Azure Cosmos DB w Azure Synapse Analytics roboczym. Jeśli chcesz uruchamiać tylko zapytania analityczne, możesz chcieć zamapować tylko analityczny prywatny punkt końcowy.

    Wybierz analizę dla docelowego podzródła.

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

  9. Przejdź do swojego Azure Cosmos DB, wybierz prywatny punkt końcowy, a następnie wybierz pozycję Zatwierdź.

  10. Wróć do obszaru Synapse Analytics i kliknij przycisk Odśwież w okienku Zarządzane prywatne punkty końcowe. Sprawdź, czy prywatny punkt końcowy ma stan Zatwierdzone.

    Sprawdź, czy prywatny punkt końcowy został zatwierdzony.

Użyj Apache Spark dla Azure Synapse Analytics

Jeśli utworzono obszar roboczy Azure Synapse z włączona ochroną przed eksfiltracją danych, dostęp wychodzący z platformy Synapse Spark do kont Azure Cosmos DB domyślnie będzie blokowany. Ponadto, jeśli Azure Cosmos DB ma już istniejący prywatny punkt końcowy, dostęp do niego zostanie zablokowany przez usługę Synapse Spark.

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

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

  • Jeśli używasz wsadowych operacji zapisu/odczytu i/lub strumieniowego zapisu/odczytu do magazynu transakcyjnego, dodaj zarządzany prywatny punkt końcowy SQL lub MongoDB dla Azure Cosmos DB danych. Ponadto należy również ustawić tryb connectionMode na 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 bez serwera pul SQL usługi Synapse

Bezserowe pule SQL usługi Synapse korzystają z funkcji wielodostępnych, które nie są wdrażane w zarządzanej sieci wirtualnej. Jeśli konto Azure Cosmos DB ma istniejący prywatny punkt końcowy, bez serwera pula SQL usługi Synapse nie będzie mieć dostępu do konta z powodu kontroli izolacji sieci na Azure Cosmos DB danych.

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

  1. Zezwalaj obszarowi roboczego synapse na dostęp do Azure Cosmos DB, NetworkAclBypassResourceId określając 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

    Azure Cosmos DB i Azure Synapse Analytics powinny być w tej samej dzierżawie Azure Active Directory (AD).

  2. Teraz możesz uzyskać dostęp do konta z bez serwera pul SQL przy użyciu zapytań T-SQL za pośrednictwem Azure Synapse Link. Jednak aby zapewnić izolację sieci dla danych w magazynie analitycznym, należy dodać zarządzany przez analizę prywatny punkt końcowy dla tego konta. W przeciwnym razie dostęp publiczny do danych w magazynie analitycznym nie zostanie zablokowany.

Ważne

Jeśli używasz usługi Azure Synapse Link i potrzebujesz izolacji sieci 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 analizę prywatnego punktu końcowego.

Następne kroki