Todos los productos
Search
Centro de documentos

Elastic Container Instance:Uso de etiquetas para autenticar un usuario de RAM

Última actualización: Sep 04, 2026

Cuando se gestionan recursos de ECI en varios equipos o entornos, listar los ID de recursos individuales en cada directiva de RAM no es escalable. Con el control de acceso basado en etiquetas, también conocido como control de acceso basado en atributos (ABAC), una sola directiva rige todos los recursos que tienen la etiqueta requerida y elimina la necesidad de actualizar las directivas por cada recurso.

Este documento muestra cómo configurar una directiva de RAM que restringe a un usuario de RAM a los recursos de ECI etiquetados con env:test, y explica cómo ECI evalúa las condiciones de etiqueta para cada tipo de operación.

El siguiente diagrama muestra cómo funciona la autenticación basada en etiquetas.

Tag-based authentication flow

Las etiquetas se pueden vincular a instancias de contenedor elástico, cachés de imágenes y nodos virtuales. Las etiquetas solo se pueden adjuntar cuando se crea o actualiza un recurso. Para obtener más información, consulte Use tags to manage elastic container instances .

Funcionamiento

ECI admite dos claves de condición de etiqueta para las directivas de RAM:

Condition Key

What It Checks

When to Use It

acs:RequestTag

La etiqueta incluida en la propia solicitud de API

Operaciones de API que aceptan parámetros de etiqueta (por ejemplo, operaciones de creación)

acs:ResourceTag

La etiqueta ya adjunta al recurso de destino

Operaciones de API que requieren un ID de recurso (por ejemplo, operaciones de actualización, eliminación y otras operaciones del ciclo de vida)

La clave que aplica depende de si la operación de API acepta un ID de recurso, una etiqueta o ambos. Consulte Lógica de autenticación por tipo de operación para obtener un desglose completo.

Ejemplo de configuración

Este ejemplo otorga a un usuario de RAM acceso únicamente a los recursos de ECI etiquetados con env:test.

Tag-based authentication scenario

La directiva cubre tres requisitos:

Requirement

Permitted Action

Crear

El usuario de RAM puede crear recursos de ECI solo si la etiqueta env:test está incluida en la solicitud.

Operar

El usuario de RAM puede realizar cualquier operación en recursos de ECI que ya tengan la etiqueta env:test.

Consultar

El usuario de RAM puede listar o describir solo los recursos de ECI etiquetados con env:test al momento de la solicitud.

Paso 1: Cree una directiva personalizada y adjúntela al usuario de RAM

  1. Inicie sesión en RAM console con su cuenta de Alibaba Cloud.

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

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

  4. Haga clic en la pestaña Import Policy. En el cuadro de diálogo, seleccione System Policy en la lista desplegable Policy Template, busque AliyunECIFullAccess en el cuadro Filter templates, seleccione la directiva y haga clic en Import. AliyunECIFullAccess es la directiva predeterminada para ECI. Otorga permisos para operar recursos de ECI, consultar dependencias como grupos de seguridad y nubes privadas virtuales (VPC), y crear el rol vinculado al servicio de ECI.

  5. Haga clic en la pestaña JSON Editor y reemplace el documento de directiva con lo siguiente: La directiva asigna cada requisito a una clave de condición específica:

    • acs:RequestTag comprueba la etiqueta enviada en la solicitud (se usa para operaciones de creación y descripción).

    • acs:ResourceTag comprueba la etiqueta que ya tiene el recurso de destino (se usa para operaciones de gestión).

    Cada declaración incluye Effect , Action , Resource y, opcionalmente, Condition . Para obtener más información, consulte Policy structure and syntax y Policy elements .

    Requirement

    Action

    Condition Key

    Condition Value

    Crear con etiqueta

    eci:Create*

    acs:RequestTag/env

    test

    Operar recursos etiquetados

    eci:*

    acs:ResourceTag/env

    test

    Consultar recursos etiquetados

    eci:Describe*

    acs:RequestTag/env

    test

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "eci:Create*",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "acs:RequestTag/env": "test"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": "eci:*",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "acs:ResourceTag/env": "test"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": "eci:Describe*",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "acs:RequestTag/env": "test"
            }
          }
        },
        {
          "Action": ["ecs:DescribeSecurityGroups"],
          "Resource": "*",
          "Effect": "Allow"
        },
        {
          "Action": [
            "vpc:DescribeVSwitches",
            "vpc:DescribeVpcs",
            "vpc:DescribeEipAddresses"
          ],
          "Resource": "*",
          "Effect": "Allow"
        },
        {
          "Action": "ram:CreateServiceLinkedRole",
          "Resource": "*",
          "Effect": "Allow",
          "Condition": {
            "StringEquals": {
              "ram:ServiceName": [
                "eci.aliyuncs.com",
                "vnode.eci.aliyuncs.com"
              ]
            }
          }
        }
      ]
    }
  6. Haga clic en Next to edit policy information, introduzca un nombre para la directiva y haga clic en OK.

  7. Adjunte la directiva al usuario de RAM:

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

    2. Si aún no tiene un usuario de RAM, cree uno. Para obtener más información, consulte Create a RAM user.

    3. Adjunte la directiva personalizada al usuario de RAM. Para obtener más información, consulte Manage RAM user permissions.

    La directiva anterior cubre el acceso basado en API. Si el usuario de RAM también necesita acceso a la consola, adjunte directivas adicionales. Para obtener más información, consulte Grant permissions to RAM users .

Paso 2: Compruebe la directiva

Inicie sesión en la consola de OpenAPI Explorer como el usuario de RAM y pruebe cada operación:

Operation

Scenario

Expected Result

Crear

La solicitud incluye la etiqueta env:test

Correcto

Crear

La solicitud no tiene etiqueta o tiene una diferente

Error: permiso denegado

Eliminar

La instancia de destino tiene la etiqueta env:test

Correcto

Eliminar

La instancia de destino no tiene la etiqueta env:test

Error: permiso denegado

Consulta

Especifique un ID de instancia (la instancia tiene env:test), sin etiqueta en la solicitud

Devuelve la instancia

Consulta

Especifique un ID de instancia (la instancia tiene env:test) y la etiqueta env:test

Devuelve la instancia

Consulta

Especifique un ID de instancia (la instancia no tiene env:test)

Devuelve un resultado vacío

Consulta

Especifique solo la etiqueta env:test, sin ID de instancia

Devuelve todas las instancias con env:test

Consulta

Sin ID de instancia y sin etiqueta especificada

Devuelve un resultado vacío

Lógica de autenticación por tipo de operación

Después de adjuntar una directiva basada en etiquetas a un usuario de RAM, ECI evalúa cada solicitud de API con la condición correspondiente. La condición utilizada depende del tipo de operación.

Operation Type

Example Operations

Resource ID Required

Condition Evaluated

Authentication Rules

Crear

CreateContainerGroup, CreateImageCache

No

acs:RequestTag

Se ejecuta correctamente si la solicitud incluye una etiqueta que coincide con la condición de la directiva. Falla si no se incluye ninguna etiqueta o si la etiqueta no coincide.

Consulta

DescribeContainerGroups, DescribeImageCaches

Se requiere ID o etiqueta

acs:ResourceTag o acs:RequestTag

Se ejecuta correctamente si: la etiqueta del recurso coincide con acs:ResourceTag, o la etiqueta especificada coincide con acs:RequestTag. Especificar solo un ID de recurso (sin etiqueta) también se ejecuta correctamente si la etiqueta del recurso coincide con acs:ResourceTag. Falla (devuelve un resultado vacío, sin error) si no se especifica ni un ID de recurso ni una etiqueta.

Actualizar

UpdateContainerGroup, UpdateImageCache

Sí

acs:ResourceTag

Se ejecuta correctamente si la etiqueta del recurso coincide con acs:ResourceTag. Si actualiza la propia etiqueta, adjunte dos directivas personalizadas al usuario de RAM: una con la condición de etiqueta original y otra con la nueva condición de etiqueta.

Otro ciclo de vida

RestartContainerGroup, ExecContainerCommand

Sí

acs:ResourceTag

Se ejecuta correctamente si la etiqueta del recurso coincide con acs:ResourceTag. De lo contrario, falla.

En las operaciones de consulta, un fallo de autenticación devuelve un resultado vacío en lugar de un error.

Pasos siguientes