Todos los productos
Search
Centro de documentos

Resource Access Management:Create a custom policy

Última actualización: Sep 29, 2026

Cree una política personalizada para implementar una gestión detallada de permisos.

Métodos de creación

  • Using the visual editor

    RAM ofrece un editor visual WYSIWYG. Genere una política personalizada al seleccionar un efecto, servicio, acción, recurso y condición. Una función de validación inteligente integrada ayuda a comprobar que la política sea válida y efectiva. Este método es muy sencillo.

  • Using the script editor

    RAM proporciona un editor de scripts JSON. Escriba la política personalizada según la sintaxis y estructura correspondientes. Esta opción ofrece mayor flexibilidad y resulta ideal si usted conoce bien la sintaxis de las políticas.

  • By importing a policy

    • Importar una plantilla de política: RAM incluye plantillas para escenarios comunes, como administradores de sistemas, personal financiero y administradores de red. Importe la plantilla adecuada y aplique modificaciones menores para crear rápidamente una política personalizada.

    • Importar una política del sistema: importe una política del sistema y modifíquela según sus necesidades de negocio. Esta es una forma práctica y rápida de generar una política personalizada a partir de una plantilla estandarizada.

Uso del editor visual

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

  2. En el panel de navegación izquierdo, seleccione Permissions > Policies.

  3. En la página Policies, haga clic en Create Policy.

  4. En la página Create Policy, haga clic en la pestaña Visual Editor.

    El editor visual muestra un formulario de declaración con los siguientes campos: Effect (obligatorio, se puede establecer en Allow o Deny, valor predeterminado: Allow), Service (obligatorio), Action (obligatorio), Resource (obligatorio) y Condition (opcional). Seleccione un servicio antes de configurar Action, Resource y Condition. En la parte inferior de la página, haga clic en Add Statement para agregar más declaraciones.

  5. Configure la política.

    Para obtener más información sobre los elementos básicos de una política, consulte Permission policy elements.

    1. En la sección Effect, seleccione Allow o Deny.

    2. En la sección Service, seleccione un servicio.

      Nota

      La consola muestra los servicios compatibles con el editor visual.

    3. En la sección Action, seleccione All action(s) o Select action(s).

      El sistema enumera automáticamente las acciones disponibles según el servicio seleccionado en el paso anterior. Si elige Select action(s), deberá seleccionar después las acciones específicas.

    4. En la sección Resources, seleccione All Resources o Specified resource(s).

      El sistema lista automáticamente los tipos de recursos disponibles según las acciones seleccionadas. Si elige Specified resource(s), haga clic en Add Resource para especificar los ARN. Utilice la función Match All para seleccionar rápidamente todos los recursos de un elemento de configuración.

      Nota

      La interfaz marca como Required los ARN de las acciones asociadas. Especifique estos ARN para garantizar que la política funcione correctamente.

    5. En la sección Condition, haga clic en Add Condition para configurar las condiciones.

      Las condiciones incluyen las condiciones comunes de Alibaba Cloud y las específicas de cada servicio. El sistema enumera automáticamente las condiciones disponibles según el servicio y las acciones configuradas. Solo tiene que seleccionar una clave de condición y establecer su valor.

    6. Haga clic en Add Statement y repita los pasos anteriores para configurar varias declaraciones.

  6. En la parte superior de la página, haga clic en Optimize y luego en Perform para aplicar una optimización avanzada a la política.

    La función de optimización avanzada de políticas ejecuta las siguientes tareas:

    • Divide recursos o condiciones para acciones incompatibles.

    • Reduce el alcance de los recursos.

    • Elimina declaraciones duplicadas o combina declaraciones.

  7. En la página Create Policy, haga clic en OK.

  8. En el cuadro de diálogo Create Policy, introduzca un valor en Policy Name y en Description, y luego haga clic en OK.

Uso del editor de scripts

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

  2. En el panel de navegación izquierdo, seleccione Permissions > Policies.

  3. En la página Policies, haga clic en Create Policy.

  4. En la página Create Policy, haga clic en la pestaña JSON Editor.

    La página muestra un editor JSON. La plantilla de política predeterminada incluye un elemento Version (establecido en "1") y una matriz Statement. Cada declaración contiene los elementos Effect (con valor predeterminado "Allow"), Action, Resource y Condition. Debe completar los elementos Action y Resource.

  5. Introduzca el contenido de la política.

    Para obtener más información sobre la sintaxis y estructura de las políticas, consulte Policy structure and syntax.

  6. En la parte superior de la página, haga clic en Optimize y luego en Perform para aplicar una optimización avanzada a la política.

    La función de optimización avanzada de políticas ejecuta las siguientes tareas:

    • Divide recursos o condiciones para acciones incompatibles.

    • Reduce el alcance de los recursos.

    • Elimina declaraciones duplicadas o combina declaraciones.

  7. En la página Create Policy, haga clic en OK.

  8. En el cuadro de diálogo Create Policy, introduzca un valor en Policy Name y en Description, y luego haga clic en OK.

Ejemplos comunes de políticas personalizadas

A continuación se muestran escenarios comunes y su JSON correspondiente para configurar políticas personalizadas en el modo JSON Editor. Estos ejemplos le ayudarán a escribir políticas con mayor rapidez.

Escenario 1: Otorgar permisos de gestión de usuarios de RAM (nivel de cuenta)

Las API de gestión de usuarios de RAM (como ram:CreateUser, ram:CreateAccessKey y ram:ListUsers) son operaciones a nivel de cuenta. El elemento Resource debe establecerse en "*". Al otorgar el permiso, establezca el alcance de autorización en Entire Alibaba Cloud Account. Estas operaciones no se pueden restringir a un resource group.

Ejemplo de política: permite crear usuarios de RAM y AccessKeys.


{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ram:CreateUser",
        "ram:CreateAccessKey",
        "ram:ListUsers"
      ],
      "Resource": ["*"]
    }
  ]
}
Importante

Si establece el alcance de autorización de esta política en un resource group específico, la política no surtirá efecto. Las operaciones de gestión de usuarios de RAM solo admiten el alcance de autorización Entire Alibaba Cloud Account.

Escenario 2: Permitir que los usuarios de RAM cambien únicamente su propia contraseña

Para permitir que un usuario de RAM cambie solo su propia contraseña de inicio de sesión, otorgue el permiso ram:ChangePassword. No otorgue AliyunRAMFullAccess (permisos de acceso total a RAM), ya que los permisos excesivos representan riesgos de seguridad.

Ejemplo de política: permite cambiar únicamente la propia contraseña.


{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ram:ChangePassword"
      ],
      "Resource": ["*"]
    }
  ]
}

Escenario 3: Otorgar acceso de solo lectura a un recurso específico (con una instancia ECS como ejemplo)

Para permitir que un usuario de RAM consulte solo una instancia ECS específica, especifique el ARN de la instancia en el elemento Resource. El formato del ARN es acs:ecs:{region}:{account-id}:instance/{instance-id}. Tenga en cuenta que después de instance debe ir una barra diagonal /.

Ejemplo de política: permite consultar únicamente la instancia ECS especificada.


{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecs:DescribeInstances",
        "ecs:DescribeInstanceAttribute",
        "ecs:DescribeInstanceStatus"
      ],
      "Resource": [
        "acs:ecs:*:*:instance/i-bp1xxxxxxxxxxxxxxxxx"
      ]
    }
  ]
}
Nota

Reemplace i-bp1xxxxxxxxxxxxxxxxx por el ID real de la instancia ECS. Para otorgar acceso a varias instancias, agregue múltiples ARN a la matriz Resource, separados por comas.

Escenario 4: Autorización detallada para Simple Log Service (SLS)

Las operaciones de consulta en Simple Log Service requieren ARN a nivel de proyecto y de logstore. Si las llamadas del SDK siguen devolviendo errores de permiso denegado, agregue los permisos log:GetProject y log:GetLogStore.

Ejemplo de política: permite consultar los datos de registro de un logstore específico.


{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "log:GetLogStoreLogs",
        "log:CreateStoreView",
        "log:GetProject",
        "log:GetLogStore"
      ],
      "Resource": [
        "acs:log:*:*:project/exampleproject",
        "acs:log:*:*:project/exampleproject/logstore/examplelogstore"
      ]
    }
  ]
}
Nota

Reemplace exampleproject y examplelogstore por el nombre real del proyecto y del logstore.

Escenario 5: Configurar acciones específicas no compatibles con el editor visual

Algunas acciones de ciertos productos no se pueden seleccionar en el modo Visual Editor y deben configurarse manualmente en el modo JSON Editor. Entre las acciones comunes de este tipo se encuentran:

Producto

Acción

Descripción

Server Guard (Security Center)

yundun-sc:DescribeCdnIpList

Consulta la lista de IP de CDN

Milvus

CreateConnection, DbmConnect, entre otras

Permisos necesarios para iniciar sesión en la consola de Milvus

Escenario 6: Permisos mínimos para el despliegue de ECS

La creación de una instancia ECS implica una combinación de acciones en varios servicios. La política de privilegio mínimo debe incluir tanto los permisos de operación de la instancia como los permisos de consulta para la red y los security groups.

Ejemplo de política: los permisos mínimos necesarios para crear y desplegar una instancia ECS.


{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecs:RunInstances",
        "ecs:DescribeInstances",
        "vpc:DescribeVpcs",
        "vpc:DescribeVSwitches",
        "ecs:DescribeSecurityGroups"
      ],
      "Resource": ["*"]
    }
  ]
}

Descripción de las acciones: ecs:RunInstances (crea e inicia una instancia), ecs:DescribeInstances (consulta la información de la instancia), vpc:DescribeVpcs y vpc:DescribeVSwitches (permiten seleccionar la VPC y el vSwitch al crear la instancia), ecs:DescribeSecurityGroups (selecciona el security group).

Escenario 7: Permisos mínimos para la configuración de red VPC

A continuación se muestra la política de permisos mínimos necesaria para crear una nube privada virtual (VPC) y un vSwitch.

Ejemplo de política: los permisos mínimos requeridos para crear una VPC y un vSwitch.


{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "vpc:CreateVpc",
        "vpc:CreateVSwitch",
        "vpc:CreateSecurityGroup",
        "vpc:DescribeVpcs",
        "vpc:DescribeVSwitches"
      ],
      "Resource": ["*"]
    }
  ]
}

Descripción de las acciones: vpc:CreateVpc (crea una VPC), vpc:CreateVSwitch (crea un vSwitch), vpc:CreateSecurityGroup (crea un security group), vpc:DescribeVpcs y vpc:DescribeVSwitches (consultan los recursos de red existentes).

Solución de problemas de errores de permiso denegado

Cuando un usuario de RAM llama a una API y recibe un error AccessForbidden, o la consola muestra un mensaje de permiso denegado, resuelva el problema de la siguiente manera:

  1. Use la herramienta API Troubleshoot para localizar los permisos faltantes

    Introduzca el RequestID devuelto con el error en la herramienta API Troubleshoot de Alibaba Cloud. La herramienta muestra el AuthAction faltante específico, lo que le permite agregar los permisos necesarios según las indicaciones.

  2. Compruebe que el alcance de autorización coincida

    Para las operaciones a nivel de cuenta (como ram:CreateUser), el alcance de autorización debe ser Entire Alibaba Cloud Account. En el caso de las API compatibles con resource groups, asegúrese de que la política se otorgue al resource group correcto o a Entire Alibaba Cloud Account. Si el alcance de autorización no coincide con la definición de Resource en la política, los permisos no surtirán efecto.

  3. Revise los permisos de dependencia implícitos

    Además de la acción principal, algunas operaciones requieren permisos básicos asociados, como Describe, List o Connect, para funcionar correctamente. Por ejemplo:

    • Simple Log Service (SLS): además de log:GetLogStoreLogs para consultar registros, también necesita los permisos log:GetProject y log:GetLogStore.

    • Milvus: además de los permisos de operación principales para iniciar sesión en la consola, necesita permisos de conexión como CreateConnection y DbmConnect.

    Se recomienda consultar la documentación de autorización de RAM del servicio de Alibaba Cloud correspondiente para agregar los permisos necesarios.

Optimizar una política demasiado extensa

El contenido JSON de una política personalizada no puede superar los 6144 bytes. Cuando se excede este límite, la operación CreatePolicy devuelve un error InvalidParameter.PolicyDocument.Length (con el mensaje "The policy document size is limited to 6144 bytes"). Utilice los siguientes métodos para reducir la longitud de la política.

Dividir una política por función

Divida una política extensa que abarque varias funciones en políticas independientes y asigne cada una a un usuario o grupo de usuarios de RAM distinto. Por ejemplo, separe las operaciones de lectura y escritura en dos políticas:

  • Política de solo lectura: {"Action": ["oss:Get*", "oss:List*"]}

  • Política de escritura: {"Action": ["oss:Put*", "oss:Delete*"]}

Dividir una política por recurso

Divida las políticas por recurso. Por ejemplo, separe los permisos de distintos buckets de OSS en diferentes políticas, de modo que cada una otorgue permisos únicamente para un bucket específico. Esto evita que una sola política gestione demasiados recursos.

Notas de uso

  • Al configurar una política en el editor visual, evite seleccionar todas las acciones. Elija primero el conjunto de acciones con el menor privilegio posible.

  • Después de dividir una política, debe otorgar cada política resultante a los usuarios o grupos de usuarios de RAM por separado, lo que aumenta la complejidad de la gestión.

  • Los comodines pueden provocar una autorización excesiva. Revise cuidadosamente el alcance de los permisos antes de usarlos.

  • Una política surte efecto inmediatamente después de otorgarse. No es necesario esperar.

Mediante la importación de una política

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

  2. En el panel de navegación izquierdo, seleccione Permissions > Policies.

  3. En la página Policies, haga clic en Create Policy.

  4. En la página Create Policy, haga clic en Import Policy.

  5. En el cuadro de diálogo Import Policy, seleccione una plantilla de política o una System Policy en la lista desplegable de la esquina superior derecha y luego importe la política.

    1. Seleccione una plantilla de política o una política del sistema.

    2. Para algunas plantillas de política, debe configurar parámetros según sus requisitos de negocio.

    3. Seleccione una regla de sobrescritura para la política importada.

      De forma predeterminada, el contenido de la política recién importada sobrescribe por completo el contenido existente. También puede elegir Do NOT overwrite but append new statements. para agregar el contenido importado al final del existente.

    4. Haga clic en Import.

  6. Consulte y modifique el contenido de la política importada en el editor visual o en el editor de scripts.

  7. En la parte superior de la página, haga clic en Optimize y luego en Perform para aplicar una optimización avanzada a la política.

    La función de optimización avanzada de políticas ejecuta las siguientes tareas:

    • Divide recursos o condiciones para acciones incompatibles.

    • Reduce el alcance de los recursos.

    • Elimina declaraciones duplicadas o combina declaraciones.

  8. En la página Create Policy, haga clic en OK.

  9. En el cuadro de diálogo Create Policy, introduzca un valor en Policy Name y en Description, y luego haga clic en OK.

Preguntas frecuentes

¿Por qué no encuentro ciertos permisos en el editor visual o por qué falla el guardado de una política?

Este problema puede deberse a las siguientes razones:

  • Algunas acciones no están actualizadas en la lista visual: es posible que ciertas API recién publicadas o de bajo nivel aún no se hayan sincronizado con la lista de acciones del modo Visual Editor. También puede haber conflictos de análisis sintáctico con algún comodín (como swas-open:*) bajo restricciones de recursos específicas. Se recomienda cambiar al modo JSON Editor e introducir la acción manualmente.

  • El nombre de la acción está mal escrito: algunos nombres de acciones de API tienen diferencias entre singular y plural (por ejemplo, la operación de ECS para reinicializar un disco es ecs:ReInitDisks y no ecs:ReInitDisk). Compruebe el nombre exacto de la acción en la documentación de API del servicio de Alibaba Cloud correspondiente.

  • La política del sistema no está sincronizada: si no encuentra una política del sistema específica (como AliyunAccountCenterFullAccess), consulte el contenido JSON oficial de dicha política y cree una política personalizada con el mismo efecto en el modo JSON Editor.

  • Error en la validación del formato JSON: compruebe que la sintaxis JSON sea correcta. Preste especial atención a los siguientes errores comunes:

    • No se puede definir Resource más de una vez. Para especificar varios recursos, inclúyalos en una sola matriz, separados por comas.

    • El formato del ARN debe cumplir con el siguiente patrón: acs:<service>:<region>:<account-id>:<resource-type>/<resource-id>.

¿Por qué no puedo acceder a la consola ni ejecutar operaciones después de otorgar FullAccess o una política personalizada?

Este problema puede deberse a las siguientes razones:

  • El acceso a la consola requiere permisos básicos adicionales: además de los permisos de negocio, algunas consolas de productos (como los servicios de valor agregado de registro ICP) también necesitan permisos básicos de acceso a la consola, como PowerUserAccess. Una política FullAccess específica del negocio podría no ser suficiente para cargar la página de la consola. Consulte la documentación del producto para confirmar la combinación completa de permisos necesaria.

  • El alcance de autorización no coincide con Resource en la política: el alcance de autorización seleccionado al otorgar el permiso (Entire Alibaba Cloud Account o un resource group específico) debe ser coherente con la definición de Resource en la política. Por ejemplo, las operaciones a nivel de instancia, como las de OceanBase, requieren que el alcance de autorización sea Entire Alibaba Cloud Account, con el ARN de la instancia específica definido en la política.

  • Conflicto de políticas o anulación por Deny: compruebe si una declaración Deny anula un Allow, o si existe un conflicto entre sus políticas personalizadas y las del sistema. La lógica de evaluación de políticas de RAM es: Deny explícito > Allow > Deny predeterminado. En escenarios complejos (como el acceso a la red pública de MQTT), si una política personalizada no surte efecto, se recomienda utilizar primero la política del sistema recomendada oficialmente (como AliyunMQFullAccess) para comprobar la conectividad y luego ajustar los permisos paso a paso.