Mengamankan data lakehouse dengan Azure Synapse Analytics

Azure Synapse Analytics
Azure Data Lake Storage
Azure Virtual Network
Power BI

Artikel ini menjelaskan proses desain, prinsip, dan pilihan teknologi untuk menggunakan Azure Synapse untuk membangun solusi data lakehouse yang aman. Kami fokus pada pertimbangan keamanan dan keputusan teknis utama.

Apache®, Apache Spark®, dan logo api adalah merek dagang terdaftar atau merek dagang dari Apache Software Foundation di Amerika Serikat dan/atau negara lain. Tidak ada dukungan oleh The Apache Software Foundation yang tersirat oleh penggunaan tanda ini.

Arsitektur

Diagram berikut menunjukkan arsitektur solusi data lakehouse. Ini dirancang untuk mengontrol interaksi di antara layanan untuk mengurangi ancaman keamanan. Solusi akan bervariasi tergantung pada persyaratan fungsional dan keamanan.

Diagram that shows the detailed architecture.

Unduh file Visio arsitektur ini.

Aliran data

Aliran data untuk solusi diperlihatkan dalam diagram berikut:

Diagram that shows the data flow in the solution.

  1. Data diunggah dari sumber data ke zona pendaratan data, baik ke penyimpanan Azure Blob atau ke berbagi file yang disediakan oleh Azure Files. Data diunggah oleh program atau sistem pengunggah batch. Data streaming diambil dan disimpan di Blob Storage dengan menggunakan fitur Tangkap Azure Event Hubs. Mungkin ada beberapa sumber data. Misalnya, beberapa pabrik yang berbeda dapat mengunggah data operasi mereka. Untuk informasi tentang mengamankan akses ke Blob Storage, berbagi file, dan sumber daya penyimpanan lainnya, lihat Rekomendasi keamanan untuk Blob Storage dan Perencanaan untuk penyebaran Azure Files.
  2. Kedatangan file data memicu Azure Data Factory untuk memproses data dan menyimpannya di data lake di zona data inti. Mengunggah data ke zona data inti di Azure Data Lake melindungi dari penyelundupan data.
  3. Azure Data Lake menyimpan data mentah yang diperoleh dari berbagai sumber. Ini dilindungi oleh aturan firewall dan jaringan virtual. Ini memblokir semua upaya koneksi yang berasal dari internet publik.
  4. Kedatangan data di data lake memicu alur Azure Synapse, atau pemicu berwaktu menjalankan pekerjaan pemrosesan data. Apache Spark di Azure Synapse diaktifkan dan menjalankan pekerjaan atau notebook Spark. Ini juga mengatur aliran proses data di data lakehouse. Alur Azure Synapse mengonversi data dari zona Perunggu ke Zona Perak lalu ke Zona Emas.
  5. Pekerjaan atau buku catatan Spark menjalankan pekerjaan pemrosesan data. Kurasi data atau pekerjaan pelatihan pembelajaran mesin juga dapat berjalan di Spark. Data terstruktur di zona emas disimpan dalam format Delta Lake .
  6. Kumpulan SQL tanpa server membuat tabel eksternal yang menggunakan data yang disimpan di Delta Lake. Kumpulan SQL tanpa server menyediakan mesin kueri SQL yang kuat dan efisien dan dapat mendukung akun pengguna SQL tradisional atau akun pengguna Microsoft Entra.
  7. Power BI tersambung ke kumpulan SQL tanpa server untuk memvisualisasikan data. Ini membuat laporan atau dasbor menggunakan data di data lakehouse.
  8. Analis data atau ilmuwan dapat masuk ke Azure Synapse Studio untuk:
    • Tingkatkan data lebih lanjut.
    • Analisis untuk mendapatkan wawasan bisnis.
    • Latih model pembelajaran mesin.
  9. Aplikasi bisnis terhubung ke kumpulan SQL tanpa server dan menggunakan data untuk mendukung persyaratan operasi bisnis lainnya.
  10. Azure Pipelines menjalankan proses CI/CD yang secara otomatis membangun, menguji, dan menyebarkan solusi. Ini dirancang untuk meminimalkan intervensi manusia selama proses penyebaran.

Komponen

Berikut ini adalah komponen utama dalam solusi data lakehouse ini:

Alternatif

  • Jika Anda memerlukan pemrosesan data real time, alih-alih menyimpan file individual di zona pendaratan data, gunakan Apache Structured Streaming untuk menerima aliran data dari Azure Event Hubs dan memprosesnya.
  • Jika data memiliki struktur yang kompleks dan memerlukan kueri SQL yang kompleks, pertimbangkan untuk menyimpannya di kumpulan SQL khusus alih-alih kumpulan SQL tanpa server.
  • Jika data berisi banyak struktur data hierarkis—misalnya, data tersebut memiliki struktur JSON besar—Anda mungkin ingin menyimpannya di Azure Synapse Data Explorer.

Detail skenario

Azure Synapse Analytics adalah platform data serbaguna yang mendukung pergudangan data perusahaan, analitik data real-time, alur, pemrosesan data rangkaian waktu, pembelajaran mesin, dan tata kelola data. Untuk mendukung kemampuan ini, ia mengintegrasikan beberapa teknologi yang berbeda, seperti:

  • Pergudangan data perusahaan
  • Kumpulan SQL tanpa server
  • Apache Spark
  • Pipelines
  • Data Explorer
  • Kemampuan pembelajaran mesin
  • Tata kelola data terpadu Purview

Diagram that shows Azure Synapse Analytics and its components, capabilities, and applications.

Kemampuan ini membuka banyak kemungkinan, tetapi ada banyak pilihan teknis yang harus dibuat untuk mengonfigurasi infrastruktur dengan aman untuk penggunaan yang aman.

Artikel ini menjelaskan proses desain, prinsip, dan pilihan teknologi untuk menggunakan Azure Synapse untuk membangun solusi data lakehouse yang aman. Kami fokus pada pertimbangan keamanan dan keputusan teknis utama. Solusi ini menggunakan layanan Azure ini:

Tujuannya adalah untuk memberikan panduan tentang membangun platform data lakehouse yang aman dan hemat biaya untuk penggunaan perusahaan dan membuat teknologi bekerja sama dengan lancar dan aman.

Kemungkinan kasus penggunaan

Data lakehouse adalah arsitektur manajemen data modern yang menggabungkan fitur efisiensi biaya, skala, dan fleksibilitas data lake dengan kemampuan manajemen data dan transaksi gudang data. Data lakehouse dapat menangani sejumlah besar data dan mendukung kecerdasan bisnis dan skenario pembelajaran mesin. Ini juga dapat memproses data dari beragam struktur data dan sumber data. Untuk informasi selengkapnya, lihat Apa itu Databricks Lakehouse?.

Beberapa kasus penggunaan umum untuk solusi yang dijelaskan di sini adalah:

  • Analisis telemetri Internet of Things (IoT)
  • Otomatisasi pabrik pintar (untuk manufaktur)
  • Melacak aktivitas dan perilaku konsumen (untuk ritel)
  • Mengelola insiden dan peristiwa keamanan
  • Memantau log aplikasi dan perilaku aplikasi
  • Pemrosesan dan analisis bisnis data semi terstruktur

Desain tingkat tinggi

Solusi ini berfokus pada desain keamanan dan praktik implementasi dalam arsitektur. Kumpulan SQL tanpa server, Apache Spark di Azure Synapse, alur Azure Synapse, Data Lake Storage, dan Power BI adalah layanan utama yang digunakan untuk mengimplementasikan pola data lakehouse.

Berikut adalah arsitektur desain solusi tingkat tinggi:

Diagram that shows high-level data lakehouse solution design architecture.

Pilih fokus keamanan

Kami memulai desain keamanan dengan menggunakan alat Pemodelan Ancaman. Alat ini membantu kami:

  • Berkomunikasi dengan pemangku kepentingan sistem tentang potensi risiko.
  • Tentukan batas kepercayaan dalam sistem.

Berdasarkan hasil pemodelan ancaman, kami menjadikan area keamanan berikut sebagai prioritas utama kami:

  • Kontrol Identitas dan Akses
  • Perlindungan jaringan
  • Keamanan Azure DevOps

Kami merancang fitur keamanan dan perubahan infrastruktur untuk melindungi sistem dengan mengurangi risiko keamanan utama yang diidentifikasi dengan prioritas utama ini.

Untuk detail tentang apa yang harus diperiksa dan dipertimbangkan, lihat:

Paket perlindungan jaringan dan aset

Salah satu prinsip keamanan utama dalam Kerangka Kerja Adopsi Cloud adalah prinsip Zero Trust: saat merancang keamanan untuk komponen atau sistem apa pun, kurangi risiko penyerang memperluas akses mereka dengan asumsi bahwa sumber daya lain dalam organisasi disusupi.

Berdasarkan hasil pemodelan ancaman, solusi mengadopsi rekomendasi penyebaran segmentasi mikro dalam kepercayaan nol dan menentukan beberapa batas keamanan. Perlindungan eksfiltrasi data Azure Virtual Network dan Azure Synapse adalah teknologi utama yang digunakan untuk menerapkan batas keamanan untuk melindungi aset data dan komponen penting.

Karena Azure Synapse terdiri dari beberapa teknologi yang berbeda, kita perlu:

  • Identifikasi komponen Synapse dan layanan terkait yang digunakan dalam proyek.

    Azure Synapse adalah platform data serbaguna yang dapat menangani berbagai kebutuhan pemrosesan data. Pertama, kita perlu memutuskan komponen mana di Azure Synapse yang digunakan dalam proyek sehingga kita dapat merencanakan cara melindunginya. Kita juga perlu menentukan layanan lain apa yang berkomunikasi dengan komponen Azure Synapse ini.

    Dalam arsitektur data lakehouse, komponen utamanya adalah:

    • SQL tanpa server Azure Synapse
    • Apache Spark di Azure Synapse
    • Alur Azure Synapse
    • Azure Data Lake Storage
    • Azure DevOps
  • Tentukan perilaku komunikasi hukum antara komponen.

    Kita perlu menentukan perilaku komunikasi yang diizinkan antara komponen. Misalnya, apakah kita ingin mesin Spark berkomunikasi dengan instans SQL khusus secara langsung, atau apakah kita ingin berkomunikasi melalui proksi seperti alur Azure Synapse Integrasi Data atau Data Lake Storage?

    Berdasarkan prinsip Zero Trust, kami memblokir komunikasi jika tidak ada kebutuhan bisnis untuk interaksi. Misalnya, kami memblokir mesin Spark yang berada di penyewa yang tidak dikenal agar tidak berkomunikasi langsung dengan penyimpanan Data Lake.

  • Pilih solusi keamanan yang tepat untuk menegakkan perilaku komunikasi yang ditentukan.

    Di Azure, beberapa teknologi keamanan dapat memberlakukan perilaku komunikasi layanan yang ditentukan. Misalnya, di Data Lake Storage Anda dapat menggunakan daftar alamat IP yang diizinkan untuk mengontrol akses ke data lake, tetapi Anda juga dapat memilih jaringan virtual, layanan Azure, dan instans sumber daya mana yang diizinkan. Setiap metode perlindungan memberikan perlindungan keamanan yang berbeda. Pilih berdasarkan kebutuhan bisnis dan keterbatasan lingkungan. Konfigurasi yang digunakan dalam solusi ini dijelaskan di bagian berikutnya.

  • Terapkan deteksi ancaman dan pertahanan tingkat lanjut untuk sumber daya penting.

    Untuk sumber daya penting, sebaiknya terapkan deteksi ancaman dan pertahanan tingkat lanjut. Layanan ini membantu mengidentifikasi ancaman dan memicu pemberitahuan, sehingga sistem dapat memberi tahu pengguna tentang pelanggaran keamanan.

Pertimbangkan teknik berikut untuk melindungi jaringan dan aset dengan lebih baik:

  • Menyebarkan jaringan perimeter untuk menyediakan zona keamanan untuk alur data

    Ketika beban kerja alur data memerlukan akses ke data eksternal dan zona pendaratan data, yang terbaik adalah menerapkan jaringan perimeter dan memisahkannya dengan alur ekstrak, transformasi, dan pemuatan (ETL).

  • Mengaktifkan Defender untuk Cloud untuk semua akun penyimpanan

    Defender untuk Cloud memicu pemberitahuan keamanan ketika mendeteksi upaya yang tidak biasa dan berpotensi berbahaya untuk mengakses atau mengeksploitasi akun penyimpanan. Untuk informasi selengkapnya, lihat Mengonfigurasi Pertahanan Microsoft untuk Penyimpanan.

  • Mengunci akun penyimpanan untuk mencegah penghapusan atau perubahan konfigurasi berbahaya

    Untuk informasi selengkapnya, lihat Terapkan kunci Azure Resource Manager ke akun penyimpanan.

Arsitektur dengan perlindungan jaringan dan aset

Tabel berikut menjelaskan perilaku komunikasi dan teknologi keamanan yang ditentukan yang dipilih untuk solusi ini. Pilihan didasarkan pada metode yang dibahas dalam Jaringan dan rencana perlindungan aset.

Dari (Klien) Ke (Layanan) Perilaku Konfigurasi Catatan
Internet Azure Data Lake Storage Tolak semua Aturan firewall - Penolakan default Default: 'Tolak' Aturan firewall - Tolak Default
Alur/Spark Azure Synapse Azure Data Lake Storage Izinkan (instans) Jaringan virtual - Titik akhir privat terkelola (Data Lake Storage)
Synapse SQL Azure Data Lake Storage Izinkan (instans) Aturan firewall - Instans sumber daya (Synapse SQL) Synapse SQL perlu mengakses Data Lake Storage menggunakan identitas terkelola
Agen Azure Pipelines Azure Data Lake Storage Izinkan (instans) Aturan firewall - Jaringan virtual yang dipilih
Titik akhir layanan - Penyimpanan
Untuk pengujian integrasi
bypass: 'AzureServices' (aturan firewall)
Internet Ruang kerja Synapse Tolak semua Aturan Firewall
Agen Azure Pipelines Ruang kerja Synapse Izinkan (instans) Jaringan virtual - titik akhir privat Memerlukan tiga titik akhir privat (Dev, SQL tanpa server, dan SQL khusus)
Jaringan virtual terkelola Synapse Internet atau penyewa Azure yang tidak sah Tolak semua Jaringan virtual - Perlindungan penyelundupan data Synapse
Alur/Spark Synapse Key Vault Izinkan (instans) Jaringan virtual - Titik akhir privat terkelola (Key Vault) Default: 'Tolak'
Agen Azure Pipelines Key Vault Izinkan (instans) Aturan firewall - Jaringan virtual yang dipilih
* Titik akhir layanan - Key Vault
bypass: 'AzureServices' (aturan firewall)
Azure Functions SQL tanpa server Synapse Izinkan (instans) Jaringan virtual - Titik akhir privat (SqL tanpa server Synapse)
Alur/Spark Synapse Azure Monitor Izinkan (instans) Jaringan virtual - Titik akhir privat (Azure Monitor)

Misalnya, dalam rencana kita ingin:

  • Buat ruang kerja Azure Synapse dengan jaringan virtual terkelola.
  • Mengamankan keluarnya data dari ruang kerja Azure Synapse dengan menggunakan ruang kerja Azure Synapse Perlindungan eksfiltrasi data.
  • Kelola daftar penyewa Microsoft Entra yang disetujui untuk ruang kerja Azure Synapse.
  • Konfigurasikan aturan jaringan untuk memberikan lalu lintas ke akun Storage dari jaringan virtual yang dipilih, hanya akses, dan nonaktifkan akses jaringan publik.
  • Gunakan Titik Akhir Privat Terkelola untuk menyambungkan jaringan virtual yang dikelola oleh Azure Synapse ke data lake.
  • Gunakan Instans Sumber Daya untuk menyambungkan Azure Synapse SQL dengan aman ke data lake.

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat Anda gunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.

Keamanan

Untuk informasi tentang pilar keamanan Well-Architected Framework, lihat Keamanan.

Identitas dan Access Control

Ada beberapa komponen dalam sistem. Masing-masing memerlukan konfigurasi manajemen identitas dan akses (IAM) yang berbeda. Konfigurasi ini perlu berkolaborasi untuk memberikan pengalaman pengguna yang disederhanakan. Oleh karena itu, kami menggunakan panduan desain berikut ketika kami menerapkan kontrol identitas dan akses.

  • Pilih solusi identitas untuk lapisan kontrol akses yang berbeda

    • Ada empat solusi identitas yang berbeda dalam sistem.
      • Akun SQL (SQL Server)
      • Perwakilan layanan (ID Microsoft Entra)
      • Identitas terkelola (ID Microsoft Entra)
      • Akun Pengguna (ID Microsoft Entra)
    • Ada empat lapisan kontrol akses yang berbeda dalam sistem.
      • Lapisan akses aplikasi: pilih solusi identitas untuk Peran AP.
      • Lapisan akses Azure Synapse DB/Table: pilih solusi identitas untuk peran dalam database.
      • Lapisan sumber daya eksternal akses Azure Synapse: pilih solusi identitas untuk mengakses sumber daya eksternal.
      • Lapisan akses Data Lake Storage: pilih solusi identitas untuk mengontrol akses file di penyimpanan.

    Diagram that shows Azure Synapse Analytics and its capabilities.

    Bagian penting dari identitas dan kontrol akses adalah memilih solusi identitas yang tepat untuk setiap lapisan kontrol akses. Prinsip desain keamanan Azure Well-Architected Framework menyarankan penggunaan kontrol asli dan kesederhanaan mengemudi. Oleh karena itu, solusi ini menggunakan Akun pengguna Microsoft Entra pengguna akhir dalam aplikasi dan lapisan akses Azure Synapse DB. Ini memanfaatkan solusi IAM pihak pertama asli dan menyediakan kontrol akses menenangkan. Lapisan sumber daya eksternal akses Azure Synapse dan lapisan akses Data Lake menggunakan identitas terkelola di Azure Synapse untuk menyederhanakan proses otorisasi.

  • Pertimbangkan akses dengan hak istimewa paling sedikit

    Prinsip panduan Zero Trust menyarankan penyediaan akses just-in-time dan just-enough ke sumber daya penting. Lihat Microsoft Entra Privileged Identity Management (PIM) untuk meningkatkan keamanan di masa mendatang.

  • Lindungi layanan tertaut

    Layanan tertaut menentukan informasi koneksi yang diperlukan agar layanan tersambung ke sumber daya eksternal. Penting untuk mengamankan konfigurasi layanan tertaut.

Penilaian skor keamanan dan deteksi ancaman

Untuk memahami status keamanan sistem, solusi menggunakan Microsoft Defender untuk Cloud untuk menilai keamanan infrastruktur dan mendeteksi masalah keamanan. Microsoft Defender for Cloud adalah alat untuk manajemen postur keamanan dan perlindungan terhadap ancaman. Ini dapat melindungi beban kerja yang berjalan di Azure, hibrid, dan platform cloud lainnya.

Diagram that shows Azure Synapse and its capabilities.

Anda secara otomatis mengaktifkan paket gratis Defender untuk Cloud di semua langganan Azure saat pertama kali mengunjungi halaman Defender untuk Cloud di portal Azure. Kami sangat menyarankan Anda mengaktifkannya untuk mendapatkan evaluasi dan saran postur keamanan Cloud Anda. Microsoft Defender untuk Cloud akan memberikan skor keamanan Anda dan beberapa panduan pengerasan keamanan untuk langganan Anda.

Diagram that shows Azure Synapse and its capabilities.

Jika solusi membutuhkan manajemen keamanan tingkat lanjut dan kemampuan deteksi ancaman seperti deteksi dan pemberitahuan aktivitas yang mencurigakan, Anda dapat mengaktifkan perlindungan beban kerja cloud satu per satu untuk sumber daya yang berbeda.

Pengoptimalan biaya

Untuk informasi tentang pilar pengoptimalan biaya Kerangka Kerja Well-Architected, lihat Pengoptimalan biaya.

Manfaat utama dari solusi data lakehouse adalah efisiensi biaya dan arsitekturnya yang dapat diskalakan. Sebagian besar komponen dalam solusi menggunakan penagihan berbasis konsumsi dan akan menskalakan otomatis. Dalam solusi ini, semua data disimpan di Data Lake Storage. Anda hanya membayar untuk menyimpan data jika Anda tidak menjalankan kueri atau memproses data apa pun.

Harga untuk solusi ini tergantung pada penggunaan sumber daya utama berikut:

  • Azure Synapse Serverless SQL: gunakan tagihan berbasis konsumsi, bayar hanya untuk apa yang Anda gunakan.
  • Apache Spark di Azure Synapse: gunakan tagihan berbasis konsumsi, bayar hanya untuk apa yang Anda gunakan.
  • Azure Synapse Pipelines: gunakan tagihan berbasis konsumsi, bayar hanya untuk apa yang Anda gunakan.
  • Azure Data Lakes: gunakan tagihan berbasis konsumsi, bayar hanya untuk apa yang Anda gunakan.
  • Power BI: biaya didasarkan pada lisensi mana yang Anda beli.
  • Private Link: gunakan tagihan berbasis konsumsi, bayar hanya untuk apa yang Anda gunakan.

Solusi perlindungan keamanan yang berbeda memiliki mode biaya yang berbeda. Anda harus memilih solusi keamanan berdasarkan kebutuhan bisnis dan biaya solusi Anda.

Anda dapat menggunakan Kalkulator Harga Azure untuk memperkirakan biaya solusi.

Keunggulan operasional

Untuk informasi tentang pilar keunggulan operasional Kerangka Kerja Well-Architected, lihat Keunggulan operasional.

Menggunakan agen alur yang dihost sendiri yang diaktifkan jaringan virtual untuk layanan CI/CD

Agen alur Azure DevOps default tidak mendukung komunikasi jaringan virtual karena menggunakan rentang alamat IP yang sangat luas. Solusi ini mengimplementasikan agen yang dihost sendiri Azure DevOps di jaringan virtual sehingga proses DevOps dapat berkomunikasi dengan lancar dengan layanan lain dalam solusi. String koneksi dan rahasia untuk menjalankan layanan CI/CD disimpan dalam brankas kunci independen. Selama proses penyebaran, agen yang dihost sendiri mengakses brankas kunci di zona data inti untuk memperbarui konfigurasi dan rahasia sumber daya. Untuk informasi selengkapnya, lihat dokumen Menggunakan brankas kunci terpisah. Solusi ini juga menggunakan set skala VM untuk memastikan bahwa mesin DevOps dapat secara otomatis meningkatkan dan menurunkan skala berdasarkan beban kerja.

Diagram that shows Azure Synapse Analytics and its capabilities.

Menerapkan pemindaian keamanan infrastruktur dan pengujian asap keamanan di alur CI/CD

Alat analisis statis untuk memindai file infrastruktur sebagai kode (IaC) dapat membantu mendeteksi dan mencegah kesalahan konfigurasi yang dapat menyebabkan masalah keamanan atau kepatuhan. Pengujian asap keamanan memastikan bahwa langkah-langkah keamanan sistem vital berhasil diaktifkan, melindungi dari kegagalan penyebaran.

  • Gunakan alat analisis statis untuk memindai templat infrastruktur sebagai kode (IaC) untuk mendeteksi dan mencegah kesalahan konfigurasi yang dapat menyebabkan masalah keamanan atau kepatuhan. Gunakan alat seperti Checkov atau Terrascan untuk mendeteksi dan mencegah risiko keamanan.
  • Pastikan alur CD menangani kegagalan penyebaran dengan benar. Setiap kegagalan penyebaran yang terkait dengan fitur keamanan harus diperlakukan sebagai kegagalan kritis. Alur harus mencoba kembali tindakan yang gagal atau menahan penyebaran.
  • Validasi langkah-langkah keamanan dalam alur penyebaran dengan menjalankan pengujian asap keamanan. Pengujian asap keamanan, seperti memvalidasi status konfigurasi sumber daya yang disebarkan atau kasus pengujian yang memeriksa skenario keamanan penting, dapat memastikan bahwa desain keamanan berfungsi seperti yang diharapkan.

Kontributor

Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

  • Herman Wu | Insinyur Perangkat Lunak Senior

Kontributor lain:

  • Ian Chen | Prospek Insinyur Perangkat Lunak Utama
  • Jose Contreras | Rekayasa Perangkat Lunak Utama
  • Roy Chan | Manajer Insinyur Perangkat Lunak Utama

Langkah berikutnya