Konfigurieren von Azure Private Link für Azure Cosmos DB-Analysespeicher
GILT FÜR: NoSQL MongoDB Gremlin
In diesem Artikel erfahren Sie, wie Sie verwaltete private Endpunkte für Azure Cosmos DB-Analysespeicher einrichten. Wenn Sie den Transaktionsspeicher verwenden, lesen Sie den Artikel Private Endpunkte für den Transaktionsspeicher. Mithilfe verwalteter privater Endpunkte können Sie den Netzwerkzugriff von Azure Cosmos DB-Analysespeicher auf das verwaltete virtuelle Netzwerk beschränken, das Ihrem Azure Synapse-Arbeitsbereich zugeordnet ist. Mit verwalteten privaten Endpunkten wird eine private Verbindung mit Ihrem Analysespeicher hergestellt.
Hinweis
Wenn Sie private DNS-Zonen für Azure Cosmos DB verwenden und einen von Synapse verwalteten privaten Endpunkt für die Unterressource des Analysespeichers erstellen möchten, müssen Sie zunächst eine DNS-Zone für den Analysespeicher (privatelink.analytics.cosmos.azure.com
) erstellen, der mit Ihrem virtuellen Azure Cosmos DB-Netzwerk verknüpft ist.
Aktivieren eines privaten Endpunkts für den Analysespeicher
Einrichten eines Azure Synapse Analytics-Arbeitsbereichs mit einem verwalteten virtuellen Netzwerk und Datenexfiltration
Erstellen Sie einen Arbeitsbereich in Azure Synapse Analytics mit aktivierter Datenexfiltration. Mit dem Schutz vor Datenexfiltration können Sie sicherstellen, dass böswillige Benutzer keine Daten aus Ihren Azure-Ressourcen an Orte außerhalb Ihres Organisationsbereichs kopieren oder übertragen können.
Die folgenden Zugriffsbeschränkungen gelten, wenn der Schutz vor Datenexfiltration für einen Azure Synapse Analytics-Arbeitsbereich aktiviert ist:
Wenn Sie Azure Spark für Azure Synapse Analytics verwenden, ist nur der Zugriff auf die genehmigten verwalteten privaten Endpunkte für Azure Cosmos DB-Analysespeicher zulässig.
Wenn Sie serverlose Synapse-SQL-Pools verwenden, können Sie mit Azure Synapse Link jedes Azure Cosmos DB-Konto abfragen. Schreibanforderungen, die externe Tabellen mit einer CETAS-Anweisung erstellen, sind jedoch nur für die genehmigten verwalteten privaten Endpunkte im virtuellen Arbeitsbereichsnetzwerk zulässig.
Hinweis
Nachdem der Arbeitsbereich erstellt wurde, können Sie die Konfiguration für das verwaltete virtuelle Netzwerk und die Datenexfiltration nicht mehr ändern.
Hinzufügen eines verwalteten privaten Endpunkts für Azure Cosmos DB-Analysespeicher
Hinweis
Um einige der folgenden Schritte auszuführen, müssen Sie die Azure Cosmos DB-Kontonetzwerkkonfiguration zeitweise ändern. Wechseln Sie zur Registerkarte Netzwerk im Portal, und klicken Sie auf die Option Zugriff von Azure Portal zulassen. Nach der Konfiguration Ihres privaten Endpunkts können Sie diese Aktion rückgängig machen und den Zugriff wieder deaktivieren.
Melden Sie sich beim Azure-Portal an.
Navigieren Sie im Azure-Portal zu Ihrem Synapse Analytics-Arbeitsbereich, und öffnen Sie den Bereich Übersicht.
Starten Sie Synapse Studio, indem Sie zum Bereich Erste Schritte navigieren und unter Synapse Studio öffnen die Option Öffnen auswählen.
Öffnen Sie in Synapse Studio die Registerkarte Verwalten.
Navigieren Sie zu Verwaltete private Endpunkte, und wählen Sie Neu aus.
Wählen Sie den Kontotyp Azure Cosmos DB (API für NoSQL)>Weiter aus.
Füllen Sie das Formular Neuer verwalteter privater Endpunkt mit den folgenden Details aus:
- Name: Der Name für den verwalteten privaten Endpunkt. Dieser Name kann nach dem Erstellen nicht mehr aktualisiert werden.
- Beschreibung: Geben Sie eine benutzerfreundliche Beschreibung zum Identifizieren des privaten Endpunkts an.
- Azure-Abonnement: Wählen Sie ein Azure Cosmos DB-Konto aus der Liste verfügbarer Konten in Ihren Azure-Abonnements aus.
- Azure Cosmos DB-Kontoname: Wählen Sie ein vorhandenes Azure Cosmos DB-Konto vom Typ SQL oder MongoDB aus.
- Untergeordnete Zielressource: Wählen Sie eine der folgenden Optionen aus: Analytisch: Wenn Sie den privaten Endpunkt für Azure Cosmos DB-Analysespeicher hinzufügen möchten. NoSQL (oder MongoDB): Wenn Sie einen OLTP- oder Transaktionskontoendpunkt hinzufügen möchten.
Hinweis
Sie können private Endpunkte sowohl für den Transaktionsspeicher als auch den Analysespeicher dem gleichen Azure Cosmos DB-Konto in einem Azure Synapse Analytics-Arbeitsbereich hinzufügen. Wenn Sie nur analytische Abfragen ausführen möchten, können Sie auch nur den analytischen privaten Endpunkt zuordnen.
Wechseln Sie nach dem Erstellen zum Namen des privaten Endpunkts, und wählen Sie Genehmigungen im Azure-Portal verwalten aus.
Navigieren Sie zu Ihrem Azure Cosmos DB-Konto, wählen Sie den privaten Endpunkt aus, und wählen Sie dann Genehmigen aus.
Navigieren Sie zurück zum Synapse Analytics-Arbeitsbereich, und klicken Sie im Bereich Verwaltete private Endpunkte auf Aktualisieren. Vergewissern Sie sich, dass der private Endpunkt den Status Genehmigt hat.
Verwenden von Apache Spark für Azure Synapse Analytics
Wenn Sie einen Azure Synapse-Arbeitsbereich mit aktiviertem Schutz vor Datenexfiltration erstellt haben, wird der ausgehende Zugriff von Synapse Spark auf Azure Cosmos DB-Konten standardmäßig blockiert. Wenn Azure Cosmos DB bereits über einen vorhandenen privaten Endpunkt verfügt, ist der Zugriff darauf für Synapse Spark ebenfalls blockiert.
Zum Genehmigen des Zugriffs auf Azure Cosmos DB-Daten führen Sie die folgenden Schritte aus:
Wenn Sie Azure Synapse Link zum Abfragen von Azure Cosmos DB-Daten verwenden, fügen Sie einen verwalteten analytischen privaten Endpunkt für das Azure Cosmos DB-Konto hinzu.
Wenn Sie Schreib-/Lesevorgänge in Batches und/oder Schreib-/Lesevorgänge per Streaming in den Transaktionsspeicher verwenden, fügen Sie einen verwalteten privaten SQL- oder MongoDB-Endpunkt für das Azure Cosmos DB-Konto hinzu. Außerdem sollten Sie connectionMode auf Gateway festlegen, wie im folgenden Codeausschnitt gezeigt:
# 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()
Verwenden serverloser Synapse-SQL-Pools
Serverlose Synapse-SQL-Pools nutzen Funktionen für mehrere Mandanten, die im verwalteten virtuellen Netzwerk nicht bereitgestellt werden. Wenn das Azure Cosmos DB-Konto über einen vorhandenen privaten Endpunkt verfügt, wird aufgrund von Überprüfungen der Netzwerkisolation für das Azure Cosmos DB-Konto der Zugriff vom serverlosen Synapse-SQL-Pool auf das Konto blockiert.
Zum Konfigurieren der Netzwerkisolation für dieses Konto über einen Synapse-Arbeitsbereich führen Sie die folgenden Schritte aus:
Gestatten Sie dem Synapse-Arbeitsbereich den Zugriff auf das Azure Cosmos DB-Konto, indem Sie die Einstellung
NetworkAclBypassResourceId
für das Konto angeben.Mithilfe von PowerShell
Update-AzCosmosDBAccount -Name MyCosmosDBDatabaseAccount -ResourceGroupName MyResourceGroup -NetworkAclBypass AzureServices -NetworkAclBypassResourceId "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Synapse/workspaces/wsName"
Mithilfe der 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"
Hinweis
Das Azure Cosmos DB-Konto und der Azure Synapse Analytics-Arbeitsbereich sollten zum selben Microsoft Entra-Mandanten gehören.
Sie können jetzt von serverlosen SQL-Pools auf das Konto zugreifen, indem Sie T-SQL-Abfragen über Azure Synapse Link verwenden. Um jedoch Netzwerkisolation für die Daten im Analysespeicher sicherzustellen, müssen Sie für dieses Konto einen analytischen verwalteten privaten Endpunkt hinzufügen. Andernfalls werden die Daten im Analysespeicher nicht für den öffentlichen Zugriff blockiert.
Wichtig
Wenn Sie Azure Synapse Link verwenden und Netzwerkisolation für Ihre Daten im Analysespeicher benötigen, müssen Sie das Azure Cosmos DB-Konto dem Synapse-Arbeitsbereich mithilfe eines analytischen verwalteten privaten Endpunkts zuordnen.
Nächste Schritte
- Erste Schritte beim Abfragen des Analysespeichers mit Azure Synapse Spark 3
- Erste Schritte beim Interagieren mit Azure Cosmos DB mithilfe von Apache Spark 2 in Azure Synapse Link
- Erste Schritte zum Abfragen des Analysespeichers mit serverlosen Azure Synapse-SQL-Pools