Prevención de la sustitución confusa entre servicios - Amazon EC2 Auto Scaling

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.

Prevención de la sustitución confusa entre servicios

El problema de la sustitución confusa es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción.

En AWS, la suplantación de identidad entre servicios puede provocar el confuso problema de diputado. La suplantación entre servicios puede producirse cuando un servicio (el servicio que lleva a cabo las llamadas) llama a otro servicio (el servicio al que se llama). El servicio que lleva a cabo las llamadas se puede manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente de una manera en la que no debe tener permiso para acceder.

Para evitarlo, AWS proporciona herramientas que le ayudan a proteger los datos de todos los servicios cuyos directores de servicio tengan acceso a los recursos de su cuenta. Recomendamos utilizar las claves de contexto de condición globales aws:SourceArn y aws:SourceAccount en las políticas de confianza para roles de servicio de Amazon EC2 Auto Scaling. Estas claves limitan los permisos que Amazon EC2 Auto Scaling otorga a otro servicio para el recurso.

Los valores de los SourceAccount campos SourceArn y se establecen cuando Amazon EC2 Auto Scaling usa AWS Security Token Service (AWS STS) para asumir una función en su nombre.

Para utilizar las claves de condición globales aws:SourceArn o aws:SourceAccount, establezca el valor en el nombre de recurso de Amazon (ARN) o en la cuenta del recurso que almacena Amazon EC2 Auto Scaling. Siempre que sea posible, utilice aws:SourceArn, que es más específico. Establezca el valor en el ARN o en un patrón de ARN con caracteres comodín (*) para las partes desconocidas del ARN. Si no conoce el ARN del recurso, utilice aws:SourceAccount en su lugar.

En el ejemplo siguiente, se muestra cómo se pueden utilizar las claves de contexto de condición globales aws:SourceArn y aws:SourceAccount en Amazon EC2 Auto Scaling para evitar el problema del suplente confuso.

Ejemplo: uso de las claves de condición aws:SourceArn y aws:SourceAccount

Un rol que asume un servicio para realizar acciones en su nombre se denomina rol de servicio. En los casos en los que desee crear enlaces de ciclo de vida que envíen notificaciones a cualquier lugar que no sea Amazon EventBridge, debe crear un rol de servicio que permita a Amazon EC2 Auto Scaling enviar notificaciones a un tema de Amazon SNS o a una cola de Amazon SQS en su nombre. Si quiere que solo se asocie un grupo de escalado automático al acceso entre servicios, puede especificar la política de confianza del rol de servicio de la siguiente manera.

En este ejemplo de política de confianza se utilizan declaraciones de condición para limitar la capacidad de AssumeRole en el rol de servicio a solo las acciones que afectan al grupo de escalado automático indicado en la cuenta especificada. Las condiciones aws:SourceArn y aws:SourceAccount se evalúan de forma independiente. Cualquier solicitud para usar el rol de servicio debe cumplir ambas condiciones.

Antes de utilizar esta política, reemplace la región, el ID de la cuenta, el UUID y el nombre del grupo por valores válidos de su cuenta.

{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "autoscaling.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:autoscaling:region:account_id:autoScalingGroup:uuid:autoScalingGroupName/my-asg" }, "StringEquals": { "aws:SourceAccount": "account_id" } } } }

En el ejemplo anterior:

  • El elemento Principal especifica la entidad principal del servicio (autoscaling.amazonaws.com).

  • El elemento Action especifica la acción sts:AssumeRole.

  • El elemento Condition especifica las claves de condición globales aws:SourceArn y aws:SourceAccount. El ARN del origen incluye el ID de cuenta, por lo que no es necesario utilizar aws:SourceAccount con aws:SourceArn.

Información adicional

Para obtener más información, consulte Claves de contexto de condición globales de AWS, Problema del suplente confuso y Modificación de una política de confianza de rol (consola) en la Guía del usuario de IAM.