Todos los productos
Search
Centro de documentos

Auto Scaling:Uso de etiquetas para gestionar permisos de grupos de escalado

Última actualización: Sep 02, 2026

Auto Scaling permite categorizar y controlar el acceso a los grupos de escalado mediante etiquetas. Es posible otorgar permisos detallados a grupos de escalado individuales o a varios grupos que comparten una etiqueta específica. Este tema explica cómo utilizar la autenticación basada en etiquetas para gestionar los permisos de usuarios de RAM, lo cual mejora la eficiencia de la administración y reduce el riesgo de fugas de datos.

Contexto

  • Una etiqueta es un identificador para un recurso en la nube. Las etiquetas permiten categorizar, buscar y agrupar recursos en la nube con las mismas características desde diferentes dimensiones. Para obtener más información, consulte Tags.

  • Resource Access Management (RAM) permite gestionar identidades de usuarios y controlar el acceso y las operaciones sobre sus recursos en la nube mediante políticas. Para obtener más información, consulte What is RAM?.

Al utilizar etiquetas como condiciones en una política de Resource Access Management (RAM), se implementa un control detallado sobre Auto Scaling.

La siguiente figura muestra cómo usar etiquetas para gestionar los permisos de acceso y operación de los usuarios de RAM sobre los recursos, proceso conocido como autenticación basada en etiquetas.

image

API que no admiten autenticación por etiquetas

Después de adjuntar una política de autenticación basada en etiquetas a un usuario de RAM, esta autenticación no se admite cuando dicho usuario llama a las siguientes operaciones de API para gestionar Auto Scaling.

API

Compatibilidad con autenticación por etiquetas

DescribeRegions

No

Para tareas programadas no asociadas a un grupo de escalado:

  • CreateScheduledTask

  • ModifyScheduledTask

  • DescribeScheduledTasks

  • DeleteScheduledTask

No

Para tareas activadas por eventos no asociadas a un grupo de escalado:

  • CreateAlarm

  • DescribeAlarms

  • ModifyAlarm

  • EnableAlarm

  • DeleteAlarm

No

Escenario de ejemplo

Este tema utiliza el siguiente escenario para mostrar cómo implementar la autenticación basada en etiquetas.

Suponga que ha creado dos grupos de escalado para desarrollo de videojuegos. Cada grupo de escalado tiene etiquetas de entorno y equipo. Debe otorgar a un usuario de RAM permisos específicos sobre los siguientes grupos de escalado:

Grupo de escalado

Nombre

Etiqueta

Scaling group 1

asg-001

  • Etiqueta 1: environment:test, donde la clave de etiqueta es environment y el valor de etiqueta es test.

  • Etiqueta 2: team:game1, donde la clave de etiqueta es team y el valor de etiqueta es game1.

Scaling group 2

asg-002

  • Etiqueta 1: environment:dev, donde la clave de etiqueta es environment y el valor de etiqueta es dev.

  • Etiqueta 2: team:game2, donde la clave de etiqueta es team y el valor de etiqueta es game2.

Los requisitos específicos de control de acceso son los siguientes:

  • Escenario 1: No se pueden crear grupos de escalado sin etiquetas. El grupo de escalado 1 solo se crea correctamente si se le agregan las etiquetas environment:test y team:game1 durante su creación.

  • Escenario 2: Al consultar grupos de escalado, solo se visualizan los recursos del grupo de escalado 1, que tiene vinculadas las etiquetas environment:test y team:game1.

  • Escenario 3: Solo se permite gestionar recursos en el grupo de escalado 1 (con las etiquetas environment:test y team:game1), pero no los recursos del grupo de escalado 2 (con las etiquetas environment:dev y team:game2).

Procedimiento

Nota

Antes de comenzar, asegúrese de haber creado un usuario de RAM. Para obtener más información, consulte Create a RAM user.

  1. Cree dos grupos de escalado.

    Para obtener más información, consulte Configure scaling groups. Consulte Example scenario para conocer los detalles sobre los grupos de escalado.

  2. Inicie sesión en la consola de RAM.

  3. Cree una política personalizada.

    Para obtener más información, consulte Create a custom policy.

    Es posible establecer varias condiciones de etiqueta para recursos en la nube dentro del bloque Condition de una política para restringir los permisos de operación sobre recursos de Auto Scaling. Condiciones de autenticación basadas en etiquetas compatibles:

    Condición basada en etiquetas

    Descripción

    acs:RequestTag

    Comprueba si la solicitud incluye una etiqueta específica.

    Si una solicitud de API no incluye ningún parámetro de etiqueta, el uso de acs:RequestTag provocará un error de autenticación.

    acs:ResourceTag

    Comprueba si el recurso especificado en la solicitud contiene una etiqueta específica.

    Si utiliza acs:ResourceTag en una solicitud de API que no contiene un parámetro de ID de recurso, la autenticación fallará.

    El siguiente bloque de código muestra un ejemplo completo de política:

    {
        "Version": "1",
        "Statement": [
             {
               "Effect": "Allow",
               "Action": "ess:Create*",
               "Resource": "*",
               "Condition": {
                       "StringEquals": {
                            "acs:RequestTag/environment": "test",
                            "acs:RequestTag/team": "game1"
                       }
                  }
             },
             {
                "Effect": "Allow",
                "Action": "ess:Describe*",
                "Resource": "*",
                "Condition": {
                        "StringEquals": {
                        "acs:RequestTag/environment": "test",
                        "acs:RequestTag/team": "game1"
                        }
                  }
             },
             {
                "Action": "ess:*",
                "Effect": "Allow",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "acs:ResourceTag/environment": "test",
                        "acs:ResourceTag/team": "game1"
                      }
                  }
             },
             {
                "Effect": "Allow",
                "Action": [
                       "ess:Describe*",
                       "ess:List*",
                       "ess:DescribeRegions",
                       "ess:CreateScheduledTask",
                       "ess:ModifyScheduledTask",
                       "ess:DescribeScheduledTasks",
                       "ess:DeleteScheduledTask",
                       "ess:CreateAlarm",
                       "ess:DescribeAlarms",
                       "ess:ModifyAlarm",
                       "ess:EnableAlarm",
                       "ess:DeleteAlarm"
                    ],
        "Resource": "*"
          }
       ]
    }
    • Escenario 1: Aplicar etiquetas específicas durante la creación del grupo de escalado

      Es decir, el grupo de escalado 1 solo se crea correctamente si se le vinculan las etiquetas environment:test y team:game1 durante su creación.

      La siguiente política corresponde a este escenario:

      {
          "Effect": "Allow",
          "Action": "ess:Create*",
          "Resource": "*",
          "Condition": {
              "StringEquals": {
                  "acs:RequestTag/environment": "test",
                  "acs:RequestTag/team": "game1"
              }
          }
      }
    • Escenario 2: Permitir que los usuarios vean solo el grupo de escalado 1

      Esto significa que, si agrega las etiquetas environment:test y team:game1 al grupo de escalado 1, solo se devuelven los recursos de dicho grupo al consultar los grupos de escalado.

      La siguiente política corresponde a este escenario:

      {
          "Effect": "Allow",
          "Action": "ess:Describe*",
          "Resource": "*",
          "Condition": {
              "StringEquals": {
                  "acs:RequestTag/environment": "test",
                  "acs:RequestTag/team": "game1"
              }
          }
      }
    • Escenario 3: Permitir que los usuarios gestionen solo el grupo de escalado 1 y denegar el acceso al grupo de escalado 2

      Por ejemplo, el grupo de escalado 1 tiene vinculadas las etiquetas environment:test y team:game1, mientras que el grupo de escalado 2 tiene las etiquetas environment:dev y team:game2.

      La siguiente política corresponde a este escenario:

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": "ess:*",
                  "Effect": "Allow",
                  "Resource": "*",
                  "Condition": {
                      "StringEquals": {
                          "acs:ResourceTag/environment": "test",
                          "acs:ResourceTag/team": "game1"
                      }
                  }
              },
              {
                  "Action": "ess:*",
                  "Effect": "Deny",
                  "Resource": "*",
                  "Condition": {
                      "StringEquals": {
                          "acs:ResourceTag/environment": "dev",
                          "acs:ResourceTag/team": "game2"
                      }
                  }
              },      
              {
                 "Effect": "Allow",
                 "Action": [
                         "ess:DescribeRegions",
                         "ess:CreateScheduledTask",
                         "ess:ModifyScheduledTask",
                         "ess:DescribeScheduledTasks",
                         "ess:DeleteScheduledTask",
                         "ess:CreateAlarm",
                         "ess:DescribeAlarms",
                         "ess:ModifyAlarm",
                         "ess:EnableAlarm",
                         "ess:DeleteAlarm"
                      ],
          "Resource": "*"
            }
         ]
      }
  4. Adjunte la política personalizada al usuario de RAM.

    Para obtener más información, consulte Grant permissions to a RAM user.

  5. Compruebe que la política surta efecto.

    • Verificación del Escenario 1 mediante la creación del grupo de escalado 1

      • El grupo de escalado 1 tiene las etiquetas environment:test y team:game1, por lo que se crea correctamente.

      • Si crea el grupo de escalado sin las etiquetas especificadas, se deniega la creación debido a permisos insuficientes. Ocurre un error diferente si Auto Scaling carece de los permisos necesarios de OpenAPI: se devuelve el error Forbidden.Unauthorized con el mensaje: The user has not fully authorized the OpenAPI interface for ESS. Please authorize and try again. En este caso, otorgue los permisos requeridos y reintente la operación.

    • Verificación del Escenario 2 mediante la consulta de grupos de escalado

      • Para un grupo de escalado que tiene las etiquetas environment:test y team:game1, aún puede recuperar su información al realizar una consulta sin filtrar por etiquetas.

      • Si consulta un grupo de escalado distinto al grupo de escalado 1 que no tenga las etiquetas environment:test y team:game1, la consulta no devuelve resultados.

      • Si no especifica un grupo de escalado y busca únicamente las etiquetas environment:test y team:game1, la consulta devuelve todos los grupos de escalado que tengan estas etiquetas.

    • Verificación del Escenario 3 mediante la eliminación de grupos de escalado

      • Si el grupo de escalado 1 tiene las etiquetas environment:test y team:game1, puede eliminar el grupo de escalado.

      • Si un grupo de escalado no está asociado con las etiquetas environment:test y team:game1, o si tiene otras etiquetas, se muestra un mensaje que indica que no tiene permiso para eliminar el grupo de escalado.

Documentos relacionados