全部产品
Search
文档中心

Microservices Engine:Kebijakan kustom untuk MSE

更新时间:Jul 06, 2025

Jika kebijakan sistem dari Microservices Engine (MSE) tidak memenuhi kebutuhan Anda, Anda dapat membuat kebijakan kustom untuk menerapkan prinsip hak istimewa minimal. Kebijakan kustom memungkinkan kontrol terperinci atas izin dan meningkatkan keamanan akses sumber daya. Topik ini menjelaskan cara menggunakan kebijakan kustom untuk MSE serta memberikan contoh kebijakan kustom.

Apa itu kebijakan kustom?

Kebijakan Resource Access Management (RAM) diklasifikasikan menjadi kebijakan sistem dan kebijakan kustom. Anda dapat mengelola kebijakan kustom sesuai dengan kebutuhan bisnis Anda.

  • Setelah membuat kebijakan kustom, Anda harus melampirkannya ke pengguna RAM, grup pengguna RAM, atau peran RAM. Dengan cara ini, izin yang ditentukan dalam kebijakan dapat diberikan kepada entitas utama.

  • Anda dapat menghapus kebijakan RAM yang tidak dilampirkan pada entitas utama. Jika kebijakan RAM dilampirkan pada entitas utama, sebelum menghapusnya, Anda harus melepaskannya dari entitas utama.

  • Kebijakan kustom mendukung kontrol versi. Anda dapat mengelola versi kebijakan kustom berdasarkan mekanisme manajemen versi yang disediakan oleh RAM.

Referensi

Buat kebijakan kustom di tab Visual editor

  1. Masuk ke Konsol RAM sebagai pengguna RAM dengan hak administratif.

  2. Di panel navigasi kiri, pilih Permissions > Policies.

  3. Di halaman Policies, klik Create Policy.

  4. Di halaman Create Policy, pilih tab Visual editor.

  5. Konfigurasikan kebijakan:

    1. Di bagian Effect, pilih Allow atau Deny.

    2. Di bagian Service, pilih layanan Alibaba Cloud.

      Catatan

      Layanan Alibaba Cloud yang dapat dipilih ditampilkan di bagian Layanan.

    3. Di bagian Action, pilih All action(s) atau Select action(s).

      Sistem menampilkan aksi yang dapat dikonfigurasi berdasarkan layanan Alibaba Cloud yang dipilih di bagian Layanan. Jika memilih Select action(s), Anda harus memilih aksi tersebut.

    4. Di bagian Resource, pilih All resource(s) atau Specified resource(s).

      Sistem menampilkan sumber daya yang dapat dikonfigurasi berdasarkan aksi yang dipilih di bagian Aksi. Jika memilih Specified resource(s), Anda harus mengklik Add resource untuk mengonfigurasi satu atau lebih Nama Sumber Daya Alibaba Cloud (ARN). Anda juga dapat mengklik Match all untuk memilih semua sumber daya untuk setiap aksi yang dipilih.

      Catatan

      ARN sumber daya yang diperlukan untuk suatu aksi ditandai dengan Required. Kami sangat menyarankan Anda mengonfigurasi ARN sumber daya yang ditandai sebagai Diperlukan. Hal ini memastikan bahwa kebijakan kustom berfungsi sesuai harapan.

    5. Di bagian Condition, klik Add condition untuk mengonfigurasi kondisi.

      Kondisi mencakup kondisi umum Alibaba Cloud dan kondisi spesifik layanan. Sistem menampilkan kondisi yang dapat dikonfigurasi berdasarkan layanan Alibaba Cloud dan aksi yang dipilih. Anda hanya perlu memilih kunci kondisi serta mengatur parameter Operator dan Nilai.

    6. Klik Add statement dan ulangi langkah-langkah sebelumnya untuk mengonfigurasi beberapa pernyataan kebijakan kustom.

  6. Periksa dan optimalkan isi kebijakan kustom:

    • Optimasi dasar

      Sistem secara otomatis mengoptimalkan pernyataan kebijakan. Selama optimasi dasar, sistem melakukan operasi berikut:

      • Menghapus kondisi yang tidak diperlukan.

      • Menghapus array yang tidak diperlukan.

    • (Opsional) Optimasi lanjutan

      Anda dapat memindahkan pointer ke Optional: advanced optimize dan klik Perform. Selama optimasi lanjutan, sistem melakukan operasi berikut:

      • Memisahkan sumber daya atau kondisi yang tidak kompatibel dengan aksi.

      • Mempersempit sumber daya.

      • Menghapus duplikat atau menggabungkan pernyataan kebijakan.

  7. Konfigurasikan parameter Name dan Description.

  8. Klik OK.

Contoh kebijakan kustom umum untuk Pendaftaran Mikro-layanan

  • Berikan pengguna izin baca-saja pada instance layanan tertentu.

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "mse:QueryNacosNaming"
                ],
                "Resource": [
                    "acs:mse:*:*:instance/${instanceId1}",
                    "acs:mse:*:*:instance/${instanceId2}"
                ],
                "Effect": "Allow"
            }
        ]
    }
  • Berikan pengguna izin untuk membaca dan memodifikasi instance layanan tertentu.

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "mse:QueryNacosNaming",
                    "mse:UpdateNacosNaming"
                ],
                "Resource": [
                    "acs:mse:*:*:instance/${instanceId1}",
                    "acs:mse:*:*:instance/${instanceId2}"
                ],
                "Effect": "Allow"
            }
        ]
    }
    Catatan

    ${instanceId1} dan ${instanceId2} menunjukkan ID instance.

  • Berikan pengguna izin baca-saja pada layanan di namespace tertentu dari sebuah instance.

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "mse:QueryNacosNaming",
                "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}"
            }
        ],
        "Version": "1"
    }
  • Berikan pengguna izin untuk membaca dan memodifikasi layanan grup ${group} di namespace tertentu dari sebuah instance.

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "mse:QueryNacosNaming",
                    "mse:UpdateNacosNaming"
                ],
                "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}"
            }
        ],
        "Version": "1"
    }
  • Berikan pengguna izin baca-saja pada layanan ${serviceName} dari grup ${group}.

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "mse:QueryNacosNaming",
                "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/naming/${serviceName}"
            }
        ],
        "Version": "1"
    }
  • Berikan pengguna izin untuk membaca dan memodifikasi layanan ${serviceName} dari grup ${group}.

    {
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "mse:QueryNacosNaming",
                    "mse:UpdateNacosNaming"
                ],
                "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/naming/${serviceName}"
            }
        ],
        "Version": "1"
    }

Contoh kebijakan kustom umum untuk Tata Kelola Mikro-layanan

Berikan izin baca-saja pada semua aplikasi

Untuk mengizinkan karyawan perusahaan melihat informasi kunci aplikasi, perusahaan dapat memberikan izin baca-saja pada semua aplikasi kepada karyawan.

Sebagai contoh, perusahaan menggunakan akun Alibaba Cloud untuk memberikan pengguna RAM izin baca-saja pada semua aplikasi yang diaktifkan Tata Kelola Mikro-layanan dari akun Alibaba Cloud saat ini.

Berikut adalah kode contoh kebijakan.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "mse:QueryNamespace",
        "mse:GetApplicationListWithMetircs",
        "mse:ListNamespaces",
        "mse:GetEventFilterOptions",
        "mse:ListEventRecords",
        "mse:GetEventDetail",
        "mse:FetchLogConfig",
        "mse:QueryBusinessLocations",
        "mse:GetApplicationInstanceList",
        "mse:listGrayTag",
        "mse:QueryServiceDetailWithMetrics",
        "mse:GetEventDetail",
        "mse:ListEventsPage",
        "mse:ListEventsByType",
        "mse:GetApplicationTagList"
      ],
      "Resource": "acs:mse:*:*:*"
    },
    {
      "Effect": "Allow",
      "Action": "mse:GetApplicationList",
      "Resource": "acs:mse:*:*:namespace/${ns}"
    }
  ]
}

Berikan semua izin operasi pada aplikasi kepada pengguna RAM

Sebagai pemilik aplikasi perusahaan, Anda perlu diberikan semua izin operasi pada aplikasi tersebut. Izin Anda dibatasi secara ketat pada ruang lingkup aplikasi yang Anda kelola.

Sebagai contoh, perusahaan menggunakan akun Alibaba Cloud untuk memberikan izin berikut kepada pengguna RAM:

  • Izin baca-saja pada semua aplikasi yang diaktifkan Tata Kelola Mikro-layanan dari akun Alibaba Cloud saat ini.

  • Izin baca-saja pada aplikasi tertentu yang diaktifkan Tata Kelola Mikro-layanan.

Berikut adalah kode contoh kebijakan.

{
  "Version": "1",
  "Statement": [
    // Semua izin pada aplikasi tertentu yang diaktifkan Tata Kelola Mikro-layanan
    {
      "Effect": "Allow",
      "Action": "mse:*",
      "Resource": "acs:mse:*:*:namespace/${ns}/application/${appName}"
    },
    // Izin baca-saja pada semua aplikasi yang diaktifkan Tata Kelola Mikro-layanan
    {
      "Effect": "Allow",
      "Action": [
        "mse:QueryNamespace",
        "mse:GetApplicationListWithMetircs",
        "mse:ListNamespaces",
        "mse:GetEventFilterOptions",
        "mse:ListEventRecords",
        "mse:GetEventDetail",
        "mse:FetchLogConfig",
        "mse:QueryBusinessLocations",
        "mse:GetApplicationInstanceList",
        "mse:listGrayTag",
        "mse:QueryServiceDetailWithMetrics",
        "mse:GetEventDetail",
        "mse:ListEventsPage",
        "mse:ListEventsByType",
        "mse:GetApplicationTagList"
      ],
      "Resource": "acs:mse:*:*:*"
    },
    {
      "Effect": "Allow",
      "Action": "mse:GetApplicationList",
      "Resource": "acs:mse:*:*:namespace/${ns}"
    }
  ]

Berikan izin operasi pada semua aplikasi di namespace

Sebagai insinyur uji perusahaan, Anda perlu diberikan izin operasi pada semua aplikasi di lingkungan pengujian (test namespace). Izin Anda dibatasi secara ketat pada ruang lingkup lingkungan pengujian (test namespace).

Sebagai contoh, perusahaan menggunakan akun Alibaba Cloud untuk memberikan izin berikut kepada pengguna RAM:

  • Izin baca-saja pada semua aplikasi yang diaktifkan Tata Kelola Mikro-layanan dari akun Alibaba Cloud saat ini.

  • Izin baca-tulis pada aplikasi di namespace Tata Kelola Mikro-layanan tertentu.

Berikut adalah kode contoh kebijakan.

{
"Version": "1",
    "Statement": [
        // Semua izin pada aplikasi di namespace Tata Kelola Mikro-layanan tertentu
        {
            "Effect": "Allow",
            "Action": "mse:*",
            "Resource": "acs:mse:*:*:namespace/${ns}/application/*"
        },
        // Izin baca-saja pada semua aplikasi yang diaktifkan Tata Kelola Mikro-layanan
        {
            "Effect": "Allow",
            "Action": [
                "mse:QueryNamespace",
                "mse:GetApplicationListWithMetircs",
                "mse:ListNamespaces",
                "mse:GetEventFilterOptions",
                "mse:ListEventRecords",
                "mse:GetEventDetail",
                "mse:FetchLogConfig",
                "mse:QueryBusinessLocations",
                "mse:GetApplicationInstanceList",
                "mse:listGrayTag",
                "mse:QueryServiceDetailWithMetrics",
                "mse:GetEventDetail",
                "mse:ListEventsPage",
                "mse:ListEventsByType",
                "mse:GetApplicationTagList",
                "mse:QueryAllSwimmingLaneGroup",
                "mse:QueryAllSwimmingLane",
                "mse:ListAppBySwimmingLaneGroupTags",
                "mse:ListAppBySwimmingLaneGroupTag",
                "mse:QuerySwimmingLaneById",
                "mse:GetTagsBySwimmingLaneGroupId",
                "mse:ListSwimmingLaneGateway",
                "mse:ListSwimmingLaneGatewayRoute",
                "mse:ListAuthPolicy",
                "mse:GetServiceList",
                "mse:GetServiceListPage"
            ],
            "Resource": "acs:mse:*:*:*"
        },
        // Semua izin pada aplikasi di namespace Tata Kelola Mikro-layanan tertentu
        {
            "Effect": "Allow",
            "Action": [
                "mse:GetApplicationList",
                "mse:CreateOrUpdateSwimmingLaneGroup",
                "mse:CreateOrUpdateSwimmingLane",
                "mse:DeleteSwimmingLaneGroup",
                "mse:DeleteSwimmingLaneGroup",
                "mse:DeleteSwimmingLane"
            ],
            "Resource": "acs:mse:*:*:namespace/${ns}"
        }
    ]
}

Contoh kebijakan kustom umum untuk Gateway Berbasis Cloud-native

Berikan pengguna atau peran izin pada semua sumber daya

Jika ingin memberikan pengguna RAM atau peran izin operasi pada semua gateway berbasis cloud-native, Anda dapat melampirkan kebijakan sistem berikut ke pengguna RAM atau peran:

  • Izin baca-saja: AliyunMSEReadOnlyAccess

  • Izin baca-tulis: AliyunMSEFullAccess

Berikan pengguna atau peran izin pada sumber daya gateway tertentu

Jika ingin memberikan pengguna RAM atau peran izin operasi pada gateway tertentu, Anda dapat memberikan izin tingkat sumber daya kepada pengguna RAM atau peran.

  • Contoh 1: Berikan pengguna RAM izin baca-saja pada gateway berbasis cloud-native bernama gw-8090caa2a3ab447a8bc5fdf3********.

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "mse:Query*",
                    "mse:List*",
                    "mse:Get*",
                    "mse:Select*",
                    "mse:Pull*",
                    "mse:GatewayBlackWhite*",
                    "mse:GatewayHealthCheckList",
                    "mse:GatewayQueryMonitor",
                    "mse:UploadWasmFile"
                ],
                "Resource": "acs:mse:*:*:instance/gw-8090caa2a3ab447a8bc5fdf3********",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "mse:QueryDefaultAlertStatus",
                    "mse:ListGatewayZone",
                    "mse:ListUpgradableGatewayVersions",
                    "mse:ListTagResources",
                    "mse:ListGatewayIngressMigrateTask",
                    "mse:ListEventRecords",
                    "mse:GetEventFilterOptions",
                    "mse:GetEventDetail",
                    "mse:GetGatewaySelection",
                    "mse:GetGatewayAlarms",
                    "mse:GetGatewayMigrateNamespacedServices",
                    "mse:GetGatewayIngressMigrateTaskDetail",
                    "mse:GetPluginGuide",
                    "mse:GetRegExpCheck",
                    "mse:GetRegExpTest",
                    "mse:CheckPluginLua"
                ],
                "Resource": "acs:mse:*:*:*",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "log:DescribeService",
                    "log:ListProject",
                    "log:GetProductDataCollection"
                ],
                "Resource": "*",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "arms:SearchContactGroup"
                ],
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
  • Contoh 2: Berikan pengguna RAM izin baca-tulis pada gateway berbasis cloud-native bernama gw-8090caa2a3ab447a8bc5fdf3********.

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "mse:*"
                ],
                "Resource": "acs:mse:*:*:instance/gw-8090caa2a3ab447a8bc5fdf3********",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "mse:QueryDefaultAlertStatus",
                    "mse:CreateDefaultAlert",
                    "mse:ListGatewayZone",
                    "mse:ListUpgradableGatewayVersions",
                    "mse:ListEventRecords",
                    "mse:GetEventFilterOptions",
                    "mse:GetEventDetail",
                    "mse:GetGatewaySelection",
                    "mse:GetGatewayAlarms",
                    "mse:GetGatewayMigrateNamespacedServices",
                    "mse:GetPluginGuide",
                    "mse:GetRegExpCheck",
                    "mse:GetRegExpTest",
                    "mse:CheckPluginLua",
                    "mse:*TagResources",
                    "mse:*CustomPlugin",
                    "mse:*GatewayIngressMigrateTask*"
                ],
                "Resource": "acs:mse:*:*:*",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "log:DescribeService",
                    "log:ListProject",
                    "log:GetProductDataCollection",
                    "log:OpenProductDataCollection"
                ],
                "Resource": "*",
                "Effect": "Allow"
            },
            {
                "Action": [
                    "arms:SearchContactGroup"
                ],
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }

Catatan penggunaan

Izin sebelumnya hanya memungkinkan Anda melakukan operasi yang diperlukan di konsol MSE. Kemampuan spesifik gateway berbasis cloud-native bergantung pada layanan cloud lainnya. Anda dapat mengonfigurasi izin untuk pengguna RAM atau peran Anda berdasarkan dokumentasi konfigurasi izin layanan cloud lainnya. Ini memungkinkan pengguna RAM atau peran Anda menggunakan semua fitur gateway berbasis cloud-native. Tabel berikut menjelaskan pemetaan antara layanan cloud tempat gateway berbasis cloud-native bergantung dan modul gateway berbasis cloud-native terkait.

Layanan Alibaba Cloud

Modul gateway berbasis cloud-native

Referensi

Layanan Log Sederhana

  • Pusat Log. Untuk mengakses tab Pusat Log, pilih Gateway Berbasis Cloud-native > Gateway. Di halaman Gateway, klik nama gateway untuk masuk ke halaman detail gateway. Di halaman yang muncul, pilih Analisis Observasi > Pusat Log.

  • Log Plug-in. Untuk mengakses tab Log Plug-in, pilih Gateway Berbasis Cloud-native > Gateway. Di halaman Gateway, klik nama gateway untuk masuk ke halaman detail gateway. Di halaman yang muncul, klik Pasar Plug-in. Lalu, klik kartu plug-in untuk masuk ke halaman detail plug-in. Di halaman yang muncul, klik Log Plug-in.

Kebijakan kustom untuk Layanan Log Sederhana

ARMS

  • Analisis Tracing. Untuk mengakses tab Analisis Tracing, pilih Gateway Berbasis Cloud-native > Gateway. Di halaman Gateway, klik nama gateway untuk masuk ke halaman detail gateway. Di halaman yang muncul, pilih Analisis Observasi > Analisis Tracing.

  • Peringatan. Untuk menggunakan fitur Peringatan, pilih Gateway Berbasis Cloud-native > Peringatan.

Kebijakan sistem untuk ARMS

Referensi informasi otorisasi

Otorisasi RAM