Untuk menerapkan kontrol terperinci atas permintaan HTTP antar layanan, Anda dapat mengonfigurasi kebijakan otorisasi untuk permintaan HTTP guna mengelola izin interaksi layanan. Ini memastikan bahwa hanya permintaan berwenang yang dapat mengakses layanan tertentu, meningkatkan keamanan dan keandalan layanan.
Prasyarat
Aplikasi Bookinfo diterapkan di instance ASM. Untuk informasi lebih lanjut, lihat Terapkan aplikasi di kluster ACK yang ditambahkan ke instance ASM.
Sumber daya Istio didefinisikan. Untuk informasi lebih lanjut, lihat Gunakan sumber daya Istio untuk merutekan lalu lintas ke versi layanan yang berbeda.
Langkah 1: Konfigurasikan kebijakan otorisasi kosong
Contoh berikut menunjukkan cara mengonfigurasi kebijakan otorisasi untuk mendapatkan izin akses pada beban kerja berdasarkan kebijakan otorisasi kosong. Kebijakan otorisasi kosong adalah kebijakan penolakan dasar yang menolak semua permintaan yang dimulai untuk mengakses beban kerja.
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih . Di halaman yang muncul, klik Create from YAML.
Di halaman Create, pilih default dari daftar drop-down Namespace, pilih template, salin konten berikut ke editor kode YAML, lalu klik Create.
apiVersion: security.istio.io/v1beta1 kind: AuthorizationPolicy metadata: name: allow-nothing namespace: default spec: {}Kemudian, Anda dapat melihat kebijakan otorisasi allow-nothing di halaman AuthorizationPolicy.
Di bilah alamat browser Anda, masukkan
http://{alamat IP gateway ASM Anda}/productpageuntuk mengakses aplikasi Bookinfo.Pesan
RBAC: akses ditolakdikembalikan, yang menunjukkan bahwa Anda tidak memiliki izin akses. Untuk informasi lebih lanjut tentang cara mendapatkan alamat IP gateway Anda, lihat Gunakan sumber daya Istio untuk merutekan lalu lintas ke versi layanan yang berbeda.
Langkah 2: Konfigurasikan kebijakan otorisasi untuk layanan productpage
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih .
Gunakan salah satu metode berikut untuk mengonfigurasi kebijakan otorisasi untuk mengizinkan akses ke layanan Productpage:
Metode 1: Gunakan YAML untuk membuat kebijakan otorisasi
Di halaman AuthorizationPolicy, klik Create from YAML.
Di halaman Create, pilih default dari daftar drop-down Namespace, pilih template, salin konten berikut ke editor kode YAML, lalu klik Create.
apiVersion: security.istio.io/v1beta1 kind: AuthorizationPolicy metadata: name: "productpage-viewer" namespace: default spec: selector: matchLabels: app: productpage action: ALLOW rules: - to: - operation: methods: ["GET"]
Metode 2: Gunakan antarmuka pengguna grafis (GUI) untuk membuat kebijakan otorisasi
Di halaman AuthorizationPolicy, klik Create.
Di halaman Create, konfigurasikan parameter berikut dan klik Create.
Parameter
Deskripsi
Name
Nama kebijakan otorisasi. Dalam contoh ini, nilainya diatur ke productpage-viewer.
Policy Type
Tindakan otorisasi. Dalam contoh ini, nilainya diatur ke ALLOW.
Namespace
Namespace tempat Anda ingin membuat kebijakan otorisasi. Dalam contoh ini, parameter Namespace di tab Workload Scope diatur ke default.
Effective Scope
Cakupan efektif kebijakan otorisasi. Dalam contoh ini, nilainya diatur ke Service.
Workload
Beban kerja tempat kebijakan otorisasi berlaku. Dalam contoh ini, nilainya diatur ke productpage.
Request Matching Rules
Metode pemrosesan permintaan HTTP. Dalam contoh ini, Methods diaktifkan di bagian Add Request Target dan nilainya diatur ke GET.
Selanjutnya, kebijakan otorisasi productpage-viewer akan ditampilkan di halaman AuthorizationPolicy.
Di bilah alamat browser Anda, masukkan
http://{alamat IP gateway ASM Anda}/productpageuntuk mengakses aplikasi Bookinfo.Hasil dalam gambar berikut menunjukkan bahwa Anda dapat mengakses layanan productpage, tetapi tidak layanan details atau reviews. Hal ini karena kebijakan otorisasi yang Anda konfigurasikan untuk layanan productpage mengizinkan permintaan HTTP GET untuk mengakses layanan productpage.

Langkah 3: Konfigurasikan kebijakan otorisasi untuk layanan details
Anda dapat mengonfigurasi kebijakan otorisasi untuk layanan details untuk mengizinkan permintaan yang dikirim oleh akun layanan layanan productpage mengakses layanan details.
Dapatkan akun layanan layanan productpage.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel kiri, pilih .
Di halaman Deployments, temukan layanan productpage-v1 dan pilih di kolom Actions. Di kotak dialog Edit YAML, dapatkan nilai parameter
serviceAccount.Sebagaimana ditunjukkan dalam gambar berikut, nilai parameter
serviceAccountadalahbookinfo-productpage.
Buat kebijakan otorisasi.
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih .
Gunakan salah satu metode berikut untuk membuat kebijakan otorisasi.
Metode 1: Gunakan YAML untuk membuat kebijakan otorisasi
Di halaman AuthorizationPolicy, klik Create from YAML.
Di halaman Create, pilih default dari daftar drop-down Namespace, pilih template, salin konten berikut ke editor kode YAML, lalu klik Create.
kind: AuthorizationPolicy apiVersion: security.istio.io/v1beta1 metadata: name: details-viewer namespace: default spec: action: ALLOW rules: - to: - operation: methods: - GET - from: - source: principals: - cluster.local/ns/default/sa/bookinfo-productpage # bookinfo-productpage adalah nilai parameter serviceAccount, yang diperoleh di langkah sebelumnya. selector: matchLabels: app: details
Metode 2: Gunakan GUI untuk membuat kebijakan otorisasi
Di halaman AuthorizationPolicy, klik Create.
Di halaman Create, konfigurasikan parameter berikut dan klik Create.
Parameter
Deskripsi
Name
Nama kebijakan otorisasi. Dalam contoh ini, nilainya diatur ke details-viewer.
Policy Type
Tindakan otorisasi. Dalam contoh ini, nilainya diatur ke ALLOW.
Namespace
Namespace tempat Anda ingin membuat kebijakan otorisasi. Dalam contoh ini, parameter Namespace di tab Workload Scope diatur ke default.
Effective Scope
Cakupan efektif kebijakan otorisasi. Dalam contoh ini, nilainya diatur ke Service.
Workload
Beban kerja tempat kebijakan otorisasi berlaku. Dalam contoh ini, nilainya diatur ke details.
Request Matching Rules
Sumber permintaan. Dalam contoh ini, Principals diaktifkan di bagian Add Request Source dan nilainya diatur ke cluster.local/ns/default/sa/bookinfo-productpage.
Catatanbookinfo-productpageadalah nilai parameterserviceAccount, yang diperoleh di Sublangkah 1.Metode pemrosesan permintaan HTTP. Dalam contoh ini, Methods diaktifkan di bagian Add Request Target dan nilainya diatur ke GET.
Kemudian, kebijakan otorisasi details-viewer ditampilkan di halaman AuthorizationPolicy.
Di bilah alamat browser Anda, masukkan
http://{alamat IP gateway ASM Anda}/productpageuntuk mengakses aplikasi Bookinfo.Hasil dalam gambar berikut menunjukkan bahwa Anda dapat mengakses layanan details di sebelah kiri, tetapi tidak layanan reviews di sebelah kanan.

Langkah 4: Konfigurasikan kebijakan otorisasi untuk layanan reviews
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih .
Gunakan salah satu metode berikut untuk membuat kebijakan otorisasi.
Metode 1: Gunakan YAML untuk membuat kebijakan otorisasi
Di halaman AuthorizationPolicy, klik Create from YAML.
Di halaman Create, pilih default dari daftar drop-down Namespace, pilih template, salin konten berikut ke editor kode YAML, lalu klik Create.
kind: AuthorizationPolicy apiVersion: security.istio.io/v1beta1 metadata: name: reviews-viewer namespace: default spec: action: ALLOW rules: - to: - operation: methods: - GET - from: - source: principals: - cluster.local/ns/default/sa/bookinfo-productpage selector: matchLabels: app: reviews
Metode 2: Gunakan GUI untuk membuat kebijakan otorisasi.
Di halaman AuthorizationPolicy, klik Create.
Di halaman Create, konfigurasikan parameter berikut dan klik Create.
Parameter
Deskripsi
Name
Nama kebijakan otorisasi. Dalam contoh ini, nilai diatur menjadi reviews-viewer.
Policy Type
Aksi otorisasi. Dalam contoh ini, nilai diatur menjadi ALLOW.
Namespace
Namespace tempat Anda ingin membuat kebijakan otorisasi. Dalam contoh ini, parameter Namespace pada tab Workload Scope diatur menjadi default.
Effective Scope
Ruang lingkup efektif dari kebijakan otorisasi. Dalam contoh ini, nilai diatur menjadi Service.
Workload
Workload tempat kebijakan otorisasi berlaku. Dalam contoh ini, nilai diatur menjadi reviews.
Request Matching Rules
Sumber permintaan. Dalam contoh ini, Principals diaktifkan di bagian Add Request Source dan nilainya diatur menjadi cluster.local/ns/default/sa/bookinfo-productpage.
Catatanbookinfo-productpageadalah nilai dari parameterserviceAccount, yang diperoleh di Sublangkah 1.Metode untuk memproses permintaan HTTP. Dalam contoh ini, Methods diaktifkan di bagian Add Request Target dan nilainya diatur menjadi GET.
Kemudian, kebijakan otorisasi reviews-viewer ditampilkan di halaman AuthorizationPolicy.
Di bilah alamat browser Anda, masukkan
http://{alamat IP gateway ASM Anda}/productpageuntuk mengakses aplikasi Bookinfo.Hasil dalam gambar berikut menunjukkan bahwa Anda dapat mengakses layanan details di sebelah kiri dan layanan reviews di sebelah kanan.

Referensi
Konfigurasi kebijakan otorisasi yang tidak tepat dapat menyebabkan akses tak terduga ditolak atau diizinkan. Anda dapat menggunakan kebijakan otorisasi ASM dalam mode uji coba untuk memeriksa apakah hasil eksekusi sesuai harapan berdasarkan log. Jika tidak, sesuaikan kebijakan hingga hasilnya sesuai. Setelah itu, nonaktifkan mode uji coba agar kebijakan berlaku efektif. Untuk informasi lebih lanjut, lihat Jalankan kebijakan otorisasi ASM dalam mode uji coba.
Untuk informasi lebih lanjut tentang cara menerapkan kontrol terperinci atas permintaan TCP antar layanan, lihat Konfigurasikan kebijakan otorisasi untuk permintaan TCP.
Untuk informasi lebih lanjut tentang cara mengontrol lalu lintas akses dari layanan di instance ASM ke layanan eksternal, lihat Gunakan kebijakan otorisasi untuk mengontrol lalu lintas akses dari layanan di instance ASM ke situs web eksternal dan Gunakan kebijakan otorisasi untuk mengontrol lalu lintas akses dari layanan di instance ASM ke database eksternal.
Anda dapat menyesuaikan konten log akses gateway ASM untuk mendeteksi risiko keamanan potensial secara tepat waktu. Untuk informasi lebih lanjut, lihat Konfigurasikan fitur pembuatan dan pengumpulan log akses gateway ASM.
Anda dapat mengaktifkan fitur audit mesh untuk mencatat atau melacak operasi harian 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.