Validación de permisos para las API llamadas de Application Auto Scaling a los recursos de destino - Aplicación de escalado automático

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Validación de permisos para las API llamadas de Application Auto Scaling a los recursos de destino

Para realizar solicitudes autorizadas a las API acciones de Application Auto Scaling, es necesario que la API persona que llama tenga permisos para acceder a AWS los recursos del servicio de destino y dentro de él. CloudWatch Application Auto Scaling valida los permisos de las solicitudes asociadas al servicio de destino y CloudWatch antes de continuar con la solicitud. Para ello, realizamos una serie de llamadas para validar los IAM permisos de los recursos de destino. Cuando se devuelve una respuesta, la lee Application Auto Scaling. Si los IAM permisos no permiten una acción determinada, Application Auto Scaling no acepta la solicitud y devuelve un error al usuario con información sobre el permiso faltante. Esto garantiza que la configuración de escalado que el usuario desea implementar funcione según lo previsto y que se devuelva un error útil si se produce un error en la solicitud.

Como ejemplo de cómo funciona, la siguiente información proporciona detalles sobre cómo Application Auto Scaling realiza las validaciones de permisos con Aurora y. CloudWatch

Cuando un usuario llama a un RegisterScalableTarget API clúster de base de datos Aurora, Application Auto Scaling realiza todas las comprobaciones siguientes para comprobar que el usuario tiene los permisos necesarios (en negrita).

  • rds:c reateDBInstance: Para determinar si el usuario tiene este permiso, enviamos una solicitud a la CreateDBInstance API operación para intentar crear una instancia de base de datos con parámetros no válidos (ID de instancia vacío) en el clúster de base de datos Aurora que especificó el usuario. En el caso de un usuario autorizado, API devuelve una respuesta en código de InvalidParameterValue error tras auditar la solicitud. Sin embargo, para un usuario no autorizado, obtenemos un error AccessDenied y falla la Application Auto Scaling aplicación con un error ValidationException al usuario que enumera los permisos que faltan.

  • rds:d eleteDBInstance: Enviamos un ID de instancia vacío a la operación. DeleteDBInstance API Para un usuario autorizado, esta solicitud da como resultado un error InvalidParameterValue. Para un usuario no autorizado, resulta en AccessDenied y envía una excepción de validación al usuario (el mismo tratIAMento que se describe en el primer punto).

  • rds:AddTagsToResource: Como la AddTagsToResource API operación requiere un nombre de recurso de Amazon (ARN), es necesario especificar un recurso «ficticio» con un ID de cuenta no válido (12345) y un ID de instancia ficticio (non-existing-db) para construir el (). ARN arn:aws:rds:us-east-1:12345:db:non-existing-db Para un usuario autorizado, esta solicitud da como resultado un error InvalidParameterValue. Para un usuario no autorizado, resulta en AccessDenied y envía una excepción de validación al usuario.

  • rds:d escribeDBCluster: Describimos el nombre del clúster del recurso que se está registrando para el escalado automático. Para un usuario autorizado, obtenemos un resultado de descripción válido. Para un usuario no autorizado, resulta en AccessDenied y envía una excepción de validación al usuario.

  • escribeDBInstanceRDS:d. Lo llamamos DescribeDBInstance API con un db-cluster-id filtro que filtra según el nombre del clúster que proporcionó el usuario para registrar el objetivo escalable. Para un usuario autorizado, podemos describir todas las instancias de base de datos en el clúster de base de datos. Para un usuario no autorizado, esta llamada da como resultado AccessDenied y envía una excepción de validación al usuario.

  • cloudwatch: PutMetricAlarm: Lo llamamos PutMetricAlarm API sin ningún parámetro. Debido a que falta el nombre de la alarma, la solicitud da como resultado ValidationError para un usuario autorizado. Para un usuario no autorizado, resulta en AccessDenied y envía una excepción de validación al usuario.

  • cloudwatch: DescribeAlarms: Llamamos al valor DescribeAlarms API con el número máximo de registros establecido en 1. Para un usuario autorizado, esperamos información sobre una alarma en la respuesta. Para un usuario no autorizado, esta llamada da como resultado AccessDenied y envía una excepción de validación al usuario.

  • cloudwatch:DeleteAlarms: De manera similar a PutMetricAlarm lo anterior, no proporcionamos ningún parámetro que solicitarDeleteAlarms. Debido a que falta un nombre de alarma en la solicitud, esta llamada no se produce un error con ValidationError para un usuario autorizado. Para un usuario no autorizado, resulta en AccessDenied y envía una excepción de validación al usuario.

Siempre que se produzca cualquiera de estos errores de validación, se registrará. Puede tomar medidas para identificar manualmente las llamadas que no superaron la validación mediante AWS CloudTrail. Para obtener más información, consulte la AWS CloudTrail Guía del usuario de .

nota

Si recibe alertas de eventos de Application Auto Scaling que estén utilizando CloudTrail, estas alertas incluirán las llamadas de Application Auto Scaling para validar los permisos de los usuarios de forma predeterminada. Para filtrar estas alertas, utilice el campo invokedBy, que contendrá application-autoscaling.amazonaws.com para estas comprobaciones de validación.