Prácticas recomendadas de IAM para Amazon ECS - Amazon Elastic Container Service

Prácticas recomendadas de IAM para Amazon ECS

Puede usar AWS Identity and Access Management (IAM) para administrar y controlar el acceso a sus servicios y recursos de AWS mediante políticas basadas en reglas con fines de autenticación y autorización. Más específicamente, a través de este servicio, usted controla el acceso a sus recursos de AWS mediante políticas que se aplican a los usuarios, grupos o roles. Entre estos tres, los usuarios son cuentas que pueden tener acceso a sus recursos. Además, un rol de IAM es un conjunto de permisos que puede asumir una identidad autenticada, que no está asociada a una identidad concreta ajena a IAM. Para obtener más información, consulte Información general sobre la administración del acceso de Amazon ECS: permisos y políticas.

Siga la política de acceso con privilegios mínimos

Cree políticas cuyo alcance permita a los usuarios realizar las tareas prescritas. Por ejemplo, si un desarrollador necesita detener una tarea periódicamente, cree una política que solo permita esa acción en particular. El ejemplo siguiente solo permite a un usuario detener una tarea que pertenece a una determinada task_family en un clúster con un nombre de recurso de Amazon (ARN) específico. Hacer referencia a un ARN en una condición también es un ejemplo del uso de permisos a nivel de recursos. Puede utilizar permisos a nivel de recursos para especificar el recurso al que desea que se aplique una acción.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:StopTask" ], "Condition": { "ArnEquals": { "ecs:cluster": "arn:aws:ecs:region:account_id:cluster/cluster_name" } }, "Resource": [ "arn:aws:ecs:region:account_id:task-definition/task_family:*" ] } ] }

Configuración de los recursos del clúster de modo que sean el límite administrativo

Las políticas que tienen un alcance demasiado limitado pueden provocar una proliferación de roles y aumentar la sobrecarga administrativa. En lugar de crear roles que se centren únicamente en tareas o servicios específicos, cree roles que se limiten a clústeres y utilice el clúster como límite administrativo principal.

Creación de canalizaciones automatizadas para aislar a los usuarios finales de la API

Puede limitar las acciones que los usuarios pueden utilizar mediante la creación de canalizaciones que empaqueten e implementen aplicaciones automáticamente en los clústeres de Amazon ECS. De este modo, se delega con efectividad en la canalización la tarea de crear, actualizar y eliminar tareas. Para obtener más información, consulte el Tutorial: Implementación estándar de Amazon ECS con CodePipeline en la Guía del usuario de AWS CodePipeline.

Utilizar condiciones de política para una capa de seguridad adicional

Cuando necesite una capa de seguridad adicional, agregue una condición a su política. Esto puede resultar útil si está realizando una operación privilegiada o si necesita restringir el conjunto de acciones que se pueden realizar con recursos específicos. El siguiente ejemplo de política requiere una autorización multifactorial al eliminar un clúster.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:DeleteCluster" ], "Condition": { "Bool": { "aws:MultiFactorAuthPresent": "true" } }, "Resource": ["*"] } ] }

Las etiquetas aplicadas a los servicios se propagan a todas las tareas que forman parte de ese servicio. De este modo, puede crear roles que se limiten a los recursos de Amazon ECS con etiquetas específicas. En la siguiente política, una entidad principal de IAM inicia y detiene todas las tareas con una clave de etiqueta de Department y un valor de etiqueta de Accounting.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:StartTask", "ecs:StopTask", "ecs:RunTask" ], "Resource": "arn:aws:ecs:*", "Condition": { "StringEquals": {"ecs:ResourceTag/Department": "Accounting"} } } ] }

Auditoría periódica del acceso a las API

Un usuario puede cambiar de rol. Después de cambiar de rol, es posible que los permisos que se le concedieron anteriormente dejen de aplicarse. Asegúrese de auditar quién tiene acceso a las API de Amazon ECS y de comprobar si ese acceso sigue estando justificado. Considere la posibilidad de integrar la IAM con una solución de administración del ciclo de vida del usuario que revoque automáticamente el acceso cuando un usuario abandona la organización. Para obtener más información, consulte las pautas de auditoría de seguridad de AWS en la Guía del usuario de AWS Identity and Access Management.