Memanfaatkan API Gateway untuk Kedaulatan Data dan Kepatuhan Data
November 28, 2022
Latar Belakang dan Tantangan
Dengan semakin populernya smartphone, IoT, dan jaringan seluler berkecepatan tinggi, sejumlah besar data sensitif telah dihasilkan, seperti foto, transaksi keuangan, lokasi geografis, sekuensing DNA, rekam medis, dan uji klinis. Analisis statistik berdasarkan data sensitif ini dapat secara akurat menggambarkan identitas individu, perusahaan, atau kelompok orang, yang mengancam privasi pribadi dan keamanan nasional.
Semakin banyak badan legislatif di berbagai negara yang menyadari keseriusan dan urgensi masalah ini. Mereka telah memperkenalkan banyak undang-undang dan peraturan untuk mengatur pengumpulan data dan transfer lintas batas. General Data Protection Regulation (GDPR) di Eropa dan Health Insurance Portability and Accountability Act (HIPAA) di AS adalah pelopor dari undang-undang ini. Banyak negara berkembang juga semakin meningkatkan upaya mereka:
- Malaysia: Personal Data Protection Act 2010 (PDPA), berlaku efektif pada November 2013.
- China: Cybersecurity Law of the People's Republic of China, Data Security Law of the People's Republic of China, dan Personal Information Protection Law of the People’s Republic of China yang diumumkan secara berturut-turut dari 2017 hingga 2021.
- Brazil: Brazilian General Data Protection Law (BGDP), berlaku efektif pada September 2020.
- Thailand: Thailand's Personal Data Protection Act (PDPA), berlaku efektif pada Juni 2022.
Jadi, data yang dihasilkan oleh terminal dan pengguna, disimpan dan dikelola oleh produsen, diawasi oleh banyak lembaga penegak hukum. Dengan demikian, perusahaan, terutama perusahaan multinasional besar, dihadapkan pada banyak masalah baru yang mendesak:
- Data mana yang dapat dikumpulkan? Mana yang tidak?
- Bagaimana dan di mana data disimpan?
- Bisakah data ditransfer lintas batas?
Ini akan menjadi proyek besar untuk menyusun dan merumuskan solusi untuk semua masalah tersebut. Di sini kami akan fokus pada satu masalah:
Untuk data klien yang dikirimkan melalui API, bagaimana menentukan kedaulatan data pada tingkat API gateway untuk memastikan bahwa data diproses dan disimpan secara legal?
Misalnya, seorang pengguna Amerika yang sedang melakukan perjalanan bisnis di Eropa menggunakan ponselnya untuk melakukan transfer bank. Pada saat ini, data transaksi harus diproses dan disimpan oleh server yang lebih jauh di Amerika Serikat, bukan server yang lebih dekat di Eropa.
Pada paruh kedua artikel ini, kami akan memberikan solusi teknis spesifik untuk contoh ini. Sebelum itu, mari kita lihat terlebih dahulu tentang kedaulatan data dan kepatuhan data.
Apa itu Kedaulatan Data dan Kepatuhan Data?
Kedaulatan Data
Sebuah negara tidak hanya memiliki kedaulatan atas ruang fisik, seperti wilayah, ruang udara, dan perairan teritorial, tetapi juga memiliki kedaulatan atas data dan ruang siber nasionalnya.
Ambil contoh General Data Protection Regulation (GDPR), yang merupakan regulasi Uni Eropa untuk privasi dan perlindungan data pribadi. Ada salah satu persyaratan paling dasar dalam GDPR. "Semua perilaku pengumpulan data pengguna memerlukan persetujuan pengguna dan pengguna memiliki hak untuk menghapus data pribadi yang disimpan kapan saja."
Oleh karena itu, jika sebuah perusahaan ingin mentransfer data Eropa ke wilayah lain, perusahaan tersebut harus memastikan bahwa persyaratan kedaulatan data negara ketiga memenuhi persyaratan Uni Eropa. Mengenai kebutuhan data untuk mematuhi hukum lokal, memang ada banyak kekhawatiran dalam bisnis multinasional.
Kekhawatiran lain adalah PATRIOT Act AS, yang mengharuskan semua data yang disimpan di AS, atau data yang disimpan oleh perusahaan Amerika, berada di bawah pengawasan Amerika Serikat. Departemen Kehakiman AS dan Central Intelligence Agency (CIA) memiliki hak untuk meminta perusahaan untuk memberikan data. Pada tahun 2013, Departemen Kehakiman AS meminta Microsoft untuk mengungkapkan beberapa informasi email yang disimpan di server Irlandia. Microsoft menolak permintaan Departemen Kehakiman AS karena akan melanggar persyaratan regulasi Uni Eropa. Kemudian Departemen Kehakiman AS menggugat Microsoft, tetapi Microsoft memenangkan kasus tersebut. Kemudian, untuk menghindari risiko kedaulatan data, banyak perusahaan di Amerika Serikat menempatkan pusat data mereka langsung di Eropa, berpikir bahwa ini akan aman. Namun, baru-baru ini ada beberapa kasus di mana hakim memutuskan bahwa AS memiliki wewenang untuk meminta data dari perusahaan AS di Eropa. Ini adalah yurisdiksi panjang lengan Amerika Serikat.
Kedaulatan data memang membawa tantangan besar bagi bisnis global perusahaan, dan bagaimana menangani masalah kedaulatan data di perusahaan menjadi sangat penting.
Kepatuhan Data
Bagi perusahaan multinasional, sinkronisasi data relatif sederhana jika tidak ada persyaratan kedaulatan data. Data pengguna di Amerika Serikat dapat dengan mudah disinkronkan ke server di Asia dan Inggris, seperti yang ditunjukkan pada diagram di bawah ini. Dengan cara ini, ketika seorang Amerika bepergian di Asia, ia juga dapat mengakses berbagai data yang dihasilkan ketika ia berada di AS.

Dengan persyaratan kepatuhan kedaulatan data, banyak data tidak dapat disinkronkan dan diakses lintas negara. Perusahaan perlu membedakan pengguna dan mengisolasi data yang terkait dengannya. Metode standar adalah membagi pengguna berdasarkan wilayah.
Ambil contoh Kindle Amazon, e-book yang dibeli oleh pengguna di AS tidak dapat diunduh ke Kindle mereka dengan akun Tiongkok. Ini karena data antara negara (wilayah) yang berbeda sepenuhnya terisolasi. Arsitektur sistemnya adalah sebagai berikut:

Jadi, apa yang harus dilakukan secara teknis jika seorang pengguna di Inggris ingin mengakses Amazon UK dengan akun AS? Mari kita lihat diagram arsitektur di bawah ini. Sebagian besar produk API gateway yang ada mengusulkan solusi serupa.
Solusi Tingkat API Gateway yang Ada

Kita dapat merangkum inti dari solusi ini dalam satu kalimat:
API gateway di Inggris mengidentifikasi pengguna. Jika API menemukan bahwa pengguna terdaftar di AS, maka akan diarahkan ke server AS untuk diproses.
Namun, ada juga beberapa tantangan teknis yang tersembunyi di balik ini, serta potensi bahaya kepatuhan:
-
API gateway memerlukan kemampuan penjadwalan rute yang sangat rinci, memperoleh data dari header HTTP, argumen permintaan, dan badan permintaan, serta bekerja sama dengan kueri database eksternal untuk menentukan server mana yang akan menangani pengguna.
-
Jaringan antara wilayah perlu terhubung untuk meneruskan permintaan. Ruang server Inggris dan ruang server AS perlu terhubung.
-
API gateway di ruang server Inggris mungkin telah melepaskan sertifikat SSL, membaca konten API, dan mencatat data ke disk lokal atau layanan lain melalui log akses, log audit, sistem observabilitas, dll.
Apakah ada cara untuk menyelesaikan masalah ini?
Jaringan Multilayer: Solusi Apache APISIX untuk Memastikan Kepatuhan Transmisi Data API
Di sini kami memperkenalkan konsep "jaringan multilayer" di APISIX untuk memastikan kepatuhan dan keamanan data yang dikirimkan oleh API pada tingkat API Gateway. Jaringan multilayer, sesuai namanya, membagi API gateway menjadi dua lapisan, Lapisan 1 dan Lapisan 2, seperti yang ditunjukkan pada gambar berikut:

- API gateway Lapisan 1: bertanggung jawab untuk melepaskan sertifikat SSL, penjadwalan rute yang sangat rinci, dan memutuskan API gateway Lapisan 2 mana yang harus menangani permintaan API.
- API gateway Lapisan 2: Ini adalah API gateway asli, yang tidak perlu khawatir tentang kepatuhan data.
Kembali ke pertanyaan di awal artikel: bagaimana seorang pengguna yang terdaftar di Amerika Serikat dapat memastikan kepatuhan data API terlepas dari lokasi transaksinya?
Pertama, permintaan API akan dikirim ke API gateway Lapisan 1, yang pada dasarnya adalah Apache APISIX tetapi menambahkan objek multi-layer network, di mana plugin kustom dapat diikat:
- API gateway Lapisan 1 mendefinisikan alamat, bobot, dan informasi lainnya dari kluster API gateway Lapisan 2. Di sini kami menyiapkan kluster AS dan kluster Inggris:
http://Layer-1-API-Gateway-IP/apisix/admin/multilayer_network/clusters/cluster-US { "desc": "description", "http_port": 80, "https_port": 443, "gateways": [ {"host": "IP1", "weight": 1}, {"host": "IP2", "weight": 2} ] } http://Layer-1-API-Gateway-IP/apisix/admin/multilayer_network/clusters/cluster-UK { "desc": "description", "http_port": 80, "https_port": 443, "gateways": [ {"host": "IP1", "weight": 1}, {"host": "IP2", "weight": 2} ] }
- Mendefinisikan aturan routing pada jaringan multilayer, dan mengikat dengan plugin
bar:
http://Layer-1-API-Gateway-IP/apisix/admin/multilayer_network/routes/bank-foo { "desc": "bank API", "hosts": ["foo.com"], "uris": ["/*"], "plugin_id": "bar" }
- Mendefinisikan plugin kustom:
http://***/apisix/admin/multilayer_network/plugins/bar { "desc": "plugin", "plugins": { "jwt-auth": { ... ... }, "foo-upstream-selector": { "scheme": "HTTPS" ... ... }, ... ... } }
Di sini kami mengikat dua plugin. Plugin jwt-auth digunakan untuk menyelesaikan autentikasi identitas permintaan. foo-upstream-selector digunakan untuk membaca informasi seperti ID pengguna, negara/wilayah, dan kluster tempat pengguna tersebut berada dari database dan menentukan kluster API gateway Lapisan 2 yang akan dituju.
Arsitektur multilayer ini memastikan kepatuhan data lintas negara.
Kesimpulan
Singkatnya, penjadwalan rute yang sangat rinci yang dimungkinkan oleh arsitektur multilayer API gateway dapat membantu perusahaan memproses data API dengan cepat dan aman sambil memenuhi persyaratan kepatuhan data. Kami menyediakan fungsionalitas ini yang siap pakai di API7 Cloud dan API7 Enterprise. Silakan isi formulir untuk menghubungi kami.