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.
Masuk ke Konsol RAM sebagai administrator RAM.
Di panel navigasi sebelah kiri, pilih .
Pada halaman Users, temukan pengguna RAM yang diperlukan, lalu klik Add Permissions di kolom Actions.

Anda juga dapat memilih beberapa pengguna RAM dan mengklik Add Permissions di bagian bawah halaman untuk memberikan izin kepada pengguna RAM tersebut sekaligus.
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.
CatatanBerikan 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.
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:*:*:*"
}
]
}