Service Mesh (ASM) memungkinkan Anda mengonfigurasi daftar hitam atau putih untuk ingress gateway guna mengontrol akses ke aplikasi dalam instance ASM berdasarkan alamat IP sumber, nama domain dalam permintaan HTTP, port, dan blok IP remote. Fitur ini membantu memastikan keamanan aplikasi dalam instance ASM. Topik ini menjelaskan cara mengonfigurasi daftar hitam atau putih untuk ingress gateway guna menolak atau mengizinkan permintaan dari alamat IP sumber tertentu.
Prasyarat
Aplikasi telah diterapkan di kluster Container Service for Kubernetes (ACK) yang ditambahkan ke instance ASM Anda. Untuk informasi lebih lanjut, lihat Terapkan Aplikasi dalam Kluster ACK yang Ditambahkan ke Instance ASM.
Deskripsi aturan pencocokan
Permintaan tempat daftar hitam atau putih berlaku harus sesuai dengan salah satu aturan dan semua kriteria dalam aturan tersebut.
Jika fitur daftar hitam atau putih dinonaktifkan, aturan otorisasi terkait akan otomatis dihapus.
Nama domain dalam permintaan HTTP, atau nama host, mendukung pencocokan tepat, pencocokan awalan, dan pencocokan akhiran. Contoh:
Pencocokan tepat: aliyun.com
Pencocokan awalan: aliyun*
Pencocokan akhiran: *aliyun.com
Peroleh alamat IP sumber dari klien tertentu menggunakan log ingress gateway
Untuk lalu lintas Utara-Selatan, permintaan klien pertama kali dikirim ke load balancer, diteruskan ke ingress gateway, dan kemudian ke layanan backend. Karena ingress gateway terlibat, menjadi rumit untuk mendapatkan alamat IP sumber dari klien. Untuk informasi lebih lanjut tentang cara melestarikan alamat IP sumber untuk lalu lintas Utara-Selatan, lihat Skenario 2: Lalu Lintas Utara-Selatan.
Buka browser dan masukkan http://{alamat IP ingress gateway Anda}/productpage di bilah alamat untuk mengakses layanan productpage. Kemudian, log akses dihasilkan.
Untuk informasi lebih lanjut tentang cara mendapatkan alamat IP ingress gateway Anda, lihat Dapatkan Alamat IP Ingress Gateway.
Jalankan perintah berikut untuk mendapatkan log akses ingress gateway menggunakan file kubeconfig kluster pada bidang data:
kubectl -n istio-system logs ${Nama pod tempat ingress gateway berada} -c istio-proxy | grep "/productpage" | tail -n 1Contoh keluaran:
{"method":"GET","authority":"47.99.XXX.XXX","response_flags":"-","start_time":"XXXXXX","requested_server_name":null,"request_id":"*****","upstream_local_address":null,"duration":0,"downstream_local_address":"10.34.0.25:80","user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.X.X Safari/537.36","upstream_host":null,"bytes_received":0,"istio_policy_status":null,"protocol":"HTTP/1.1","bytes_sent":19,"downstream_remote_address":"XXXXXXX","response_code":403,"x_forwarded_for":"112.124.XXX.XX","upstream_cluster":"outbound|9080||productpage.default.svc.cluster.local","trace_id":null,"path":"/productpage","upstream_transport_failure_reason":null,"upstream_service_time":null,"route_name":null}Nilai dari
downstream_remote_addressdalam contoh keluaran adalah alamat IP sumber dari klien.
Konfigurasikan daftar hitam untuk ingress gateway untuk menolak permintaan dari alamat IP sumber klien tertentu
Masuk ke Konsol ASM. Di panel navigasi sebelah kiri, pilih .
Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi sebelah kiri, pilih .
Di halaman Ingress Gateway, klik nama ingress gateway yang diinginkan. Di panel navigasi sebelah kiri pada halaman Gambaran Gateway, pilih .
Di langkah Black/White List Matching Rules dari wizard konfigurasi, aktifkan Enable Black/White List, pilih Black List untuk Match Mode, aktifkan IPBlock, masukkan alamat IP sumber klien, dan klik Submit.
CatatanJika Anda ingin mengonfigurasi beberapa aturan pencocokan, klik Add Request Matching Rule dan lengkapi konfigurasi. Beberapa aturan pencocokan memungkinkan Anda memblokir permintaan dari lebih banyak sumber.
Jika pesan Gateway Black/White List created successfully muncul, itu menunjukkan bahwa daftar hitam telah dibuat dan mulai berlaku. Anda dapat mengklik YAML di sebelah kanan AuthorizationPolicy untuk melihat informasi semantik dari daftar hitam.
Masukkan http://{alamat IP ingress gateway Anda}/productpage di bilah alamat browser Anda untuk mengakses layanan productpage.
Jika pesan berikut muncul, itu menunjukkan bahwa daftar hitam berlaku.

Konfigurasikan daftar putih untuk ingress gateway untuk hanya mengizinkan permintaan dari alamat IP sumber klien tertentu
Metode mengonfigurasi daftar putih serupa dengan metode mengonfigurasi daftar hitam, kecuali mode pencocokannya berbeda.
Di halaman Ingress Gateway, klik nama ingress gateway. Di panel navigasi sebelah kiri pada halaman Gambaran Gateway, pilih .
Di langkah Black/White List Matching Rules dari wizard konfigurasi, pilih White list untuk Match Mode dan klik Submit.
Akses layanan productpage.
Masukkan http://{alamat IP ingress gateway Anda}/productpage di bilah alamat browser Anda.
Anda dapat mengakses layanan productpage.
Gunakan klien lain dengan alamat IP berbeda dan masukkan http://{alamat IP ingress gateway Anda}/productpage di bilah alamat browser Anda.
Jika pesan berikut muncul, itu menunjukkan bahwa permintaan dari alamat IP lain ditolak. Ini menunjukkan bahwa daftar putih berlaku.

Referensi
ASM memungkinkan Anda mengumpulkan log akses ingress gateway. Untuk informasi lebih lanjut, lihat Konfigurasikan Fitur Pembuatan dan Pengumpulan Log Akses Gateway ASM.