AmazonECSInfrastructureRoleforExpressGatewayServices
Description: These permissions enable Amazon ECS to automatically provision and manage the infrastructure components required for Express Gateway Services, including load balancing, security groups, SSL certificates, and auto scaling configurations.
AmazonECSInfrastructureRoleforExpressGatewayServices is an AWS managed policy.
Using this policy
You can attach AmazonECSInfrastructureRoleforExpressGatewayServices to your users, groups, and roles.
Policy details
-
Type: Service role policy
-
Creation time: November 12, 2025, 20:34 UTC
-
Edited time: November 15, 2025, 19:34 UTC
-
ARN:
arn:aws:iam::aws:policy/service-role/AmazonECSInfrastructureRoleforExpressGatewayServices
Policy version
Policy version: v2 (default)
The policy's default version is the version that defines the permissions for the policy. When a user or role with the policy makes a request to access an AWS resource, AWS checks the default version of the policy to determine whether to allow the request.
JSON policy document
{ "Version" : "2012-10-17", "Statement" : [ { "Sid" : "ServiceLinkedRoleCreateOperations", "Effect" : "Allow", "Action" : "iam:CreateServiceLinkedRole", "Resource" : "*", "Condition" : { "StringEquals" : { "iam:AWSServiceName" : [ "ecs.application-autoscaling.amazonaws.com", "elasticloadbalancing.amazonaws.com" ] } } }, { "Sid" : "ELBOperations", "Effect" : "Allow", "Action" : [ "elasticloadbalancing:CreateListener", "elasticloadbalancing:CreateLoadBalancer", "elasticloadbalancing:CreateRule", "elasticloadbalancing:CreateTargetGroup", "elasticloadbalancing:ModifyListener", "elasticloadbalancing:ModifyRule", "elasticloadbalancing:AddListenerCertificates", "elasticloadbalancing:RemoveListenerCertificates", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:DeregisterTargets", "elasticloadbalancing:DeleteTargetGroup", "elasticloadbalancing:DeleteLoadBalancer", "elasticloadbalancing:DeleteRule", "elasticloadbalancing:DeleteListener" ], "Resource" : [ "arn:aws:elasticloadbalancing:*:*:loadbalancer/app/*/*", "arn:aws:elasticloadbalancing:*:*:listener/app/*/*/*", "arn:aws:elasticloadbalancing:*:*:listener-rule/app/*/*/*/*", "arn:aws:elasticloadbalancing:*:*:targetgroup/*/*" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/AmazonECSManaged" : "true" } } }, { "Sid" : "TagOnCreateELBResources", "Effect" : "Allow", "Action" : "elasticloadbalancing:AddTags", "Resource" : [ "arn:aws:elasticloadbalancing:*:*:loadbalancer/app/*/*", "arn:aws:elasticloadbalancing:*:*:listener/app/*/*/*", "arn:aws:elasticloadbalancing:*:*:listener-rule/app/*/*/*/*", "arn:aws:elasticloadbalancing:*:*:targetgroup/*/*" ], "Condition" : { "StringEquals" : { "elasticloadbalancing:CreateAction" : [ "CreateLoadBalancer", "CreateListener", "CreateRule", "CreateTargetGroup" ] } } }, { "Sid" : "BlanketAllowCreateSecurityGroupsInVPCs", "Effect" : "Allow", "Action" : "ec2:CreateSecurityGroup", "Resource" : "arn:aws:ec2:*:*:vpc/*" }, { "Sid" : "CreateSecurityGroupResourcesWithTags", "Effect" : "Allow", "Action" : [ "ec2:CreateSecurityGroup", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress" ], "Resource" : [ "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:security-group-rule/*", "arn:aws:ec2:*:*:vpc/*" ], "Condition" : { "StringEquals" : { "aws:RequestTag/AmazonECSManaged" : "true" } } }, { "Sid" : "ModifySecurityGroupOperations", "Effect" : "Allow", "Action" : [ "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:DeleteSecurityGroup", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress" ], "Resource" : [ "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:vpc/*" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/AmazonECSManaged" : "true" } } }, { "Sid" : "TagOnCreateEC2Resources", "Effect" : "Allow", "Action" : "ec2:CreateTags", "Resource" : [ "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:security-group-rule/*" ], "Condition" : { "StringEquals" : { "ec2:CreateAction" : [ "CreateSecurityGroup", "AuthorizeSecurityGroupIngress", "AuthorizeSecurityGroupEgress" ] } } }, { "Sid" : "CertificateOperations", "Effect" : "Allow", "Action" : [ "acm:RequestCertificate", "acm:AddTagsToCertificate", "acm:DeleteCertificate", "acm:DescribeCertificate" ], "Resource" : [ "arn:aws:acm:*:*:certificate/*" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/AmazonECSManaged" : "true" } } }, { "Sid" : "ApplicationAutoscalingCreateOperations", "Effect" : "Allow", "Action" : [ "application-autoscaling:RegisterScalableTarget", "application-autoscaling:TagResource", "application-autoscaling:DeregisterScalableTarget" ], "Resource" : [ "arn:aws:application-autoscaling:*:*:scalable-target/*" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/AmazonECSManaged" : "true" } } }, { "Sid" : "ApplicationAutoscalingPolicyOperations", "Effect" : "Allow", "Action" : [ "application-autoscaling:PutScalingPolicy", "application-autoscaling:DeleteScalingPolicy" ], "Resource" : [ "arn:aws:application-autoscaling:*:*:scalable-target/*" ], "Condition" : { "StringEquals" : { "application-autoscaling:service-namespace" : "ecs" } } }, { "Sid" : "ApplicationAutoscalingReadOperations", "Effect" : "Allow", "Action" : [ "application-autoscaling:DescribeScalableTargets", "application-autoscaling:DescribeScalingPolicies", "application-autoscaling:DescribeScalingActivities" ], "Resource" : [ "arn:aws:application-autoscaling:*:*:scalable-target/*" ] }, { "Sid" : "CloudWatchAlarmCreateOperations", "Effect" : "Allow", "Action" : [ "cloudwatch:PutMetricAlarm", "cloudwatch:TagResource" ], "Resource" : [ "arn:aws:cloudwatch:*:*:alarm:*" ], "Condition" : { "StringEquals" : { "aws:RequestTag/AmazonECSManaged" : "true" } } }, { "Sid" : "CloudWatchAlarmOperations", "Effect" : "Allow", "Action" : [ "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarms" ], "Resource" : [ "arn:aws:cloudwatch:*:*:alarm:*" ], "Condition" : { "StringEquals" : { "aws:ResourceTag/AmazonECSManaged" : "true" } } }, { "Sid" : "ELBReadOperations", "Effect" : "Allow", "Action" : [ "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeRules" ], "Resource" : "*" }, { "Sid" : "VPCReadOperations", "Effect" : "Allow", "Action" : [ "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeRouteTables", "ec2:DescribeVpcs" ], "Resource" : "*" }, { "Sid" : "CloudWatchLogsCreateOperations", "Effect" : "Allow", "Action" : [ "logs:CreateLogGroup", "logs:TagResource" ], "Resource" : "arn:aws:logs:*:*:log-group:*", "Condition" : { "StringEquals" : { "aws:RequestTag/AmazonECSManaged" : "true" } } }, { "Sid" : "CloudWatchLogsReadOperations", "Effect" : "Allow", "Action" : [ "logs:DescribeLogGroups" ], "Resource" : "*" } ] }