Mengonfigurasi penyimpanan analitik Azure Private Link for Azure Cosmos DB

BERLAKU UNTUK: Nosql MongoDB Gremlin

Dalam artikel ini, Anda akan mempelajari cara menyiapkan titik akhir privat terkelola untuk penyimpanan analitik Azure Cosmos DB. Jika Anda menggunakan penyimpanan transaksional, lihat Titik akhir privat untuk artikel penyimpanan transaksional. Menggunakan titik akhir privat terkelola, Anda dapat membatasi akses jaringan penyimpanan analitik Azure Cosmos DB Anda, ke Jaringan Virtual Terkelola yang terkait dengan ruang kerja Azure Synapse Anda. Titik akhir privat terkelola membuat tautan pribadi ke penyimpanan analitik Anda.

Catatan

Jika Anda menggunakan Zona DNS Privat untuk Azure Cosmos DB dan ingin membuat titik akhir privat terkelola Synapse ke sub-sumber daya penyimpanan analitik, Anda harus terlebih dahulu membuat zona DNS untuk penyimpanan analitik (privatelink.analytics.cosmos.azure.com) yang ditautkan ke jaringan virtual Azure Cosmos DB Anda.

Mengaktifkan titik akhir privat untuk penyimpanan analitik

Menyiapkan ruang kerja Azure Synapse Analytics dengan jaringan virtual terkelola penyelundupan data

Buat ruang kerja di Azure Synapse Analytics dengan penyelundupan data diaktifkan. Dengan perlindungan eksfiltrasi data, Anda dapat memastikan bahwa pengguna jahat tidak dapat menyalin atau mentransfer data dari sumber daya Azure Anda ke lokasi di luar lingkup organisasi Anda.

Pembatasan akses berikut ini berlaku saat perlindungan pengeksfiltrasi data diaktifkan untuk ruang kerja Azure Synapse Analytics:

  • Jika Anda menggunakan Azure Spark untuk Azure Synapse Analytics, akses hanya diperbolehkan ke titik akhir privat terkelola yang disetujui untuk penyimpanan analitik Azure Cosmos DB.

  • Jika Anda menggunakan kumpulan SQL tanpa server Synapse, Anda dapat meminta akun Azure Cosmos DB apa pun menggunakan Azure Synapse Link. Namun, permintaan tulis yang membuat tabel eksternal sebagai pilih (CETAS) hanya diizinkan untuk mengelola titik akhir privat yang disetujui di jaringan virtual ruang kerja.

Catatan

Anda tidak dapat mengubah jaringan virtual terkelola dan konfigurasi eksfiltrasi data setelah ruang kerja dibuat.

Menambahkan titik akhir privat terkelola untuk penyimpanan analitik Azure Cosmos DB

  1. Masuk ke portal Azure.

  2. Dari portal Microsoft Azure, navigasi ke ruang kerja Synapse Analytics Anda dan buka panel Gambaran Umum.

  3. Luncurkan Studio Synapse dengan menavigasi ke panel Memulai dan pilih Buka di bawah Buka Studio Synapse.

  4. Di Studio Synapse, buka tab Kelola.

  5. Menavigasi ke titik akhir privat terkelola dan pilih Baru

    Create a new private endpoint for analytical store.

  6. Pilih jenis >akun Azure Cosmos DB (API for NoSQL) Lanjutkan.

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

  7. Isi formulir Titik Akhir privat yang dikelola baru dengan detail berikut ini:

    • Nama - Nama untuk titik akhir privat terkelola Anda. Nama ini tak bisa diperbarui setelah dibuat.
    • Deskripsi - Berikan deskripsi yang ramah untuk mengidentifikasi titik akhir privat Anda.
    • Langganan Azure - Pilih akun Azure Cosmos DB dari daftar akun yang tersedia di langganan Azure Anda.
    • Nama akun Azure Cosmos DB - Pilih akun Azure Cosmos DB yang sudah ada dari tipe SQL atau MongoDB.
    • Sub-sumber daya target - Pilih salah satu opsi berikut: Analitik: Jika Anda ingin menambahkan titik akhir privat untuk penyimpanan analitik Azure Cosmos DB. NoSQL (atau MongoDB): Jika Anda ingin menambahkan OLTP atau titik akhir akun transaksi.

    Catatan

    Anda dapat menambahkan transactional store dan titik akhir privat analytical store ke akun Azure Cosmos DB yang sama di ruang kerja Azure Synapse Analytics. Jika Anda hanya ingin menjalankan kueri analitik, Anda mungkin hanya ingin memetakan titik akhir privat analitik.

    Choose analytical for the target subresource.

  8. Setelah membuat, buka nama titik akhir privat dan pilih Kelola persetujuan di portal Microsoft Azure.

  9. Navigasi ke akun Azure Cosmos DB Anda, pilih titik akhir privat, dan pilih Setujui.

  10. Navigasi kembali ke ruang kerja Synapse Analytics dan klik Refresh di panel Titik akhir privat terkelola. Verifikasi bahwa titik akhir privat berada dalam status Disetujui.

    Verify that the private endpoint is approved.

Menggunakan Apache Spark untuk Azure Synapse Analytics

Jika Anda membuat ruang kerja Azure Synapse dengan perlindungan eksfiltrasi data diaktifkan, akses keluar dari akun Synapse Spark ke Azure Cosmos DB akan diblokir, secara default. Selain itu, jika Azure Cosmos DB sudah memiliki titik akhir privat yang ada, Synapse Spark akan diblokir untuk mengaksesnya.

Untuk mengizinkan akses ke data Azure Cosmos DB:

  • Jika Anda menggunakan Azure Synapse Link untuk mengkueri data Azure Cosmos DB, tambahkan titik akhir privat analitik terkelola untuk akun Azure Cosmos DB.

  • Jika Anda menggunakan penulisan/bacaan batch dan/atau streaming menulis/membaca ke penyimpanan transaksional, tambahkan titik akhir privat SQL atau MongoDB terkelola untuk akun Azure Cosmos DB. Selain itu, Anda juga harus mengatur connectionMode ke Gateway seperti yang diperlihatkan dalam cuplikan kode berikut:

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

Menggunakan kumpulan SQL tanpa server Synapse

Kumpulan SQL tanpa server Synapse menggunakan kemampuan multi-penyewa yang tidak digunakan ke jaringan virtual terkelola. Jika akun Azure Cosmos DB memiliki titik akhir privat yang ada, kumpulan SQL tanpa server Synapse akan diblokir agar tidak mengakses akun, karena pemeriksaan isolasi jaringan pada akun DB Azure Cosmos.

Untuk mengonfigurasi isolasi jaringan untuk akun ini dari ruang kerja Synapse:

  1. Izinkan ruang kerja Synapse untuk mengakses akun Azure Cosmos DB dengan NetworkAclBypassResourceId menentukan pengaturan pada akun.

    Menggunakan PowerShell

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

    Menggunakan 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"
    

    Catatan

    Akun Azure Cosmos DB dan ruang kerja Azure Synapse Analytics harus berada di bawah penyewa Microsoft Entra yang sama.

  2. Sekarang Anda dapat mengakses akun dari kumpulan SQL tanpa server, menggunakan kueri T-SQL melalui Azure Synapse Link. Namun, untuk memastikan isolasi jaringan untuk data di penyimpanan analitik, Anda harus menambahkan titik akhir privat terkelola analitik untuk akun ini. Jika tidak, data di penyimpanan analitik tidak akan diblokir dari akses publik.

Penting

Jika Anda menggunakan Azure Synapse Link dan memerlukan isolasi jaringan untuk data Anda di penyimpanan analitik, Anda harus memetakan akun Azure Cosmos DB ke ruang kerja Synapse menggunakan titik akhir privat terkelola Analytical.

Langkah berikutnya