全部产品
Search
文档中心

Alibaba Cloud Service Mesh:Konfigurasikan kebijakan otorisasi untuk permintaan HTTP

更新时间:Jul 02, 2025

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

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.

  1. Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

  2. Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih Mesh Security Center > AuthorizationPolicy. Di halaman yang muncul, klik Create from YAML.

  3. 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.

  4. Di bilah alamat browser Anda, masukkan http://{alamat IP gateway ASM Anda}/productpage untuk mengakses aplikasi Bookinfo.

    Pesan RBAC: akses ditolak dikembalikan, 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

  1. Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

  2. Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih Mesh Security Center > AuthorizationPolicy.

  3. Gunakan salah satu metode berikut untuk mengonfigurasi kebijakan otorisasi untuk mengizinkan akses ke layanan Productpage:

    Metode 1: Gunakan YAML untuk membuat kebijakan otorisasi

    1. Di halaman AuthorizationPolicy, klik Create from YAML.

    2. 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

    1. Di halaman AuthorizationPolicy, klik Create.

    2. 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.

  4. Di bilah alamat browser Anda, masukkan http://{alamat IP gateway ASM Anda}/productpage untuk 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.访问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.

  1. Dapatkan akun layanan layanan productpage.

    1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

    2. Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel kiri, pilih Workloads > Deployments.

    3. Di halaman Deployments, temukan layanan productpage-v1 dan pilih More > View in YAML di kolom Actions. Di kotak dialog Edit YAML, dapatkan nilai parameter serviceAccount.

      Sebagaimana ditunjukkan dalam gambar berikut, nilai parameter serviceAccount adalah bookinfo-productpage.获取Productpage的serviceAccount

  2. Buat kebijakan otorisasi.

    1. Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

    2. Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih Mesh Security Center > AuthorizationPolicy.

    3. Gunakan salah satu metode berikut untuk membuat kebijakan otorisasi.

      Metode 1: Gunakan YAML untuk membuat kebijakan otorisasi

      1. Di halaman AuthorizationPolicy, klik Create from YAML.

      2. 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

      1. Di halaman AuthorizationPolicy, klik Create.

      2. 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

        1. Sumber permintaan. Dalam contoh ini, Principals diaktifkan di bagian Add Request Source dan nilainya diatur ke cluster.local/ns/default/sa/bookinfo-productpage.

          Catatan

          bookinfo-productpage adalah nilai parameter serviceAccount, yang diperoleh di Sublangkah 1.

        2. 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.

  3. Di bilah alamat browser Anda, masukkan http://{alamat IP gateway ASM Anda}/productpage untuk mengakses aplikasi Bookinfo.

    Hasil dalam gambar berikut menunjukkan bahwa Anda dapat mengakses layanan details di sebelah kiri, tetapi tidak layanan reviews di sebelah kanan.Details服务

Langkah 4: Konfigurasikan kebijakan otorisasi untuk layanan reviews

  1. Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

  2. Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih Mesh Security Center > AuthorizationPolicy.

  3. Gunakan salah satu metode berikut untuk membuat kebijakan otorisasi.

    Metode 1: Gunakan YAML untuk membuat kebijakan otorisasi

    1. Di halaman AuthorizationPolicy, klik Create from YAML.

    2. 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.

    1. Di halaman AuthorizationPolicy, klik Create.

    2. 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

      1. Sumber permintaan. Dalam contoh ini, Principals diaktifkan di bagian Add Request Source dan nilainya diatur menjadi cluster.local/ns/default/sa/bookinfo-productpage.

        Catatan

        bookinfo-productpage adalah nilai dari parameter serviceAccount, yang diperoleh di Sublangkah 1.

      2. 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.

  4. Di bilah alamat browser Anda, masukkan http://{alamat IP gateway ASM Anda}/productpage untuk mengakses aplikasi Bookinfo.

    Hasil dalam gambar berikut menunjukkan bahwa Anda dapat mengakses layanan details di sebelah kiri dan layanan reviews di sebelah kanan.Reviews服务

Referensi