AWS políticas gestionadas para Amazon Elastic Container Service - Amazon Elastic Container Service

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.

AWS políticas gestionadas para Amazon Elastic Container Service

Para añadir permisos a usuarios, grupos y roles, es más fácil usar políticas AWS administradas que escribirlas usted mismo. Se necesita tiempo y experiencia para crear políticas administradas por el cliente de IAM que proporcionen a su equipo solo los permisos necesarios. Para empezar rápidamente, puedes usar nuestras políticas AWS gestionadas. Estas políticas cubren casos de uso comunes y están disponibles en tu AWS cuenta. Para obtener más información sobre las políticas AWS administradas, consulte las políticas AWS administradas en la Guía del usuario de IAM.

AWS los servicios mantienen y AWS actualizan las políticas gestionadas. No puede cambiar los permisos en las políticas AWS gestionadas. En ocasiones, los servicios añaden permisos adicionales a una política AWS gestionada para admitir nuevas funciones. Este tipo de actualización afecta a todas las identidades (usuarios, grupos y roles) donde se asocia la política. Lo más probable es que los servicios actualicen una política AWS administrada cuando se lanza una nueva función o cuando hay nuevas operaciones disponibles. Los servicios no eliminan los permisos de una política AWS administrada, por lo que las actualizaciones de la política no afectarán a los permisos existentes.

Además, AWS admite políticas administradas para funciones laborales que abarcan varios servicios. Por ejemplo, la política ReadOnlyAccess AWS gestionada proporciona acceso de solo lectura a todos los AWS servicios y recursos. Cuando un servicio lanza una nueva función, AWS agrega permisos de solo lectura para nuevas operaciones y recursos. Para obtener una lista y descripción de las políticas de funciones de trabajo, consulte Políticas administradas de AWS para funciones de trabajo en la Guía del usuario de IAM.

Amazon ECS y Amazon ECR proporcionan varias políticas administradas y relaciones de confianza que se pueden asociar a usuarios, grupos, roles, instancias de Amazon EC2 y tareas de Amazon ECS para permitir diferentes niveles de control sobre los recursos y las operaciones de la API. Puede aplicar estas políticas directamente o puede usarlas como punto de partida para crear las suyas propias. Para obtener más información acerca de las políticas administradas por Amazon ECR, consulte Políticas administradas por Amazon ECR.

AmazonECS_ FullAccess

Puede adjuntar la política de AmazonECS_FullAccess a las identidades de IAM.

Esta política otorga acceso administrativo a los recursos de Amazon ECS y otorga a una identidad de IAM (como un usuario, un grupo o un rol) acceso a los AWS servicios con los que está integrado Amazon ECS para usar todas las funciones de Amazon ECS. El uso de esta política permite acceder a todas las características de Amazon ECS que están disponibles en la AWS Management Console.

Detalles de los permisos

La política de IAM administrada AmazonECS_FullAccess debe incluir los siguientes permisos. Siguiendo la práctica recomendada de concesión de privilegios mínimos, puede usar la política administrada AmazonECS_FullAccess como plantilla para crear su propia política personalizada. De esta forma, puede quitar permisos de la política administrada o agregar otros en función de sus requisitos específicos.

  • ecs— Permite a los directores el acceso total a todas las operaciones de la API de Amazon ECS.

  • application-autoscaling: permite a los usuarios principales crear, describir y administrar recursos de Application Auto Scaling. Esto es necesario cuando se habilita el escalado automático del servicio para los servicios de Amazon ECS.

  • appmesh: permite a los usuarios principales enumerar las mallas de servicio y los nodos virtuales de App Mesh y describir estos nodos. Esto se debe hacer cuando se integran los servicios de Amazon ECS con App Mesh.

  • autoscaling: permite a los usuarios principales crear, administrar y describir recursos de Amazon EC2 Auto Scaling. Esto es necesario cuando se administran grupos de Auto Scaling de Amazon EC2 cuando se utiliza la función de escalado automático de clústeres.

  • cloudformation— Permite a los directores crear y administrar AWS CloudFormation pilas. Esto se debe hacer cuando se crean clústeres de Amazon ECS mediante la AWS Management Console y posteriormente se administran.

  • cloudwatch— Permite a los directores crear, gestionar y describir CloudWatch las alarmas de Amazon.

  • codedeploy— Permite a los directores crear y gestionar despliegues de aplicaciones y ver sus configuraciones, revisiones y objetivos de despliegue.

  • sns: permite a los usuarios principales consultar una lista de temas de Amazon SNS.

  • lambda: permite a los usuarios principales consultar una lista de funciones AWS Lambda y las configuraciones específicas de la versión.

  • ec2— Permite a los directores ejecutar instancias de Amazon EC2 y crear y gestionar rutas, tablas de enrutamiento, pasarelas de Internet, grupos de lanzamiento, grupos de seguridad, nubes privadas virtuales, flotas puntuales y subredes.

  • elasticloadbalancing: permite a los usuarios principales crear, describir y eliminar balanceadores de carga de Elastic Load Balancing. Las entidades principales también podrán agregar etiquetas a grupos de destino recién creados, oyentes y reglas de oyentes para los equilibradores de carga.

  • events— Permite a los directores crear, gestionar y eliminar EventBridge las reglas de Amazon y sus objetivos.

  • iam: permite a los usuarios principales enumerar los roles de IAM y sus políticas asociadas. Los usuarios principales también pueden enumerar perfiles de instancias disponibles para instancias de Amazon EC2.

  • logs— Permite a los directores crear y describir grupos de CloudWatch registros de Amazon Logs. Los usuarios principales también pueden enumerar eventos de registro para estos grupos de registro.

  • route53: permite a los usuarios principales crear, administrar y eliminar zonas alojadas de Amazon Route 53. Los usuarios principales también pueden consultar la información y la configuración de la comprobación de estado de Amazon Route 53. Para obtener más información acerca de las zonas alojadas, consulte Uso de zonas alojadas.

  • servicediscovery— Permite a los directores crear, administrar y eliminar AWS Cloud Map servicios y crear espacios de nombres DNS privados.

A continuación, se muestra una política AmazonECS_FullAccess de ejemplo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:DescribeScalableTargets", "application-autoscaling:DescribeScalingActivities", "application-autoscaling:DescribeScalingPolicies", "application-autoscaling:PutScalingPolicy", "application-autoscaling:RegisterScalableTarget", "appmesh:DescribeVirtualGateway", "appmesh:DescribeVirtualNode", "appmesh:ListMeshes", "appmesh:ListVirtualGateways", "appmesh:ListVirtualNodes", "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateLaunchConfiguration", "autoscaling:DeleteAutoScalingGroup", "autoscaling:DeleteLaunchConfiguration", "autoscaling:Describe*", "autoscaling:UpdateAutoScalingGroup", "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStack*", "cloudformation:UpdateStack", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms", "cloudwatch:GetMetricStatistics", "cloudwatch:PutMetricAlarm", "codedeploy:BatchGetApplicationRevisions", "codedeploy:BatchGetApplications", "codedeploy:BatchGetDeploymentGroups", "codedeploy:BatchGetDeployments", "codedeploy:ContinueDeployment", "codedeploy:CreateApplication", "codedeploy:CreateDeployment", "codedeploy:CreateDeploymentGroup", "codedeploy:GetApplication", "codedeploy:GetApplicationRevision", "codedeploy:GetDeployment", "codedeploy:GetDeploymentConfig", "codedeploy:GetDeploymentGroup", "codedeploy:GetDeploymentTarget", "codedeploy:ListApplicationRevisions", "codedeploy:ListApplications", "codedeploy:ListDeploymentConfigs", "codedeploy:ListDeploymentGroups", "codedeploy:ListDeployments", "codedeploy:ListDeploymentTargets", "codedeploy:RegisterApplicationRevision", "codedeploy:StopDeployment", "ec2:AssociateRouteTable", "ec2:AttachInternetGateway", "ec2:AuthorizeSecurityGroupIngress", "ec2:CancelSpotFleetRequests", "ec2:CreateInternetGateway", "ec2:CreateLaunchTemplate", "ec2:CreateRoute", "ec2:CreateRouteTable", "ec2:CreateSecurityGroup", "ec2:CreateSubnet", "ec2:CreateVpc", "ec2:DeleteLaunchTemplate", "ec2:DeleteSubnet", "ec2:DeleteVpc", "ec2:Describe*", "ec2:DetachInternetGateway", "ec2:DisassociateRouteTable", "ec2:ModifySubnetAttribute", "ec2:ModifyVpcAttribute", "ec2:RequestSpotFleet", "ec2:RunInstances", "ecs:*", "elasticfilesystem:DescribeAccessPoints", "elasticfilesystem:DescribeFileSystems", "elasticloadbalancing:CreateListener", "elasticloadbalancing:CreateLoadBalancer", "elasticloadbalancing:CreateRule", "elasticloadbalancing:CreateTargetGroup", "elasticloadbalancing:DeleteListener", "elasticloadbalancing:DeleteLoadBalancer", "elasticloadbalancing:DeleteRule", "elasticloadbalancing:DeleteTargetGroup", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeRules", "elasticloadbalancing:DescribeTargetGroups", "events:DeleteRule", "events:DescribeRule", "events:ListRuleNamesByTarget", "events:ListTargetsByRule", "events:PutRule", "events:PutTargets", "events:RemoveTargets", "fsx:DescribeFileSystems", "iam:ListAttachedRolePolicies", "iam:ListInstanceProfiles", "iam:ListRoles", "lambda:ListFunctions", "logs:CreateLogGroup", "logs:DescribeLogGroups", "logs:FilterLogEvents", "route53:CreateHostedZone", "route53:DeleteHostedZone", "route53:GetHealthCheck", "route53:GetHostedZone", "route53:ListHostedZonesByName", "servicediscovery:CreatePrivateDnsNamespace", "servicediscovery:CreateService", "servicediscovery:DeleteService", "servicediscovery:GetNamespace", "servicediscovery:GetOperation", "servicediscovery:GetService", "servicediscovery:ListNamespaces", "servicediscovery:ListServices", "servicediscovery:UpdateService", "sns:ListTopics" ], "Resource": ["*"] }, { "Effect": "Allow", "Action": [ "ssm:GetParameter", "ssm:GetParameters", "ssm:GetParametersByPath" ], "Resource": "arn:aws:ssm:*:*:parameter/aws/service/ecs*" }, { "Effect": "Allow", "Action": [ "ec2:DeleteInternetGateway", "ec2:DeleteRoute", "ec2:DeleteRouteTable", "ec2:DeleteSecurityGroup" ], "Resource": ["*"], "Condition": { "StringLike": {"ec2:ResourceTag/aws:cloudformation:stack-name": "EC2ContainerService-*"} } }, { "Action": "iam:PassRole", "Effect": "Allow", "Resource": ["*"], "Condition": { "StringLike": {"iam:PassedToService": "ecs-tasks.amazonaws.com"} } }, { "Action": "iam:PassRole", "Effect": "Allow", "Resource": ["arn:aws:iam::*:role/ecsInstanceRole*"], "Condition": { "StringLike": { "iam:PassedToService": [ "ec2.amazonaws.com", "ec2.amazonaws.com.cn" ] } } }, { "Action": "iam:PassRole", "Effect": "Allow", "Resource": ["arn:aws:iam::*:role/ecsAutoscaleRole*"], "Condition": { "StringLike": { "iam:PassedToService": [ "application-autoscaling.amazonaws.com", "application-autoscaling.amazonaws.com.cn" ] } } }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": [ "autoscaling.amazonaws.com", "ecs.amazonaws.com", "ecs.application-autoscaling.amazonaws.com", "spot.amazonaws.com", "spotfleet.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": ["elasticloadbalancing:AddTags"], "Resource": "*", "Condition": { "StringEquals": { "elasticloadbalancing:CreateAction": [ "CreateTargetGroup", "CreateRule", "CreateListener", "CreateLoadBalancer" ] } } } ] }

AmazonECS InfrastructureRolePolicyForVolumes

La política de IAM AmazonECSInfrastructureRolePolicyForVolumes gestionada concede los permisos que Amazon ECS necesita para realizar llamadas a la AWS API en su nombre. Puede adjuntar esta política a la función de IAM que proporciona con la configuración de su volumen al lanzar las tareas y los servicios de Amazon ECS. La función permite a Amazon ECS gestionar los volúmenes adjuntos a sus tareas. Para obtener más información, consulte Función de IAM en la infraestructura de Amazon ECS.

Detalles de los permisos

La política de IAM administrada AmazonECSInfrastructureRolePolicyForVolumes debe incluir los siguientes permisos. Siguiendo el consejo de seguridad estándar de conceder los privilegios mínimos, puede utilizar la política AmazonECSInfrastructureRolePolicyForVolumes gestionada como plantilla para crear su propia política personalizada que incluya solo los permisos que necesite.

  • ec2:CreateVolume— Permite a un director crear un volumen de Amazon EBS si y solo si está etiquetado con las AmazonECSManaged etiquetas AmazonECSCreated y. Este permiso es necesario para crear volúmenes de Amazon EBS adjuntos a las tareas de Amazon ECS y minimizar los permisos que esta política proporciona a Amazon ECS.

  • ec2:CreateTags— Permite a un director añadir etiquetas a un volumen de Amazon EBS como parte deec2:CreateVolume. Amazon ECS necesita este permiso para añadir etiquetas especificadas por el cliente a los volúmenes de Amazon EBS creados en su nombre.

  • ec2:AttachVolume— Permite a un director adjuntar un volumen de Amazon EBS a una instancia de Amazon EC2. Amazon ECS necesita este permiso para adjuntar volúmenes de Amazon EBS a la instancia de Amazon EC2 que aloja la tarea de Amazon ECS asociada.

  • ec2:DescribeVolume— Permite a un director recuperar información sobre los volúmenes de Amazon EBS. Este permiso es necesario para gestionar el ciclo de vida de los volúmenes de Amazon EBS.

  • ec2:DescribeAvailabilityZones— Permite a un director recuperar información sobre las zonas de disponibilidad de su cuenta. Esto es necesario para gestionar el ciclo de vida de los volúmenes de EBS.

  • ec2:DetachVolume— Permite a un director separar un volumen de Amazon EBS de una instancia de Amazon EC2. Amazon ECS necesita este permiso para separar el volumen de Amazon EBS de la instancia de Amazon EC2 que aloja la tarea de Amazon ECS asociada cuando la tarea finalice.

  • ec2:DeleteVolume— Permite a un director eliminar un volumen de Amazon EBS. Amazon ECS necesita este permiso para eliminar los volúmenes de Amazon EBS que la tarea de Amazon ECS ya no utiliza.

  • ec2:DeleteTags— Permite a un director eliminar la AmazonECSManaged etiqueta de un volumen de Amazon EBS. Amazon ECS necesita este permiso para eliminar el acceso a un volumen de Amazon EBS cuando ya no esté asociado a una carga de trabajo de Amazon ECS. Esto solo se aplica cuando un volumen de Amazon EBS no se elimina tras el cierre de la tarea.

A continuación, se muestra una política AmazonECSInfrastructureRolePolicyForVolumes de ejemplo.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateEBSManagedVolume", "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "ArnLike": { "aws:RequestTag/AmazonECSCreated": "arn:aws:ecs:*:*:task/*" }, "StringEquals": { "aws:RequestTag/AmazonECSManaged": "true" } } }, { "Sid": "TagOnCreateVolume", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "ArnLike": { "aws:RequestTag/AmazonECSCreated": "arn:aws:ecs:*:*:task/*" }, "StringEquals": { "ec2:CreateAction": "CreateVolume", "aws:RequestTag/AmazonECSManaged": "true" } } }, { "Sid": "DescribeVolumesForLifecycle", "Effect": "Allow", "Action": [ "ec2:DescribeVolumes", "ec2:DescribeAvailabilityZones" ], "Resource": "*" }, { "Sid": "ManageEBSVolumeLifecycle", "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "StringEquals": { "aws:ResourceTag/AmazonECSManaged": "true" } } }, { "Sid": "ManageVolumeAttachmentsForEC2", "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource": "arn:aws:ec2:*:*:instance/*" }, { "Sid": "DeleteEBSManagedVolume", "Effect": "Allow", "Action": "ec2:DeleteVolume", "Resource": "arn:aws:ec2:*:*:volume/*", "Condition": { "ArnLike": { "aws:ResourceTag/AmazonECSCreated": "arn:aws:ecs:*:*:task/*" }, "StringEquals": { "aws:ResourceTag/AmazonECSManaged": "true" } } } ] }

Función EC2 de Amazon EC2 ContainerServicefor

Amazon ECS asocia esta política a una función de servicio que permite a Amazon ECS realizar acciones en su nombre contra las instancias de Amazon EC2 o las instancias externas.

Esta política otorga permisos administrativos que permiten a las instancias de contenedor de Amazon ECS realizar llamadas AWS en su nombre. Para obtener más información, consulte Rol de IAM de instancia de contenedor de Amazon ECS.

Consideraciones

Debe tener en cuenta las siguientes recomendaciones y consideraciones al utilizar la política de IAM administrada AmazonEC2ContainerServiceforEC2Role.

  • Siguiendo el consejo de seguridad estándar de concesión de privilegios mínimos, puede modificar la política administrada AmazonEC2ContainerServiceforEC2Role para que se adapte a sus necesidades específicas. Si alguno de los permisos otorgados en la política administrada no resulta necesario para su caso de uso, cree una política personalizada y agregue solo los permisos que necesite. Por ejemplo, el permiso UpdateContainerInstancesState se proporciona para el vaciado de instancias de spot. Si ese permiso no es necesario para su caso de uso, exclúyalo mediante una política personalizada. Para obtener más información, consulte Detalles de los permisos.

  • Los contenedores que se ejecutan en sus instancias de contenedor tienen acceso a todos los permisos que se suministran al rol de instancia de contenedor a través de metadatos de instancia. Le recomendamos que limite los permisos en el rol de instancia de contenedor a la lista mínima de permisos que se proporciona en la política administrada AmazonEC2ContainerServiceforEC2Role. Si los contenedores de sus tareas necesitan permisos adicionales que no se muestran aquí, le recomendamos que proporcione a esas tareas sus propios roles de IAM. Para obtener más información, consulte Rol de IAM para la tarea.

    Puede evitar que los contenedores se encuentren en el puente docker0 accedan a los permisos proporcionados al rol de instancia de contenedor. Para hacer esto sin dejar de permitir los permisos proporcionados por Rol de IAM para la tarea, ejecute el comando iptables en sus instancias de contenedor. Los contenedores no pueden consultar metadatos de instancia con esta regla en vigor. Este comando supone que se aplica la configuración puente de Docker predeterminada y no funcionará para contenedores que utilicen el modo de red host. Para obtener más información, consulte Modo de red.

    sudo yum install -y iptables-services; sudo iptables --insert DOCKER USER 1 --in-interface docker+ --destination 169.254.169.254/32 --jump DROP

    Debe guardar esta regla de iptables en la instancia de contenedor para que se conserve tras un reinicio. Utilice siguientes comandos para la AMI optimizada para Amazon ECS. Para otros sistemas operativos, consulte la documentación correspondiente a dicho sistema operativo.

    • Para la AMI de Amazon Linux 2 optimizada para Amazon ECS:

      sudo iptables-save | sudo tee /etc/sysconfig/iptables && sudo systemctl enable --now iptables
    • Para la AMI de Amazon Linux optimizada para Amazon ECS:

      sudo service iptables save

Detalles de los permisos

La política de IAM administrada AmazonEC2ContainerServiceforEC2Role debe incluir los siguientes permisos. Siguiendo el consejo de seguridad estándar de concesión de privilegios mínimos, la política administrada AmazonEC2ContainerServiceforEC2Role se puede utilizar como guía. Si no necesita ninguno de los permisos que se conceden en la política administrada para su caso de uso, cree una política personalizada y agregue solo los permisos que necesite.

  • ec2:DescribeTags: permite que un usuario principal describa las etiquetas asociadas a una instancia de Amazon EC2. El agente contenedor de Amazon ECS utiliza este permiso para admitir la propagación de etiquetas de recursos. Para obtener más información, consulte Cómo se etiquetan los recursos.

  • ecs:CreateCluster: permite a un usuario principal crear un clúster de Amazon ECS. Este permiso lo utiliza el agente de contenedor de Amazon ECS para crear un clúster default si aún no existe ninguno.

  • ecs:DeregisterContainerInstance: permite a un usuario principal anular el registro de una instancia de contenedor de Amazon ECS desde un clúster. El agente contenedor Amazon ECS no llama a esta operación de API, pero este permiso se mantiene para garantizar la compatibilidad con versiones anteriores.

  • ecs:DiscoverPollEndpoint: esta acción devuelve puntos de enlace que el agente contenedor de Amazon ECS utiliza para buscar actualizaciones.

  • ecs:Poll: permite que el agente contenedor de Amazon ECS se comunique con el plano de control de Amazon ECS y le informe los cambios en el estado de la tarea.

  • ecs:RegisterContainerInstance: permite que un usuario principal registre una instancia de contenedor con un clúster. El agente contenedor de Amazon ECS utiliza este permiso para registrar la instancia de Amazon EC2 en un clúster y para respaldar la propagación de etiquetas de recursos.

  • ecs:StartTelemetrySession: permite que el agente de contenedores de Amazon ECS se comunique con el plano de control de Amazon ECS para enviar la información de estado y las métricas de cada contenedor y tarea.

  • ecs:TagResource: permite que el agente contenedor de Amazon ECS etiquete el clúster al crearlo y etiquete las instancias del contenedor cuando están registradas en un clúster.

  • ecs:UpdateContainerInstancesState: permite que un usuario principal modifique el estado de una instancia de contenedor de Amazon ECS. El agente contenedor de Amazon ECS utiliza este permiso para el vaciado de instancias de spot. Para obtener más información, consulte Vaciamiento de instancias puntuales.

  • ecs:Submit*: esto incluye las acciones de la API SubmitAttachmentStateChanges, SubmitContainerStateChange y SubmitTaskStateChange. Los utiliza el agente de contenedores de Amazon ECS para informar los cambios de estado de cada recurso al plano de control de Amazon ECS. El agente de contenedores de Amazon ECS ya no utiliza el SubmitContainerStateChange permiso, pero lo mantiene para garantizar la compatibilidad con versiones anteriores.

  • ecr:GetAuthorizationToken: permite que un usuario principal recupere un token de autorización. Un token de autorización representa las credenciales de autenticación de IAM y se puede utilizar para acceder a cualquier registro de Amazon ECR al que tenga acceso el elemento principal de IAM. El token de autorización recibido es válido durante 12 horas.

  • ecr:BatchCheckLayerAvailability: cuando se inserta una imagen de contenedor en un repositorio privado de Amazon ECR, se comprueba cada capa de imagen para verificar si ya se insertó. Si se insertó, se omite la capa de imagen.

  • ecr:GetDownloadUrlForLayer: cuando se extrae una imagen de contenedor de un repositorio privado de Amazon ECR, se llama a esta API una vez para cada capa de imagen que aún no está almacenada en caché.

  • ecr:BatchGetImage: cuando se extrae una imagen de contenedor de un repositorio privado de Amazon ECR, se llama una vez a esta API para recuperar el manifiesto de la imagen.

  • logs:CreateLogStream— Permite a un director crear un flujo de CloudWatch registros para un grupo de registros específico.

  • logs:PutLogEvents: permite que un usuario principal cargue un lote de eventos de registro en un flujo de registros especificado.

A continuación, se muestra una política AmazonEC2ContainerServiceforEC2Role de ejemplo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeTags", "ecs:CreateCluster", "ecs:DeregisterContainerInstance", "ecs:DiscoverPollEndpoint", "ecs:Poll", "ecs:RegisterContainerInstance", "ecs:StartTelemetrySession", "ecs:UpdateContainerInstancesState", "ecs:Submit*", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ecs:TagResource", "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction": [ "CreateCluster", "RegisterContainerInstance" ] } } } ] }

Amazon EC2 ContainerServiceEventsRole

Esta política otorga permisos que permiten a Amazon EventBridge (anteriormente CloudWatch Events) ejecutar tareas en tu nombre. Esta política se puede asociar al rol de IAM que se especifica al crear tareas programadas. Para obtener más información, consulte Función de Amazon ECS EventBridge IAM.

Detalles de los permisos

Esta política incluye los siguientes permisos.

  • ecs— Permite que el director de un servicio llame a la RunTask API de Amazon ECS. Permite a un director de un servicio añadir etiquetas (TagResource) cuando llama a la RunTask API de Amazon ECS.

  • iam: permite pasar cualquier función de servicio de IAM a cualquier tarea de Amazon ECS.

A continuación, se muestra una política AmazonEC2ContainerServiceEventsRole de ejemplo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["ecs:RunTask"], "Resource": ["*"] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["*"], "Condition": { "StringLike": {"iam:PassedToService": "ecs-tasks.amazonaws.com"} } }, { "Effect": "Allow", "Action": "ecs:TagResource", "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction": ["RunTask"] } } } ] }

AmazonECS TaskExecutionRolePolicy

La política de IAM AmazonECSTaskExecutionRolePolicy gestionada concede los permisos que necesitan el agente de contenedores y AWS Fargate los agentes de contenedores de Amazon ECS para realizar llamadas a la AWS API en su nombre. Esta política se puede agregar a su rol de IAM de ejecución de tareas. Para obtener más información, consulte Rol de IAM de ejecución de tareas de Amazon ECS.

Detalles de los permisos

La política de IAM administrada AmazonECSTaskExecutionRolePolicy debe incluir los siguientes permisos. Siguiendo el consejo de seguridad estándar de concesión de privilegios mínimos, la política administrada AmazonECSTaskExecutionRolePolicy se puede utilizar como guía. Si alguno de los permisos que se conceden en la política administrada no resulta necesario para su caso de uso, cree una política personalizada y agregue solo los permisos que necesite.

  • ecr:GetAuthorizationToken: permite que un usuario principal recupere un token de autorización. Un token de autorización representa las credenciales de autenticación de IAM y se puede utilizar para acceder a cualquier registro de Amazon ECR al que tenga acceso el elemento principal de IAM. El token de autorización recibido es válido durante 12 horas.

  • ecr:BatchCheckLayerAvailability: cuando se inserta una imagen de contenedor en un repositorio privado de Amazon ECR, se comprueba cada capa de imagen para verificar si ya se insertó. Si se insertó, se omite la capa de imagen.

  • ecr:GetDownloadUrlForLayer: cuando se extrae una imagen de contenedor de un repositorio privado de Amazon ECR, se llama a esta API una vez para cada capa de imagen que aún no está almacenada en caché.

  • ecr:BatchGetImage: cuando se extrae una imagen de contenedor de un repositorio privado de Amazon ECR, se llama una vez a esta API para recuperar el manifiesto de la imagen.

  • logs:CreateLogStream— Permite a un director crear un flujo de CloudWatch registros para un grupo de registros específico.

  • logs:PutLogEvents: permite que un usuario principal cargue un lote de eventos de registro en un flujo de registros especificado.

A continuación, se muestra una política AmazonECSTaskExecutionRolePolicy de ejemplo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*" } ] }

AmazonECS ServiceRolePolicy

La política de IAM AmazonECSServiceRolePolicy administrada permite que Amazon Elastic Container Service administre su clúster. Esta política se puede agregar a su rol de IAM de ejecución de tareas. Para obtener más información, consulte Rol de IAM de ejecución de tareas de Amazon ECS.

Detalles de los permisos

La política de IAM administrada AmazonECSServiceRolePolicy debe incluir los siguientes permisos. Siguiendo el consejo de seguridad estándar de concesión de privilegios mínimos, la política administrada AmazonECSServiceRolePolicy se puede utilizar como guía. Si alguno de los permisos que se conceden en la política administrada no resulta necesario para su caso de uso, cree una política personalizada y agregue solo los permisos que necesite.

  • autoscaling: permite a los usuarios principales crear, administrar y describir recursos de Amazon EC2 Auto Scaling. Esto es necesario cuando se administran grupos de Auto Scaling de Amazon EC2 cuando se utiliza la función de escalado automático de clústeres.

  • autoscaling-plans: permite a los usuarios principales crear, eliminar y describir planes de escalado automático.

  • cloudwatch— Permite a los directores crear, gestionar y describir CloudWatch las alarmas de Amazon.

  • ec2— Permite que los directores se ejecuten en instancias de Amazon EC2 y creen y administren interfaces y etiquetas de red.

  • elasticloadbalancing: permite a los usuarios principales crear, describir y eliminar balanceadores de carga de Elastic Load Balancing. Los directores también podrán añadir y describir los grupos objetivo.

  • logs— Permite a los directores crear y describir grupos de CloudWatch registros de Amazon Logs. Los usuarios principales también pueden enumerar eventos de registro para estos grupos de registro.

  • route53: permite a los usuarios principales crear, administrar y eliminar zonas alojadas de Amazon Route 53. Los usuarios principales también pueden consultar la información y la configuración de la comprobación de estado de Amazon Route 53. Para obtener más información acerca de las zonas alojadas, consulte Uso de zonas alojadas.

  • servicediscovery— Permite a los directores crear, administrar y eliminar AWS Cloud Map servicios y crear espacios de nombres DNS privados.

  • events— Permite a los directores crear, gestionar y eliminar EventBridge las reglas de Amazon y sus objetivos.

A continuación, se muestra una política AmazonECSServiceRolePolicy de ejemplo.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ECSTaskManagement", "Effect": "Allow", "Action": [ "ec2:AttachNetworkInterface", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:Describe*", "ec2:DetachNetworkInterface", "elasticloadbalancing:DeregisterInstancesFromLoadBalancer", "elasticloadbalancing:DeregisterTargets", "elasticloadbalancing:Describe*", "elasticloadbalancing:RegisterInstancesWithLoadBalancer", "elasticloadbalancing:RegisterTargets", "route53:ChangeResourceRecordSets", "route53:CreateHealthCheck", "route53:DeleteHealthCheck", "route53:Get*", "route53:List*", "route53:UpdateHealthCheck", "servicediscovery:DeregisterInstance", "servicediscovery:Get*", "servicediscovery:List*", "servicediscovery:RegisterInstance", "servicediscovery:UpdateInstanceCustomHealthStatus" ], "Resource": "*" }, { "Sid": "AutoScaling", "Effect": "Allow", "Action": [ "autoscaling:Describe*" ], "Resource": "*" }, { "Sid": "AutoScalingManagement", "Effect": "Allow", "Action": [ "autoscaling:DeletePolicy", "autoscaling:PutScalingPolicy", "autoscaling:SetInstanceProtection", "autoscaling:UpdateAutoScalingGroup", "autoscaling:PutLifecycleHook", "autoscaling:DeleteLifecycleHook", "autoscaling:CompleteLifecycleAction", "autoscaling:RecordLifecycleActionHeartbeat" ], "Resource": "*", "Condition": { "Null": { "autoscaling:ResourceTag/AmazonECSManaged": "false" } } }, { "Sid": "AutoScalingPlanManagement", "Effect": "Allow", "Action": [ "autoscaling-plans:CreateScalingPlan", "autoscaling-plans:DeleteScalingPlan", "autoscaling-plans:DescribeScalingPlans", "autoscaling-plans:DescribeScalingPlanResources" ], "Resource": "*" }, { "Sid": "EventBridge", "Effect": "Allow", "Action": [ "events:DescribeRule", "events:ListTargetsByRule" ], "Resource": "arn:aws:events:*:*:rule/ecs-managed-*" }, { "Sid": "EventBridgeRuleManagement", "Effect": "Allow", "Action": [ "events:PutRule", "events:PutTargets" ], "Resource": "*", "Condition": { "StringEquals": { "events:ManagedBy": "ecs.amazonaws.com" } } }, { "Sid": "CWAlarmManagement", "Effect": "Allow", "Action": [ "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm" ], "Resource": "arn:aws:cloudwatch:*:*:alarm:*" }, { "Sid": "ECSTagging", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:network-interface/*" }, { "Sid": "CWLogGroupManagement", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:DescribeLogGroups", "logs:PutRetentionPolicy" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/ecs/*" }, { "Sid": "CWLogStreamManagement", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/ecs/*:log-stream:*" }, { "Sid": "ExecuteCommandSessionManagement", "Effect": "Allow", "Action": [ "ssm:DescribeSessions" ], "Resource": "*" }, { "Sid": "ExecuteCommand", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ecs:*:*:task/*", "arn:aws:ssm:*:*:document/AmazonECS-ExecuteInteractiveCommand" ] }, { "Sid": "CloudMapResourceCreation", "Effect": "Allow", "Action": [ "servicediscovery:CreateHttpNamespace", "servicediscovery:CreateService" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "AmazonECSManaged" ] } } }, { "Sid": "CloudMapResourceTagging", "Effect": "Allow", "Action": "servicediscovery:TagResource", "Resource": "*", "Condition": { "StringLike": { "aws:RequestTag/AmazonECSManaged": "*" } } }, { "Sid": "CloudMapResourceDeletion", "Effect": "Allow", "Action": [ "servicediscovery:DeleteService" ], "Resource": "*", "Condition": { "Null": { "aws:ResourceTag/AmazonECSManaged": "false" } } }, { "Sid": "CloudMapResourceDiscovery", "Effect": "Allow", "Action": [ "servicediscovery:DiscoverInstances", "servicediscovery:DiscoverInstancesRevision" ], "Resource": "*" } ] }

AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity

Proporciona acceso administrativo a AWS Private Certificate Authority Secrets Manager y otros AWS servicios necesarios para gestionar las funciones de TLS de Amazon ECS Service Connect en su nombre.

Detalles de los permisos

La política de IAM administrada AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity debe incluir los siguientes permisos. Siguiendo el consejo de seguridad estándar de concesión de privilegios mínimos, la política administrada AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity se puede utilizar como guía. Si alguno de los permisos que se conceden en la política administrada no resulta necesario para su caso de uso, cree una política personalizada y agregue solo los permisos que necesite.

  • secretsmanager:CreateSecret— Permite al director crear el secreto. Es obligatorio para el TLS de Service Connect. Amazon ECS mantiene en secreto la clave privada del cliente en el Secrets Manager del cliente.

  • secretsmanager:TagResource— Permite al director adjuntar una etiqueta al secreto creado. Es obligatorio para el TLS de Service Connect, ya que Amazon ECS crea el secreto en nombre del cliente y adjunta la etiqueta al recurso. Estas etiquetas proporcionan al cliente una forma más fácil de identificar el secreto gestionado y restringir las acciones en relación con estos secretos.

  • secretsmanager:DescribeSecret— Permita que el director describa el secreto y recupere el estado de la versión actual. Es necesario que Amazon ECS realice la rotación de materiales TLS de Amazon ECS Service Connect.

  • secretsmanager:UpdateSecret— Permita que el director actualice el secreto. Es necesario que Amazon ECS realice la rotación de materiales TLS de Amazon ECS Service Connect y actualice el secreto con materiales nuevos.

  • secretsmanager:GetSecretValue— Permita que el director obtenga el valor secreto. Es necesario que Amazon ECS realice la rotación de materiales TLS de Amazon ECS Service Connect.

  • secretsmanager:PutSecretValue— Permita que el director ponga el valor secreto. Es necesario que Amazon ECS realice la rotación de materiales TLS de Amazon ECS Service Connect.

  • secretsmanager:UpdateSecretVersionStage— Permita que el director actualice la etapa de la versión secreta. Es necesario que Amazon ECS realice la rotación de materiales TLS de Amazon ECS Service Connect.

  • acm-pca:IssueCertificate— Permita que el director IssueCertificate End entity certificate solicite Amazon ECS Service Connect TLS. Es necesario que ECS genere un certificado para el servicio inicial del cliente.

  • acm-pca:GetCertificate— Permita que el director GetCertificate End entity certificate solicite Amazon ECS Service Connect TLS.

  • acm-pca:GetCertificateAuthorityCertificate— Permitir que el director obtenga el certificado de las autoridades de certificación. Es obligatorio para Amazon ECS Service Connect TLS, de modo que el servicio descendente del cliente pueda confiar en el certificado de la entidad final ascendente.

  • acm-pca:DescribeCertificateAuthority— Permita que el director obtenga detalles sobre la autoridad de certificación. Es necesario que Amazon ECS Service Connect TLS reutilice información como el algoritmo de firma para crear la CSR (solicitud de firma de certificado).

A continuación, se muestra una política AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity de ejemplo.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateSecret", "Effect": "Allow", "Action": "secretsmanager:CreateSecret", "Resource": "arn:aws:secretsmanager:*:*:secret:ecs-sc!*", "Condition": { "ArnLike": { "aws:RequestTag/AmazonECSCreated": [ "arn:aws:ecs:*:*:service/*/*", "arn:aws:ecs:*:*:task-set/*/*" ] }, "StringEquals": { "aws:RequestTag/AmazonECSManaged": "true", "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "TagOnCreateSecret", "Effect": "Allow", "Action": "secretsmanager:TagResource", "Resource": "arn:aws:secretsmanager:*:*:secret:ecs-sc!*", "Condition": { "ArnLike": { "aws:RequestTag/AmazonECSCreated": [ "arn:aws:ecs:*:*:service/*/*", "arn:aws:ecs:*:*:task-set/*/*" ] }, "StringEquals": { "aws:RequestTag/AmazonECSManaged": "true", "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "RotateTLSCertificateSecret", "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:UpdateSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "secretsmanager:DeleteSecret", "secretsmanager:RotateSecret", "secretsmanager:UpdateSecretVersionStage" ], "Resource": "arn:aws:secretsmanager:*:*:secret:ecs-sc!*", "Condition": { "StringEquals": { "secretsmanager:ResourceTag/aws:secretsmanager:owningService": "ecs-sc", "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "ManagePrivateCertificateAuthority", "Effect": "Allow", "Action": [ "acm-pca:GetCertificate", "acm-pca:GetCertificateAuthorityCertificate", "acm-pca:DescribeCertificateAuthority" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/AmazonECSManaged": "true" } } }, { "Sid": "ManagePrivateCertificateAuthorityForIssuingEndEntityCertificate", "Effect": "Allow", "Action": [ "acm-pca:IssueCertificate" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/AmazonECSManaged": "true", "acm-pca:TemplateArn":"arn:aws:acm-pca:::template/EndEntityCertificate/V1" } } } ] }

AWSApplicationAutoscalingECSServicePolicy

No puede asociar AWSApplicationAutoscalingECSServicePolicy a sus entidades IAM. Esta política se asocia a un rol vinculado al servicio que permite a Application Auto Scaling realizar acciones en su nombre. Para obtener más información, consulte Roles vinculados a servicios para Aplication Auto Scaling.

AWSCodeDeployRoleForECS

No puede asociar AWSCodeDeployRoleForECS a sus entidades IAM. Esta política está asociada a un rol vinculado al servicio que le permite CodeDeploy realizar acciones en su nombre. Para obtener más información, consulte Crear un rol de servicio CodeDeploy en la Guía del AWS CodeDeploy usuario.

AWSCodeDeployRoleForECSLimited

No puede asociar AWSCodeDeployRoleForECSLimited a sus entidades IAM. Esta política se adjunta a un rol vinculado al servicio que permite CodeDeploy realizar acciones en su nombre. Para obtener más información, consulte Crear un rol de servicio CodeDeploy en la Guía del AWS CodeDeploy usuario.

Amazon ECS actualiza las políticas AWS gestionadas

Consulte los detalles sobre las actualizaciones de las políticas AWS gestionadas de Amazon ECS desde que este servicio comenzó a realizar el seguimiento de estos cambios. Para obtener alertas automáticas sobre cambios en esta página, suscríbase a la fuente RSS en la página de historial de documentos de Amazon ECS.

Cambio Descripción Fecha

Añadir una nueva política de AmazonECS InfrastructureRolePolicyForServiceConnectTransport LayerSecurity

Se agregó una nueva InfrastructureRolePolicyForServiceConnectTransport LayerSecurity política de AmazonECS que proporciona acceso administrativo a AWS KMS Secrets Manager y permite que las funciones TLS de Amazon ECS Service Connect funcionen correctamente. AWS Private Certificate Authority

22 de enero de 2024

Añadir nueva política AmazonECS InfrastructureRolePolicyForVolumes

Se agregó AmazonECSInfrastructureRolePolicyForVolumes la política. La política concede los permisos que Amazon ECS necesita para realizar llamadas a la AWS API con el fin de gestionar los volúmenes de Amazon EBS asociados a las cargas de trabajo de Amazon ECS. 11 de enero de 2024

Añadir permisos a AmazonECS ServiceRolePolicy

La política de IAM AmazonECSServiceRolePolicy gestionada se actualizó con events permisos nuevos y permisos adicionalesautoscaling. autoscaling-plans 4 de diciembre de 2023

Añada permisos a AmazonEC2 ContainerServiceEventsRole

La política de IAM AmazonECSServiceRolePolicy gestionada se actualizó para permitir el acceso a la operación de la AWS Cloud Map DiscoverInstancesRevision API. 4 de octubre de 2023

Añada permisos a ContainerServiceforAmazonEC2 EC2Role

La AmazonEC2ContainerServiceforEC2Role política se modificó para añadir el ecs:TagResource permiso, que incluye una condición que limita el permiso únicamente a los clústeres recién creados y a las instancias de contenedor registradas. 6 de marzo de 2023

Agregar permisos a AmazonECS_ FullAccess

La AmazonECS_FullAccess política se modificó para añadir el elasticloadbalancing:AddTags permiso, que incluye una condición que limita el permiso únicamente a los balanceadores de carga recién creados, a los grupos objetivo, a las reglas y a los oyentes creados. Este permiso no permite agregar etiquetas a ningún recurso de Elastic Load Balancing ya creado. 4 de enero de 2023

Amazon ECS comenzó a realizar el seguimiento de los cambios

Amazon ECS comenzó a realizar un seguimiento de los cambios en sus políticas AWS gestionadas.

8 de junio de 2021