Todos los productos
Search
Centro de documentos

Microservices Engine:Grant permissions for the Microservices Governance Center

Última actualización: Sep 05, 2026

Microservices Engine (MSE) utiliza Resource Access Management (RAM) para controlar el acceso a Microservices Governance Center. En lugar de compartir las credenciales de su cuenta de Alibaba Cloud, cree usuarios de RAM y otorgue a cada uno únicamente los permisos necesarios. Puede otorgar permisos desde la consola o mediante llamadas a operaciones de OpenAPI.

Escenarios

En una empresa típica, los miembros del equipo tienen distintas responsabilidades y requieren diferentes niveles de acceso:

Rol

Nivel de acceso

Ejemplo

Ingeniero de O&M

Acceso total

Crear, configurar y eliminar recursos de MSE

Desarrollador

Configuración de reglas

Configurar reglas de aplicación

Propietario de aplicación

Acceso total con alcance limitado

Gestionar una aplicación y consultar todas las demás

Tester

Alcance limitado al namespace

Gestionar solo las aplicaciones del namespace de pruebas

Con RAM, usted puede:

  • Otorgar a cada miembro del equipo únicamente los permisos que requiere su rol.

  • Mantener todos los costos de recursos bajo la cuenta empresarial, sin facturación separada para los usuarios de RAM.

  • Revocar permisos o eliminar un usuario de RAM en cualquier momento.

Paso 1: Crear un usuario de RAM

Cree un usuario de RAM para cada miembro del equipo que necesite acceso. Para obtener instrucciones, consulte Crear un usuario de RAM.

Paso 2: Otorgar permisos al usuario de RAM

Antes de que un usuario de RAM pueda trabajar con MSE, debe otorgarle los permisos necesarios.

  1. Inicie sesión en la consola de RAM como administrador de RAM.

  2. En el panel de navegación izquierdo, seleccione Identities > Users.

  3. En la página Users, localice al usuario de RAM y haga clic en Add Permissions en la columna Actions. Para otorgar los mismos permisos a varios usuarios simultáneamente, seleccione los usuarios y haga clic en Add Permissions en la parte inferior de la página.

    Add Permissions button in the Actions column

  4. En el panel Add Permissions, seleccione un tipo de directiva de acceso. En el cuadro de texto, introduzca una palabra clave correspondiente a la directiva que desea agregar. Haga clic en la directiva dentro de los resultados de búsqueda para añadirla a la lista Selected Policy de la derecha y, a continuación, haga clic en OK.

  5. Confirme el resultado de la autorización y haga clic en Close.

Directivas del sistema y directivas personalizadas

RAM proporciona dos tipos de directivas de acceso: directivas del sistema para un control de acceso general y directivas personalizadas para restricciones detalladas.

Directivas del sistema (grano grueso)

MSE ofrece dos directivas del sistema integradas:

Nombre de la directiva

Descripción

Recomendada para

AliyunMSEFullAccess

Permisos completos para todas las operaciones de MSE. Esta directiva equivale a los permisos de una cuenta de Alibaba Cloud.

Ingenieros de O&M que crean y gestionan recursos

AliyunMSEReadOnlyAccess

Acceso de solo lectura a la consola de MSE

Desarrolladores que solo necesitan consultar configuraciones y métricas

Directivas personalizadas (grano fino)

Cuando las directivas del sistema son demasiado amplias, cree directivas personalizadas para restringir el acceso a namespaces, aplicaciones o acciones de API específicos. Para obtener instrucciones, consulte Create a custom policy.

Las siguientes secciones proporcionan plantillas de directivas listas para usar en escenarios comunes.

Ejemplos de directivas personalizadas

Formato del identificador de recurso

Las directivas de MSE utilizan los siguientes patrones de ARN de recurso:

Alcance

ARN de recurso

Todos los recursos de MSE

acs:mse:*:*:*

Un namespace específico

acs:mse:*:*:namespace/${ns}

Todas las aplicaciones en un namespace

acs:mse:*:*:namespace/${ns}/application/*

Una aplicación específica

acs:mse:*:*:namespace/${ns}/application/${appName}

Reemplace ${ns} con el ID del namespace y ${appName} con el nombre de la aplicación.

Acceso de solo lectura a todas las aplicaciones

Otorgue esta directiva a los miembros del equipo que necesitan supervisar el estado y las métricas de las aplicaciones, pero no deben modificar ninguna configuración.

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

Acceso total a una aplicación específica

Otorgue esta directiva a los propietarios de aplicaciones que gestionan su propia aplicación pero no deben modificar las demás. La directiva combina permisos totales para una aplicación con acceso de solo lectura a todo lo demás.

La directiva contiene tres declaraciones:

  • Declaración 1: Permisos totales (mse:*) limitados a la aplicación objetivo.

  • Declaraciones 2-3: Acceso de solo lectura a todas las aplicaciones para la navegación en la consola.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "mse:*",
      "Resource": "acs:mse:*:*:namespace/${ns}/application/${appName}"
    },
    {
      "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}"
    }
  ]
}

Acceso total a un namespace específico

Otorgue esta directiva a los testers que gestionan todas las aplicaciones en un entorno de pruebas pero no deben acceder a los recursos de producción.

La directiva contiene tres declaraciones:

  • Declaración 1: Permisos totales para todas las aplicaciones en el namespace objetivo.

  • Declaración 2: Acceso de solo lectura a recursos globales de la consola, incluidas listas de aplicaciones, configuraciones de carriles de tráfico, directivas de autenticación y listas de servicios.

  • Declaración 3: Permisos a nivel de namespace para listar aplicaciones y gestionar carriles de tráfico.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "mse:*",
      "Resource": "acs:mse:*:*:namespace/${ns}/application/*"
    },
    {
      "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:*:*:*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "mse:GetApplicationList",
        "mse:CreateOrUpdateSwimmingLaneGroup",
        "mse:CreateOrUpdateSwimmingLane",
        "mse:DeleteSwimmingLaneGroup",
        "mse:DeleteSwimmingLaneGroup",
        "mse:DeleteSwimmingLane"
      ],
      "Resource": "acs:mse:*:*:namespace/${ns}"
    }
  ]
}

Permisos para integración rápida

Un usuario de RAM que ejecuta el asistente de integración rápida necesita los siguientes permisos mínimos para descubrir clústeres, instalar agentes y gestionar namespaces.

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

Acceso total de lectura y escritura a todos los recursos gobernados

Aviso

Esta directiva otorga acceso sin restricciones a cada recurso de gobernanza de MSE. Úsela únicamente para pruebas de permisos. No la aplique en producción.

La siguiente directiva enumera cada acción de API de gobernanza de MSE. En producción, reemplace Action por mse:* y Resource por acs:mse:*:*:* para obtener el mismo efecto con menor mantenimiento.

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