全部产品
Search
文档中心

Microservices Engine:Memberikan izin untuk Pusat Tata Kelola Layanan Mikro

更新时间:Nov 10, 2025

Akun Alibaba Cloud dapat menggunakan Microservices Engine (MSE) untuk memberikan izin Pusat Tata Kelola Layanan Mikro kepada pengguna Resource Access Management (RAM). Izin ini dapat diberikan melalui konsol atau dengan memanggil operasi OpenAPI. Praktik ini menghindari risiko keamanan terkait paparan kunci akun Alibaba Cloud. Setelah izin diberikan, pengguna RAM dapat menggunakan Pusat Tata Kelola Layanan Mikro MSE. Topik ini menjelaskan cara membuat pengguna RAM dan memberikan izin kepada pengguna tersebut melalui konsol.

Skenario

Sebuah perusahaan menggunakan MSE. Karyawannya memiliki tanggung jawab pekerjaan yang berbeda dan memerlukan izin yang berbeda pula terhadap sumber daya. Misalnya, insinyur Operasi dan Pemeliharaan (O&M) mengelola aplikasi dan izin, sedangkan pengembang mengonfigurasi aturan aplikasi. Perusahaan tersebut memiliki persyaratan berikut:

  • Karena alasan keamanan, perusahaan ingin menghindari paparan kunci akun Alibaba Cloud kepada karyawan. Sebagai gantinya, perusahaan ingin memberikan izin tertentu kepada akun masing-masing karyawan.

  • Akun pengguna hanya dapat mengoperasikan sumber daya jika memiliki izin yang diperlukan. Akun-akun ini tidak memerlukan penagihan terpisah; semua biaya dibebankan ke akun perusahaan.

  • Izin untuk akun pengguna dapat dicabut kapan saja, dan akun pengguna juga dapat dihapus sewaktu-waktu.

  • Pemilik aplikasi hanya memiliki izin untuk aplikasi yang mereka kelola dan tidak dapat mengakses atau mengoperasikan aplikasi lain.

  • Penguji hanya memiliki izin untuk aplikasi dalam namespace pengujian dan tidak dapat mengakses atau mengoperasikan aplikasi dalam namespace produksi.

Langkah 1: Buat pengguna RAM

Untuk informasi selengkapnya, lihat Buat pengguna RAM.

Langkah 2: Berikan izin kepada pengguna RAM

Sebelum menggunakan pengguna RAM, Anda harus memberikan izin yang diperlukan kepada pengguna tersebut.

  1. Masuk ke Konsol RAM sebagai administrator RAM.

  2. Di panel navigasi sebelah kiri, pilih Identities > Users.

  3. Pada halaman Users, temukan pengguna RAM yang diperlukan, lalu klik Add Permissions di kolom Actions.

    image

    Anda juga dapat memilih beberapa pengguna RAM dan mengklik Add Permissions di bagian bawah halaman untuk memberikan izin kepada pengguna RAM tersebut sekaligus.

  4. Dalam panel Add Permissions, pilih kebijakan akses lalu klik OK.

    Pilih jenis kebijakan akses. Di kotak teks, masukkan kata kunci untuk kebijakan yang ingin Anda tambahkan. Klik kebijakan dalam hasil pencarian untuk menambahkannya ke daftar Selected di sebelah kanan.

    Jenis kebijakan akses mencakup kebijakan sistem dan kebijakan kustom:

    • Kebijakan sistem (Otorisasi kasar)

      Nama Kebijakan Akses

      Deskripsi

      AliyunMSEFullAccess

      Izin untuk mengelola MSE. Kebijakan ini setara dengan izin akun Alibaba Cloud. Pengguna RAM yang diberikan kebijakan ini memiliki izin untuk melakukan semua operasi di Konsol MSE.

      AliyunMSEReadOnlyAccess

      Izin read-only untuk MSE. Pengguna RAM yang diberikan kebijakan ini memiliki izin read-only di Konsol MSE.

      Catatan

      Berikan kebijakan AliyunMSEFullAccess kepada insinyur O&M agar mereka dapat membuat dan menghapus sumber daya. Berikan kebijakan AliyunMSEReadOnlyAccess kepada pengembang agar mereka dapat melihat sumber daya tetapi tidak dapat membuat atau menghapusnya.

    • Kebijakan kustom (Otorisasi granular)

      Jika Anda memerlukan otorisasi yang lebih granular, Anda dapat membuat kebijakan kustom. Untuk contohnya, lihat Contoh konfigurasi izin umum. Untuk mempelajari cara membuat kebijakan kustom, lihat Buat kebijakan kustom.

  5. Dalam panel Add Permissions, pastikan otorisasi telah selesai, lalu klik Close.

Contoh konfigurasi izin umum

Izin read-only untuk semua aplikasi

Anda dapat memberikan izin read-only untuk semua aplikasi, sehingga pengguna di perusahaan Anda dapat melihat informasi penting tentang aplikasi tersebut.

Misalnya, akun Alibaba Cloud dapat memberikan izin read-only kepada pengguna RAM atas semua aplikasi tata kelola layanan mikro yang dimiliki oleh akun tersebut.

Kebijakan akses yang sesuai adalah sebagai berikut:

{
  "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}"
    }
  ]
}

Izin penuh untuk aplikasi tertentu

Sebagai pemilik aplikasi di sebuah perusahaan, Anda dapat memperoleh izin penuh untuk aplikasi tersebut, yang dibatasi secara ketat hanya pada aplikasi yang Anda kelola.

Misalnya, akun Alibaba Cloud dapat memberikan izin berikut kepada pengguna RAM:

  • Pengguna RAM memiliki izin read-only untuk semua aplikasi tata kelola layanan mikro yang dimiliki oleh akun Alibaba Cloud.

  • Pengguna RAM memiliki izin read-only pada aplikasi administrasi layanan mikro tertentu.

Kebijakan akses yang sesuai adalah sebagai berikut:

{
  "Version": "1",
  "Statement": [
    // Grants full permissions for a specific microservices governance application
    {
      "Effect": "Allow",
      "Action": "mse:*",
      "Resource": "acs:mse:*:*:namespace/${ns}/application/${appName}"
    },
    // The following policy grants read-only permissions for all microservices governance applications
    {
      "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}"
    }
  ]

Izin penuh untuk namespace tertentu

Sebagai penguji di sebuah perusahaan, Anda dapat memperoleh izin untuk mengoperasikan semua aplikasi di lingkungan pengujian (namespace pengujian), yang dibatasi secara ketat hanya pada lingkungan tersebut.

Misalnya, akun Alibaba Cloud dapat memberikan izin berikut kepada pengguna RAM:

  • Pengguna RAM memiliki izin read-only untuk semua aplikasi tata kelola layanan mikro yang dimiliki oleh akun Alibaba Cloud.

  • Pengguna RAM memiliki izin baca dan tulis untuk namespace tata kelola layanan mikro tertentu.

Kebijakan akses yang sesuai adalah sebagai berikut:

{
"Version": "1",
    "Statement": [
        // Grants full permissions for a specific microservices governance namespace
        {
            "Effect": "Allow",
            "Action": "mse:*",
            "Resource": "acs:mse:*:*:namespace/${ns}/application/*"
        },
        // The following policy grants read-only permissions for all microservices governance applications
        {
            "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:*:*:*"
        },
        // Grants full permissions for a specific microservices governance namespace
        {
            "Effect": "Allow",
            "Action": [
                "mse:GetApplicationList",
                "mse:CreateOrUpdateSwimmingLaneGroup",
                "mse:CreateOrUpdateSwimmingLane",
                "mse:DeleteSwimmingLaneGroup",
                "mse:DeleteSwimmingLaneGroup",
                "mse:DeleteSwimmingLane"
            ],
            "Resource": "acs:mse:*:*:namespace/${ns}"
        }
    ]
}

Izin untuk integrasi cepat oleh pengguna RAM

Jika pengguna RAM perlu menyelesaikan proses integrasi cepat, pengguna tersebut harus memiliki setidaknya semua izin yang ditunjukkan dalam contoh berikut.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "mse:CheckServiceLinkRole",
        "mse:GetUserStatus",
        "mse:QueryNamespace",
        "mse:ListCsKubernetesClusters",
        "mse:CheckEciRole",
        "mse:ListCsKubernetesClusters",
        "mse:CheckCsRole",
        "mse:GetClusterOnePilotInfo",
        "mse:GetGovernanceKubernetesCluster",
        "mse:InstallOnePilot",
        "mse:CreateNamespace",
        "mse:ModifyGovernanceKubernetesCluster",
        "mse:QueryGovernanceKubernetesCluster",
        "mse:ListNamespaces"
      ],
      "Resource": "*"
    }
  ]
}

Izin baca dan tulis untuk semua sumber daya yang dikelola (hanya untuk pengujian izin, tidak disarankan untuk lingkungan produksi)

Bagian ini mencantumkan izin baca dan tulis untuk semua sumber daya yang mungkin digunakan dalam administrasi layanan. Hal ini membantu Anda meninjau dan memverifikasi izin pengguna RAM. Jangan salin kebijakan ini langsung ke lingkungan produksi. Dalam kebijakan berikut, Anda dapat mengganti konfigurasi Action dan Resource dengan mse:* dan acs:mse:*:*:*, masing-masing:

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "mse:AddAuthPolicy",
        "mse:AddServiceTimeConfig",
        "mse:AddWhiteScreenRule",
        "mse:ApplyGlobalReadWriteSplitRule",
        "mse:ApplyReadWriteSplitRule",
        "mse:ApplyTagPolicies",
        "mse:BatchUpdateRulesEnable",
        "mse:BindSentinelBlockFallbackDefinition",
        "mse:CheckCanaryPolicy",
        "mse:CheckCsRole",
        "mse:CheckEciRole",
        "mse:CheckRole",
        "mse:CheckServiceLinkedRoleForDeleting",
        "mse:CheckUserReadinessConfig",
        "mse:CheckXTraceServiceStatus",
        "mse:CloneSentinelRuleFromAhas",
        "mse:CreateApplication",
        "mse:CreateCircuitBreakerRule",
        "mse:CreateFlowRule",
        "mse:CreateGovernanceKubernetesCluster",
        "mse:CreateHotParamRule",
        "mse:CreateIsolationRule",
        "mse:CreateLicenseKey",
        "mse:CreateMseServiceApplication",
        "mse:CreateNamespace",
        "mse:CreateOrUpdateEmptyPushSetting",
        "mse:CreateOrUpdateSwimmingLane",
        "mse:CreateOrUpdateSwimmingLaneGroup",
        "mse:CreateSentinelBlockFallbackDefinition",
        "mse:CreateWebFlowRule",
        "mse:DeleteCircuitBreakerRules",
        "mse:DeleteFaultInjectionRule",
        "mse:DeleteFlowRules",
        "mse:DeleteGovernanceKubernetesCluster",
        "mse:DeleteHotParamRules",
        "mse:DeleteIsolationRules",
        "mse:DeleteNamespace",
        "mse:DeleteSentinelBlockFallbackDefinition",
        "mse:DeleteSwimmingLane",
        "mse:DeleteSwimmingLaneGroup",
        "mse:DeleteWebFlowRules",
        "mse:DeleteWhiteScreenRule",
        "mse:DescribeAppAgentStatus",
        "mse:FetchAppLogConfig",
        "mse:FetchDataSourceConfig",
        "mse:FetchGlobalReadWriteSplitRules",
        "mse:FetchLogConfig",
        "mse:FetchLosslessRuleList",
        "mse:FetchReadWriteSplitRules",
        "mse:FetchRoutePolicyList",
        "mse:FetchWhiteScreenRule",
        "mse:GenerateAgentLogSts",
        "mse:GetAppMessageQueueRoute",
        "mse:GetApplicationDetail",
        "mse:GetApplicationInstanceList",
        "mse:GetApplicationInstancesWithMetircs",
        "mse:GetApplicationList",
        "mse:GetApplicationListWithMetircs",
        "mse:GetApplicationTagList",
        "mse:GetAuthPolicyInfo",
        "mse:GetCanaryStatus",
        "mse:GetClusterOnePilotInfo",
        "mse:GetDubboServicePageWithMetrics",
        "mse:GetDubboTestMethod",
        "mse:GetGovernanceKubernetesCluster",
        "mse:GetGovernanceKubernetesClusterList",
        "mse:GetLicenseKey",
        "mse:GetLocalityDistributionMetrics",
        "mse:GetLocalityRule",
        "mse:GetLosslessRuleByApp",
        "mse:GetMockRuleByConsumerAppId",
        "mse:GetMockRuleById",
        "mse:GetMockRuleByProviderAppId",
        "mse:GetNetworkInfo",
        "mse:GetOpenSergoInfoByClusterId",
        "mse:GetOutlierPolicyInfo",
        "mse:GetOverview ",
        "mse:GetResourcePackageStatus",
        "mse:GetResourcePackageStatusWithVersion",
        "mse:GetRetryRule",
        "mse:GetRoutePolicy",
        "mse:GetServiceConsumersPage",
        "mse:GetServiceDetail",
        "mse:GetServiceList",
        "mse:GetServiceListPage",
        "mse:GetServiceMethodPage",
        "mse:GetServiceMethodPageWithMetrics",
        "mse:GetServiceProvidersPage",
        "mse:GetSpringCloudTestMethod",
        "mse:GetTagKey",
        "mse:GetTagVal",
        "mse:GetTagsBySwimmingLaneGroupId",
        "mse:GetTrace",
        "mse:GetUserStatus",
        "mse:InstallOnePilot",
        "mse:InvokeDubboTestMethod",
        "mse:InvokeIstioTestMethod",
        "mse:InvokeSpringCloudTestMethod",
        "mse:ListAdaptiveOverloadProtectionConfig",
        "mse:ListAppBySwimmingLaneGroupTag",
        "mse:ListAppBySwimmingLaneGroupTags",
        "mse:ListAppResource",
        "mse:ListAppResourceWithMetrics",
        "mse:ListApplicationTagInstancese",
        "mse:ListApplicationsWithTagRules",
        "mse:ListAuthPolicy",
        "mse:ListCircuitBreakerRules",
        "mse:ListConnectedSwimmingLaneGroup",
        "mse:ListCsKubernetesClusters",
        "mse:ListDefaultCircuitBreakerRules",
        "mse:ListEventOfReource",
        "mse:ListEventRecords",
        "mse:ListEventsByType",
        "mse:ListEventsPage",
        "mse:ListEventsPageByType",
        "mse:ListFlowRules",
        "mse:ListHotParamRules",
        "mse:ListIpOrHosts",
        "mse:ListIsolationRules",
        "mse:ListKubernetesNamespace",
        "mse:ListLogSpanServices",
        "mse:ListMscEventRecords",
        "mse:ListNamespaces",
        "mse:ListProtectedAppResourceWithMetrics",
        "mse:ListResourceWhiteListConfigs",
        "mse:ListResources",
        "mse:ListSentinelBlockFallbackDefinitions",
        "mse:ListSpanNames",
        "mse:ListSwimPathPercent",
        "mse:ListSwimmingLaneGatewayRoute",
        "mse:ListWebFlowRules",
        "mse:ModifyAdaptiveOverloadProtectionConfig",
        "mse:ModifyGovernanceKubernetesCluster",
        "mse:ModifyLosslessRule",
        "mse:ModifyNamespace",
        "mse:OpenXTraceService",
        "mse:QueryAhasUserStatus",
        "mse:QueryAllSwimmingLane",
        "mse:QueryAllSwimmingLaneGroup",
        "mse:QueryAppDataSourceList",
        "mse:QueryAppListMetrics",
        "mse:QueryAppMethodMetrics",
        "mse:QueryAppMethodMetricsWithSentinel",
        "mse:QueryAppRPCMacMetrics",
        "mse:QueryAppResourceMetrics",
        "mse:QueryAppResourceMetricsByInstance",
        "mse:QueryAppSummaryMetricsOverview",
        "mse:QueryAppSummaryMetricsOverviewWithSentinel",
        "mse:QueryAppSystemMetricsOfGroup",
        "mse:QueryAppSystemMetricsOfGroupByInstance",
        "mse:QueryAppTopNMacs",
        "mse:QueryDatabaseRoute",
        "mse:QueryEmptyPushSetting",
        "mse:QueryEventOverview",
        "mse:QueryGovernanceKubernetesCluster",
        "mse:QueryMetricsAveragedByInstance",
        "mse:QueryNamespace",
        "mse:QueryNginxIngressGateway",
        "mse:QueryResourceTopN",
        "mse:QueryServiceDetailWithMetrics",
        "mse:QuerySwimmingLaneById",
        "mse:RemoveApplication",
        "mse:RemoveApplications",
        "mse:RemoveAuthPolicy",
        "mse:RemoveOutlierPolicy",
        "mse:RemoveRoutePolicy",
        "mse:ReportAgentInfoForm",
        "mse:ReportAgentStartupStatus",
        "mse:ReportAppProfile",
        "mse:ReportEventBatchForm",
        "mse:ReportMetadataForm",
        "mse:ReportOneAgentInfo",
        "mse:ReportOnePilotInfo",
        "mse:ReportSpanStatInfoForm",
        "mse:RevertApplicationRoutePolicy",
        "mse:SearchTraces",
        "mse:TagResources",
        "mse:UnbindSentinelBlockFallbackDefinition",
        "mse:UpdateAppLogConfig",
        "mse:UpdateAuthPolicy",
        "mse:UpdateCircuitBreakerRule",
        "mse:UpdateCircuitBreakerRulesStatus",
        "mse:UpdateDatabaseRoute",
        "mse:UpdateDefaultCircuitBreakerRule",
        "mse:UpdateFlowRule",
        "mse:UpdateFlowRulesStatus",
        "mse:UpdateGovernanceServiceSubscribe",
        "mse:UpdateHotParamRule",
        "mse:UpdateHotParamRulesStatus",
        "mse:UpdateInstanceRegisterStatus",
        "mse:UpdateIsolationRule",
        "mse:UpdateIsolationRulesStatus",
        "mse:UpdateLocalityRule",
        "mse:UpdateLogConfig",
        "mse:UpdateMessageQueueRoute",
        "mse:UpdateOpenSergoStatusByClusterId",
        "mse:UpdateResourceWhiteListConfig",
        "mse:UpdateSentinelBlockFallbackDefinition",
        "mse:UpdateWebFlowRule",
        "mse:UpdateWebFlowRulesStatus",
        "mse:UpdateWhiteScreenRule",
        "mse:listGrayTag"
      ],
      "Resource": "acs:mse:*:*:*"
    }
  ]
}