Untuk menyesuaikan kebijakan kontrol akses sesuai dengan persyaratan bisnis Anda, konfigurasikan kebijakan keamanan Service Mesh (ASM) guna menerapkan otorisasi kustom. Permintaan akan diteruskan ke layanan otorisasi kustom yang telah Anda tentukan, dan layanan tersebut akan mengotentikasi permintaan. Dengan pendekatan ini, Anda dapat menerapkan logika otentikasi yang kompleks, mengurangi biaya pengembangan serta pemeliharaan, dan meningkatkan efisiensi pengembangan.
Prasyarat
Prosedur
Masuk ke Konsol ASM. Di panel navigasi sisi kiri, pilih .
Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi sisi kiri, pilih .
Di halaman ASMSecurityPolicy, klik Create. Di kotak dialog Create ASMSecurityPolicy, klik Custom Authorization Service, lalu klik OK.
Pada langkah Custom Authorization Service Configuration dalam panduan konfigurasi CreateCustom Authorization Service, klik tab Custom authorization service (HTTP or gRPC protocol) implemented based on envoy.ext_authz, konfigurasikan parameter, lalu klik Next.
Gambar berikut menunjukkan contoh cara mengonfigurasi parameter. Untuk informasi lebih lanjut tentang parameter, lihat Implementasikan otorisasi kustom menggunakan protokol HTTP.



Pada langkah Workload and Match Rules dalam panduan konfigurasi, klik Add Workload Group. Di kotak dialog New Workload Group, konfigurasikan parameter, lalu klik OK.
Tabel berikut menjelaskan cara mengonfigurasi parameter dalam contoh ini.
Parameter
Deskripsi
Workload Group Name
Atur nama menjadi test-policy.
Workload List
Klik Add Workload.
Di kotak dialog Add Workload, pilih Workload Scope. Atur parameter Namespace menjadi default dan parameter Workload Type menjadi Service.
Di kotak Select workloads, pilih productpage, klik ikon
untuk menambahkan workload ke kotak selected, lalu klik OK.
Match Rule List
Atur parameter Match Mode menjadi The selected request must be authenticated. Atur Matching Rules menjadi Custom Matching Rules. Nyalakan sakelar Path dan atur parameter menjadi /productpage.

Pada langkah Complete dalam panduan konfigurasi, pesan "Pembuatan ASMSecurityPolicy berhasil" akan muncul, menandakan bahwa kebijakan keamanan ASM telah dibuat. Anda dapat mengklik YAML untuk melihat sumber daya yang dibuat atau klik Complete untuk kembali ke halaman ASMSecurityPolicy dan melihat kebijakan keamanan yang dibuat.
Periksa apakah konfigurasi otorisasi kustom telah diterapkan.
Jalankan perintah berikut untuk memulai permintaan dengan header
x-ext-authz: allowguna mengakses layanan productpage:curl -I -H "x-ext-authz: allow" http://${IP address of the ingress gateway}/productpageOutput yang diharapkan:
HTTP/1.1 200 OK content-type: text/html; charset=utf-8 content-length: 5288 server: istio-envoy date: Tue, 17 Jan 2023 07:53:14 GMT x-envoy-upstream-service-time: 20Output menunjukkan bahwa otorisasi kustom dipicu dan otentikasi berhasil.
Jalankan perintah berikut untuk memulai permintaan dengan header
x-ext-authz: denyguna mengakses layanan productpage:curl -I -H "x-ext-authz: deny" http://${IP address of the ingress gateway}/productpageOutput yang diharapkan:
HTTP/1.1 403 Forbidden x-ext-authz-check-result: denied date: Tue, 17 Jan 2023 07:55:27 GMT server: istio-envoy x-envoy-upstream-service-time: 2 transfer-encoding: chunkedOutput menunjukkan bahwa otorisasi kustom dipicu tetapi otentikasi gagal.
Hasil sebelumnya menunjukkan bahwa konfigurasi otorisasi kustom telah diterapkan.
Referensi
Untuk informasi lebih lanjut tentang konsep dan fitur kebijakan keamanan ASM, lihat Ikhtisar kebijakan keamanan ASM.
Anda dapat mengaktifkan fitur audit mesh untuk mencatat atau melacak operasi harian dari pengguna yang berbeda. Anda juga dapat mengonfigurasi peringatan audit untuk operasi pada sumber daya ASM dan mengirim notifikasi peringatan kepada kontak peringatan secara tepat waktu ketika sumber daya penting berubah. Untuk informasi lebih lanjut, lihat Gunakan fitur audit Operasi KubeAPI di ASM dan Konfigurasikan peringatan audit untuk operasi pada sumber daya ASM.