Pertimbangan keamanan untuk pergerakan data di Azure Data Factory

BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Artikel ini menjelaskan infrastruktur keamanan dasar yang digunakan layanan pergerakan data di Azure Data Factory untuk mengamankan data Anda. Sumber daya manajemen Data Factory dibangun di atas infrastruktur keamanan Azure dan menggunakan semua langkah keamanan yang mungkin ditawarkan oleh Azure.

Dalam solusi Azure Data Factory, Anda membuat satu atau beberapa alur data. Alur adalah pengelompokan aktivitas logis yang bersama-sama melakukan tugas. Alur ini berada di wilayah tempat pabrik data dibuat.

Meskipun Data Factory hanya tersedia di beberapa wilayah, layanan pergerakan data tersedia secara global untuk memastikan kepatuhan data, efisiensi, dan mengurangi biaya keluar jaringan.

Azure Data Factory termasuk Integration Runtime Azure dan Self-Hosted Integration Runtime, tidak menyimpan data sementara, data cache, atau log kecuali kredensial layanan tertaut untuk penyimpanan data cloud, yang dienkripsi dengan menggunakan sertifikat. Dengan Data Factory, Anda membuat alur kerja berbasis data untuk mengatur pergerakan data antara penyimpanan data yang didukung, dan pemrosesan data dengan menggunakan layanan komputasi di wilayah lain atau di lingkungan lokal. Anda juga dapat memantau dan mengelola alur kerja dengan menggunakan SDK dan Azure Monitor.

Data Factory telah disertifikasi untuk:

Sertifikasi CSA STAR
ISO 20000-1:2011
ISO 22301:2012
ISO 27001:2013
ISO 27017:2015
ISO 27018:2014
ISO 9001:2015
SOC 1, 2, 3
HIPAA BAA
HITRUST

Jika Anda tertarik dengan kepatuhan Azure dan bagaimana Azure mengamankan infrastrukturnya sendiri, kunjungi Microsoft Trust Center. Untuk daftar terbaru dari semua penawaran Azure Compliance, periksa - https://aka.ms/AzureCompliance.

Dalam artikel ini, kami meninjau pertimbangan keamanan dalam dua skenario pergerakan data berikut:

  • Skenario cloud- Dalam skenario ini, sumber dan tujuan Anda dapat diakses secara publik melalui internet. Ini termasuk layanan penyimpanan cloud terkelola seperti Azure Storage, Azure Synapse Analytics, Azure SQL Database, Azure Data Lake Storage, Amazon S3, Amazon Redshift, layanan SaaS seperti Salesforce, dan protokol web seperti FTP dan OData. Temukan daftar lengkap dari sumber data yang didukung di Penyimpanan dan format data yang didukung.
  • Skenario hibrid: Dalam skenario ini, sumber atau tujuan Anda berada di belakang firewall atau di dalam jaringan perusahaan lokal. Atau, penyimpanan data berada dalam jaringan privat atau jaringan virtual (paling sering sumbernya) dan tidak dapat diakses oleh publik. Server database yang dihosting di komputer virtual juga termasuk dalam skenario ini.

Catatan

Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Skenario cloud

Mengamankan kredensial penyimpanan data

  • Simpan kredensial terenkripsi di penyimpanan terkelola Azure Data Factory. Azure Data Factory melindungi kredensial penyimpanan data Anda dengan mengenkripsinya menggunakan sertifikat yang dikelola oleh Microsoft. Sertifikat ini dirotasi setiap dua tahun (termasuk pembaruan sertifikat dan migrasi kredensial). Untuk informasi lebih lanjut tentang keamanan Azure Storage, lihat Ringkasan keamanan Azure Storage.
  • Simpan kredensial di Azure Key Vault. Anda juga dapat menyimpan kredensial penyimpanan data di Azure Key Vault. Data Factory mengambil kredensial selama eksekusi aktivitas. Untuk informasi lebih lanjut, lihat Menyimpan kredensial di Azure Key Vault.

Memusatkan penyimpanan rahasia aplikasi di Azure Key Vault memungkinkan Anda mengontrol distribusinya. Key Vault sangat mengurangi kemungkinan rahasia bocor secara tidak sengaja. Alih-alih menyimpan string koneksi dalam kode aplikasi, Anda dapat menyimpannya dengan aman di Key Vault. Aplikasi Anda dapat mengakses informasi yang dibutuhkan dengan aman menggunakan URI. URI ini memungkinkan aplikasi untuk mengambil versi rahasia tertentu. Tidak perlu menulis kode kustom untuk melindungi informasi rahasia yang disimpan di Key Vault.

Enkripsi data saat transit

Jika penyimpanan data cloud mendukung HTTPS atau TLS, semua transfer data antara layanan pergerakan data di Data Factory dan penyimpanan data cloud adalah melalui saluran aman HTTPS atau TLS.

Catatan

Semua koneksi ke Azure SQL Database dan Azure Synapse Analytics selalu memerlukan enkripsi (SSL/TLS) saat data sedang transit ke dan dari database. Saat Anda menulis alur dengan menggunakan JSON, tambahkan properti enkripsi dan atur ke true dalam string koneksi. Untuk Azure Storage, Anda dapat menggunakan HTTPS dalam string koneksi.

Catatan

Untuk mengaktifkan enkripsi saat transit ketika memindahkan data dari Oracle, ikuti salah satu opsi di bawah ini:

  1. Di server Oracle, buka Keamanan Tingkat Lanjut Oracle (OAS) dan konfigurasikan pengaturan enkripsi, yang mendukung Enkripsi Triple-DES (3DES) dan Standar Enkripsi Lanjutan (AES), lihat di sini untuk detailnya. ADF secara otomatis menegosiasikan metode enkripsi untuk menggunakan metode yang Anda konfigurasi di OAS saat membuat koneksi ke Oracle.
  2. Di ADF, Anda dapat menambahkan EncryptionMethod=1 dalam string koneksi (di Layanan Tertaut). Ini akan menggunakan SSL/TLS sebagai metode enkripsi. Untuk menggunakan ini, Anda perlu menonaktifkan pengaturan enkripsi non-SSL di OAS di sisi server Oracle untuk menghindari konflik enkripsi.

Catatan

Versi TLS yang digunakan adalah 1.2.

Enkripsi data saat istirahat

Beberapa penyimpanan data mendukung enkripsi data tidak aktif. Sebaiknya Anda mengaktifkan mekanisme enkripsi data untuk penyimpanan data tersebut.

Azure Synapse Analytics

Enkripsi Data Transparan (TDE) di Azure Synapse Analytics membantu melindungi dari ancaman aktivitas berbahaya dengan melakukan enkripsi dan dekripsi real-time data tidak aktif Anda. Perilaku ini bersifat transparan bagi klien. Untuk informasi lebih lanjut, lihat Mengamankan database di Azure Synapse Analytics.

Database Azure SQL

Azure SQL Database juga mendukung enkripsi data transparan (TDE), yang membantu melindungi dari ancaman aktivitas berbahaya dengan melakukan enkripsi dan dekripsi real-time data tanpa memerlukan perubahan pada aplikasi. Perilaku ini bersifat transparan bagi klien. Untuk informasi lebih lanjut, lihat Enkripsi data transparan untuk SQL Database dan Gudang Data.

Azure Data Lake Store

Azure Data Lake Storage juga menyediakan enkripsi untuk data yang disimpan di akun. Ketika diaktifkan, Data Lake Store secara otomatis mengenkripsi data sebelum disimpan dan mendekripsi sebelum diambil, membuatnya bersifat transparan bagi klien yang mengakses data. Untuk informasi selengkapnya, lihat Keamanan di Azure Data Lake Store.

Azure Blob Storage dan penyimpanan Tabel Azure

Azure Blob Storage dan penyimpanan Tabel Azure mendukung Enkripsi Layanan Penyimpanan (SSE), yang secara otomatis mengenkripsi data Anda sebelum disimpan pada penyimpanan dan mendekripsi sebelum diambil. Untuk informasi lebih lanjut, lihat Enkripsi Azure Storage untuk Data Tidak Aktif.

Amazon S3

Amazon S3 mendukung enkripsi data tidak aktif klien dan server. Untuk informasi selengkapnya, lihat Melindungi Data Menggunakan Enkripsi.

Amazon Redshift

Amazon Redshift mendukung enkripsi kluster untuk data tidak aktif. Untuk informasi selengkapnya, lihat Amazon Redshift Database Encryption.

Salesforce

Salesforce mendukung Enkripsi Platform Perisai yang memungkinkan enkripsi semua file, lampiran, dan bidang isian kustom. Untuk informasi lebih lanjut, lihat Memahami Alur Autentikasi OAuth Server Web.

Skenario Hibrid

Skenario hibrid mengharuskan runtime integrasi yang dihost sendiri diinstal dalam jaringan lokal atau di dalam jaringan virtual (Azure), atau di dalam cloud privat virtual (Amazon). Runtime integrasi yang dihost sendiri harus dapat mengakses penyimpanan data lokal. Untuk informasi lebih lanjut tentang runtime integrasi yang dihost sendiri, lihat Cara membuat dan mengonfigurasi runtime integrasi yang dihost sendiri.

self-hosted integration runtime channels

Saluran perintah memungkinkan komunikasi antara layanan pergerakan data di Data Factory dan runtime integrasi yang dihost sendiri. Komunikasi tersebut berisi informasi terkait kegiatan tersebut. Saluran data digunakan untuk mentransfer data antara penyimpanan data lokal dan penyimpanan data cloud.

Kredensial penyimpanan data di tempat

Kredensial dapat disimpan dalam pabrik data atau direferensikan oleh pabrik data selama waktu proses dari Azure Key Vault. Jika menyimpan kredensial di dalam pabrik data, kredensial selalu disimpan dalam keadaan dienkripsi pada runtime integrasi yang dihost sendiri.

  • Simpan kredensial secara lokal. Jika Anda secara langsung menggunakan cmdlet Set-AzDataFactoryV2LinkedService dengan string koneksi dan kredensial sebaris di JSON, layanan tertaut dienkripsi dan disimpan pada runtime integrasi yang dihost sendiri. Dalam hal ini kredensial mengalir melalui layanan backend Azure, yang sangat aman, ke mesin integrasi yang dihosting sendiri yang kemudian dienkripsi dan disimpan. Runtime integrasi yang dihost sendiri menggunakan DPAPI Windows untuk mengenkripsi data sensitif dan informasi kredensial.

  • Simpan kredensial di Azure Key Vault. Anda juga dapat menyimpan kredensial penyimpanan data di Azure Key Vault. Data Factory mengambil kredensial selama eksekusi aktivitas. Untuk informasi lebih lanjut, lihat Menyimpan kredensial di Azure Key Vault.

  • Simpan kredensial secara lokal tanpa mengalirkan kredensial melalui backend Azure ke runtime integrasi yang dihost sendiri. Jika Anda ingin mengenkripsi dan menyimpan kredensial secara lokal pada runtime integrasi yang dihost sendiri tanpa harus mengalirkan kredensial melalui backend pabrik data, ikuti langkah-langkah dalam Mengenkripsi kredensial untuk penyimpanan data lokal di Azure Data Factory. Semua konektor mendukung opsi ini. Runtime integrasi yang dihost sendiri menggunakan DPAPI Windows untuk mengenkripsi data sensitif dan informasi kredensial.

  • Gunakan cmdlet New-AzDataFactoryV2LinkedServiceEncryptedCredential untuk mengenkripsi kredensial layanan tertaut dan detail sensitif dalam layanan tertaut. Anda kemudian dapat menggunakan JSON yang ditampilkan (dengan elemen EncryptedCredential dalam string koneksi) untuk membuat layanan tertaut dengan menggunakan cmdlet Set-AzDataFactoryV2LinkedService.

Port yang digunakan saat mengenkripsi layanan tertaut pada runtime integrasi yang dihost sendiri

Secara default, ketika akses jarak jauh dari intranet diaktifkan, PowerShell menggunakan port 8060 pada mesin dengan runtime integrasi yang dihosting sendiri untuk komunikasi yang aman. Jika perlu, port ini dapat diubah dari Manajer Konfigurasi Runtime Integrasi pada tab Pengaturan:

Integration Runtime Configuration Manager's Settings tab

HTTPS port for the gateway

Enkripsi saat transit

Semua transfer data melalui saluran aman HTTPS dan TLS melalui TCP untuk mencegah serangan man-in-the-middle selama komunikasi dengan layanan Azure.

Anda juga dapat menggunakan IPSec VPN atau Azure ExpressRoute untuk lebih mengamankan saluran komunikasi antara jaringan lokal Anda dan Azure.

Jaringan Virtual Azure (VNet) adalah representasi logis jaringan Anda sendiri di cloud. Anda dapat menyambungkan jaringan lokal ke jaringan virtual Anda dengan menyiapkan IPSec VPN (situs ke situs) atau ExpressRoute (peering privat).

Tabel berikut ini merangkum rekomendasi konfigurasi jaringan dan runtime integrasi yang dihost sendiri berdasarkan kombinasi lokasi sumber dan tujuan yang berbeda untuk pergerakan data hibrid.

Sumber Tujuan Konfigurasi jaringan Penyiapan runtime integrasi
Lokal Jaringan virtual, termasuk semua komputer virtual dan layanan cloud IPSec VPN (point-to-site atau situs-ke-situs) Runtime integrasi yang dihost sendiri harus diinstal pada komputer virtual Azure di jaringan virtual.
Lokal Jaringan virtual, termasuk semua komputer virtual dan layanan cloud ExpressRoute (peering privat) Runtime integrasi yang dihost sendiri harus diinstal pada komputer virtual Azure di jaringan virtual.
Lokal Layanan berbasis Azure yang memiliki titik akhir publik ExpressRoute (peering Microsoft) Runtime integrasi yang dihost sendiri dapat diinstal di lingkungan lokal atau di komputer virtual Azure.

Gambar berikut menunjukkan penggunaan runtime integrasi yang dihost sendiri untuk memindahkan data antara database lokal dan layanan Azure dengan menggunakan ExpressRoute dan IPSec VPN (dengan Azure Virtual Network):

Express Route

Use ExpressRoute with gateway

IPSec VPN

IPSec VPN with gateway

Konfigurasi firewall dan izinkan pengaturan daftar untuk alamat IP

Catatan

Anda mungkin harus mengelola port atau menyiapkan daftar perbolehkan untuk domain di tingkat firewall perusahaan sebagaimana diperlukan oleh masing-masing sumber data. Tabel ini hanya menggunakan Azure SQL Database, Azure Synapse Analytics, Azure Data Lake Storage sebagai contoh.

Catatan

Untuk detail tentang strategi akses data melalui Azure Data Factory, lihat artikel ini.

Persyaratan firewall untuk jaringan lokal/privat

Di perusahaan, firewall perusahaan berjalan pada router pusat organisasi. Firewall Windows berjalan sebagai daemon pada komputer lokal tempat runtime integrasi yang dihost sendiri diinstal.

Tabel berikut menyediakan port keluar dan persyaratan domain untuk firewall perusahaan:

Nama domain Port keluar Deskripsi
*.servicebus.windows.net 443 Diperlukan oleh runtime integrasi yang dihost sendiri untuk penulisan interaktif.
{datafactory}.{region}.datafactory.azure.net
atau *.frontend.clouddatahub.net
443 Diperlukan oleh runtime integrasi yang dihost sendiri untuk terhubung ke layanan Data Factory.
Untuk Data Factory yang baru dibuat, temukan FQDN dari kunci Runtime Integrasi yang dihost sendiri dalam format {datafactory}.{region}.datafactory.azure.net. Untuk Data Factory lama, jika Anda tidak melihat FQDN di kunci integrasi yang dihost sendiri, gunakan *.frontend.clouddatahub.net sebagai gantinya.
download.microsoft.com 443 Diperlukan oleh runtime integrasi yang dihost sendiri untuk mengunduh pembaruan. Jika Anda telah menonaktifkan pembaruan otomatis, Anda dapat melewati konfigurasi domain ini.
*.core.windows.net 443 Digunakan oleh runtime integrasi yang dihost sendiri untuk terhubung ke akun penyimpanan Azure saat Anda menggunakan fitur penyalinan bertahap.
*.database.windows.net 1433 Diperlukan hanya saat Anda menyalin dari atau ke Azure SQL Database atau Azure Synapse Analytics dan bersifat opsional jika tidak. Gunakan fitur penyalinan bertahap untuk menyalin data ke Azure SQL Database atau Azure Synapse Analytics tanpa membuka port 1433.
*.azuredatalakestore.net
login.microsoftonline.com/<tenant>/oauth2/token
443 Diperlukan hanya saat Anda menyalin dari atau ke Azure Data Lake Store dan bersifat opsional jika tidak.

Catatan

Anda mungkin harus mengelola port atau menyiapkan daftar perbolehkan untuk domain di tingkat firewall perusahaan sebagaimana diperlukan oleh masing-masing sumber data. Tabel ini hanya menggunakan Azure SQL Database, Azure Synapse Analytics, Azure Data Lake Storage sebagai contoh.

Tabel berikut ini menyediakan persyaratan port masuk untuk firewall Windows:

Port masuk Deskripsi
8060 (TCP) Diperlukan oleh cmdlet enkripsi PowerShell seperti yang dijelaskan dalam Enkripsi kredensial untuk penyimpanan data lokal di Azure Data Factory, dan oleh aplikasi pengelola kredensial untuk mengatur kredensial dengan aman untuk penyimpanan data lokal pada runtime integrasi yang dihost sendiri.

Gateway port requirements

Konfigurasikan IP dan izinkan panyiapan daftar di penyimpanan data

Beberapa penyimpanan data di cloud juga mengharuskan Anda mengizinkan alamat IP komputer mengakses penyimpanan. Pastikan bahwa alamat IP komputer runtime integrasi yang dihost sendiri diizinkan atau dikonfigurasi di firewall dengan tepat.

Penyimpanan data cloud berikut ini mengharuskan Anda mengizinkan alamat IP komputer runtime integrasi yang dihost sendiri. Beberapa penyimpanan data ini, secara default, mungkin tidak memerlukan daftar yang diizinkan.

Tanya jawab umum

Dapatkah runtime integrasi yang dihost sendiri dibagikan di berbagai pabrik data?

Ya. Lihat detail lanjut di sini.

Apa saja persyaratan port untuk runtime integrasi yang dihost sendiri agar bekerja?

Runtime integrasi yang dihost sendiri membuat koneksi berbasis HTTP untuk mengakses internet. Port keluar 443 harus dibuka untuk runtime integrasi yang dihost sendiri guna membuat koneksi ini. Buka port masuk 8060 hanya di tingkat komputer (bukan pada tingkat firewall perusahaan) untuk aplikasi pengelola kredensial. Jika Azure SQL Database atau Azure Synapse Analytics digunakan sebagai sumber/tujuan, maka Anda juga perlu membuka port 1433. Untuk informasi lebih lanjut, lihat bagian Konfigurasi firewall dan izinkan penyiapan daftar untuk alamat IP.

Untuk informasi tentang performa aktivitas penyalinan Azure Data Factory, lihat Menyalin performa Aktivitas dan panduan penyetelan.