共用方式為


為 Azure Cosmos DB 分析存放區設定 Azure Private Link

重要事項

Synapse Link for Cosmos DB 已不再支援新專案。 不要使用這個功能。

請為 Microsoft Fabric 使用 Azure Cosmos DB 鏡像,該 Fabric 現在已是正式發行版。 鏡像提供相同的零 ETL 優勢,且與 Microsoft Fabric 完全整合。 想了解更多,請參閱 Cosmos DB 鏡像概覽

本文說明如何設定 Azure Cosmos DB 分析存放區的受控私人端點。 如果使用交易式存放區,請參閱交易式存放區的私人端點一文。 使用受控私人端點,可將 Azure Cosmos DB 分析存放區的網路存取限制為與 Azure Synapse workspace 相關聯的受控虛擬網路。 受控私人端點會建立與分析存放區的私人連線。

附註

如果使用 Azure Cosmos DB 的 Private DNS Zones,且要為分析存放區子資源建立 Synapse 受控私人端點,必須先建立分析存放區的 DNS 區域 (privatelink.analytics.cosmos.azure.com),並將其連結至 Azure Cosmos DB 的虛擬網路。

為分析存放區啟用私人端點

設定具有受控虛擬網路與資料外洩的 Azure Synapse Analytics 工作區

建立已啟用資料外洩的 Azure Synapse Analytics 工作區。 透過資料外洩防護,可確保惡意使用者無法將資料從 Azure 資源複製或傳輸到組織範圍之外的位置。

當 Azure Synapse Analytics 工作區啟用資料外洩防護時,適用下列存取限制:

  • 如果使用 Azure Synapse Analytics 的 Azure Spark,僅允許存取已核准的 Azure Cosmos DB 分析存放區受控私人端點。

  • 如果使用 Synapse 無伺服器 SQL 集區,則可使用 Azure Synapse Link 查詢任何 Azure Cosmos DB 帳戶。 不過,建立外部資料表作為選取 (CETAS) 的寫入要求,僅允許在工作區虛擬網路中已核准的受控私人端點上執行。

附註

建立工作區後,無法變更受控虛擬網路與資料外洩組態。

為 Azure Cosmos DB 分析存放區新增受控私人端點

附註

若要執行以下部分步驟,需要暫時變更 Azure Cosmos DB 帳戶的網路組態。 前往入口網站中的網路索引標籤,並選取接受來自公用 Azure 資料中心的連線新增 Azure 入口網站中介軟體 IP 選項。 完成私人端點的組態後,可以還原此動作並停用存取。

  1. 登入 Azure 入口網站

  2. 在 Azure 入口網站中瀏覽至 Synapse Analytics 工作區,並開啟概觀窗格。

  3. 開始使用窗格中選取開啟,於開啟 Synapse Studio 底下啟動 Synapse Studio。

  4. 在 Synapse Studio 中,開啟管理索引標籤。

  5. 瀏覽至受控私人端點,然後選取新增

    為分析存放區建立新的私人端點。

  6. 選取 Azure Cosmos DB (適用於 NoSQL 的 API) 帳戶類型>繼續

    選取 Azure Cosmos DB API for NoSQL 以建立私人端點。

  7. 填寫新增受控私人端點表單,包含下列詳細資料:

    • 名稱 - 受控私人端點的名稱。 建立之後即無法更新此名稱。
    • 描述 - 提供可識別私人端點的自訂描述。
    • Azure 訂用帳戶 - 從 Azure 訂用帳戶中的可用帳戶清單選取 Azure Cosmos DB 帳戶。
    • Azure Cosmos DB 帳戶名稱 - 選取現有的 SQL 或 MongoDB 類型 Azure Cosmos DB 帳戶。
    • 目標子資源 - 選取下列其中一個選項:分析:用於新增 Azure Cosmos DB 分析存放區的私人端點。 NoSQL (或 MongoDB):用於新增 OLTP 或交易式帳戶端點。

    附註

    可以在 Azure Synapse Analytics 工作區中,為同一個 Azure Cosmos DB 帳戶同時新增交易式存放區與分析存放區的私人端點。 如果您只想要執行分析查詢,建議您只對應分析私用端點即可。

    請針對目標子資源選擇分析。

  8. 建立完成後,前往私人端點名稱,並選取在 Azure 入口網站中管理核准

  9. 瀏覽至 Azure Cosmos DB 帳戶,選取私人端點,然後選取核准

  10. 返回 Synapse Analytics 工作區,並在受控私人端點窗格上按一下重新整理。 確認私人端點處於已核准狀態。

    確認私人端點已核准。

使用 Apache Spark for Azure Synapse Analytics

如果您建立 Azure Synapse workspace 時已啟用資料外洩防護,預設會封鎖 Synapse Spark 對 Azure Cosmos DB 帳戶的傳出存取。 此外,如果 Azure Cosmos DB 已有現有的私人端點,Synapse Spark 也會被封鎖而無法存取。

若要允許存取 Azure Cosmos DB 資料:

  • 如果您使用 Azure Synapse Link 來查詢 Azure Cosmos DB 資料,請為 Azure Cosmos DB 帳戶新增受控分析私人端點。

  • 如果您使用批次寫入或讀取及或串流寫入或讀取交易式存放區,請為 Azure Cosmos DB 帳戶新增受控 SQLMongoDB 私人端點。 此外,您也應將 connectionMode 設定為 Gateway,如下列程式碼片段所示:

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

使用 Synapse 無伺服器 SQL 集區

Synapse 無伺服器 SQL 集區使用未部署於受控虛擬網路中的多租用戶功能。 如果 Azure Cosmos DB 帳戶已有現有的私人端點,Synapse 無伺服器 SQL 集區將因 Azure Cosmos DB 帳戶上的網路隔離檢查而被封鎖,無法存取該帳戶。

若要從 Synapse 工作區為此帳戶設定網路隔離:

  1. 在帳戶上指定 NetworkAclBypassResourceId 設定,以允許 Synapse 工作區存取 Azure Cosmos DB 帳戶。

    使用 PowerShell

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

    使用 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"
    

    附註

    Azure Cosmos DB 帳戶與 Azure Synapse Analytics 工作區必須位於同一個 Microsoft Entra 租用戶之下。

  2. 您現在可以從無伺服器 SQL 集區,使用 Azure Synapse Link 透過 T-SQL 查詢來存取該帳戶。 不過,為了確保分析存放區中資料的網路隔離,您必須為此帳戶新增分析受控私人端點。 否則,分析存放區中的資料將不會被阻止公開存取。

重要事項

如果您使用 Azure Synapse Link,且需要分析存放區中資料的網路隔離,則必須使用分析受控私人端點,將 Azure Cosmos DB 帳戶對應至 Synapse 工作區。

後續步驟