Skip to main content
IAM Policy Map

AmazonEC2ReadOnlyAccess

ReaderAWS managedActiveReviewedShow on mapCompare

Summary

Provides read only access to Amazon EC2 via the AWS Management Console. The policy allows ec2:Describe* and ec2:GetSecurityGroupsForVpc, plus read actions for Elastic Load Balancing, CloudWatch and Auto Scaling, on all resources.

Permissions imported from the AWS Managed Policy Reference Guide; other sections reviewed against the listed AWS sources.

Identity

ARN
arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess
Default version
v5
Created
Last edited
Services
autoscaling, cloudwatch, ec2, elasticloadbalancing

Control-plane actions (243)

By access level: 218 List, 25 Read.

Control-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
EC2 Auto Scaling22 of 6821 List, 1 Read; 0 restricted, 0 conditionalautoscaling:Describe*
CloudWatch5 of 1605 Read; 0 restricted, 0 conditionalcloudwatch:Describe*
EC2196 of 834195 List, 1 Read; 0 restricted, 0 conditionalec2:Describe*, ec2:GetSecurityGroupsForVpc
ELB20 of 772 List, 18 Read; 0 restricted, 0 conditionalelasticloadbalancing:Describe*
EC2 Auto Scaling: 22 actions
  • autoscaling:DescribeAccountLimits (List)
  • autoscaling:DescribeAccountSettings (List)
  • autoscaling:DescribeAdjustmentTypes (List)
  • autoscaling:DescribeAutoScalingGroups (List)
  • autoscaling:DescribeAutoScalingInstances (List)
  • autoscaling:DescribeAutoScalingNotificationTypes (List)
  • autoscaling:DescribeInstanceRefreshes (List)
  • autoscaling:DescribeLaunchConfigurations (List)
  • autoscaling:DescribeLifecycleHookTypes (List)
  • autoscaling:DescribeLifecycleHooks (List)
  • autoscaling:DescribeLoadBalancerTargetGroups (List)
  • autoscaling:DescribeLoadBalancers (List)
  • autoscaling:DescribeMetricCollectionTypes (List)
  • autoscaling:DescribeNotificationConfigurations (List)
  • autoscaling:DescribePolicies (List)
  • autoscaling:DescribeScalingActivities (List)
  • autoscaling:DescribeScalingProcessTypes (List)
  • autoscaling:DescribeScheduledActions (List)
  • autoscaling:DescribeTags (Read)
  • autoscaling:DescribeTerminationPolicyTypes (List)
  • autoscaling:DescribeTrafficSources (List)
  • autoscaling:DescribeWarmPool (List)
CloudWatch: 5 actions
  • cloudwatch:DescribeAlarmHistory (Read)
  • cloudwatch:DescribeAlarms (Read)
  • cloudwatch:DescribeAlarmsForMetric (Read)
  • cloudwatch:DescribeAnomalyDetectors (Read)
  • cloudwatch:DescribeInsightRules (Read)
EC2: 196 actions
  • ec2:DescribeAccountAttributes (List)
  • ec2:DescribeAccountVpcEncryptionControl (List)
  • ec2:DescribeAddressTransfers (List)
  • ec2:DescribeAddresses (List)
  • ec2:DescribeAddressesAttribute (List)
  • ec2:DescribeAggregateIdFormat (List)
  • ec2:DescribeApplicationStatus (List)
  • ec2:DescribeApplicationStatusCheckAssociations (List)
  • ec2:DescribeApplicationStatusChecks (List)
  • ec2:DescribeAvailabilityZones (List)
  • ec2:DescribeAwsNetworkPerformanceMetricSubscriptions (List)
  • ec2:DescribeBundleTasks (List)
  • ec2:DescribeByoipCidrs (List)
  • ec2:DescribeCapacityBlockExtensionHistory (List)
  • ec2:DescribeCapacityBlockExtensionOfferings (List)
  • ec2:DescribeCapacityBlockOfferings (List)
  • ec2:DescribeCapacityBlockStatus (List)
  • ec2:DescribeCapacityBlocks (List)
  • ec2:DescribeCapacityManagerDataExports (List)
  • ec2:DescribeCapacityReservationBillingRequests (List)
  • ec2:DescribeCapacityReservationCancellationQuotes (List)
  • ec2:DescribeCapacityReservationDateChangeQuotes (List)
  • ec2:DescribeCapacityReservationFleets (List)
  • ec2:DescribeCapacityReservationTopology (List)
  • ec2:DescribeCapacityReservations (List)
  • ec2:DescribeCarrierGateways (List)
  • ec2:DescribeClassicLinkInstances (List)
  • ec2:DescribeClientVpnAuthorizationRules (List)
  • ec2:DescribeClientVpnConnections (List)
  • ec2:DescribeClientVpnEndpoints (List)
  • ec2:DescribeClientVpnRoutes (List)
  • ec2:DescribeClientVpnTargetNetworks (List)
  • ec2:DescribeCoipPools (List)
  • ec2:DescribeConversionTasks (List)
  • ec2:DescribeCustomerGateways (List)
  • ec2:DescribeDeclarativePoliciesReports (List)
  • ec2:DescribeDhcpOptions (List)
  • ec2:DescribeEgressOnlyInternetGateways (List)
  • ec2:DescribeElasticGpus (List)
  • ec2:DescribeExportImageTasks (List)
  • ec2:DescribeExportTasks (List)
  • ec2:DescribeFastLaunchImages (List)
  • ec2:DescribeFastSnapshotRestores (List)
  • ec2:DescribeFleetHistory (List)
  • ec2:DescribeFleetInstances (List)
  • ec2:DescribeFleets (List)
  • ec2:DescribeFlowLogs (List)
  • ec2:DescribeFpgaImageAttribute (List)
  • ec2:DescribeFpgaImages (List)
  • ec2:DescribeHostReservationOfferings (List)
  • ec2:DescribeHostReservations (List)
  • ec2:DescribeHosts (List)
  • ec2:DescribeIamInstanceProfileAssociations (List)
  • ec2:DescribeIdFormat (List)
  • ec2:DescribeIdentityIdFormat (List)
  • ec2:DescribeImageAttribute (List)
  • ec2:DescribeImageReferences (List)
  • ec2:DescribeImageUsageReportEntries (List)
  • ec2:DescribeImageUsageReports (List)
  • ec2:DescribeImages (List)
  • ec2:DescribeImportImageTasks (List)
  • ec2:DescribeImportSnapshotTasks (List)
  • ec2:DescribeInstanceAttribute (List)
  • ec2:DescribeInstanceConnectEndpoints (List)
  • ec2:DescribeInstanceCreditSpecifications (List)
  • ec2:DescribeInstanceEventNotificationAttributes (List)
  • ec2:DescribeInstanceEventWindows (List)
  • ec2:DescribeInstanceImageMetadata (List)
  • ec2:DescribeInstanceSqlHaHistoryStates (List)
  • ec2:DescribeInstanceSqlHaStates (List)
  • ec2:DescribeInstanceStatus (List)
  • ec2:DescribeInstanceTopology (List)
  • ec2:DescribeInstanceTypeOfferings (List)
  • ec2:DescribeInstanceTypes (List)
  • ec2:DescribeInstances (List)
  • ec2:DescribeInternetGateways (List)
  • ec2:DescribeIpamByoasn (List)
  • ec2:DescribeIpamExternalResourceVerificationTokens (List)
  • ec2:DescribeIpamInternetRegistryAssociations (List)
  • ec2:DescribeIpamPolicies (List)
  • ec2:DescribeIpamPoolAllocations (List)
  • ec2:DescribeIpamPools (List)
  • ec2:DescribeIpamPrefixListResolverTargets (List)
  • ec2:DescribeIpamPrefixListResolvers (List)
  • ec2:DescribeIpamResourceDiscoveries (List)
  • ec2:DescribeIpamResourceDiscoveryAssociations (List)
  • ec2:DescribeIpamScopes (List)
  • ec2:DescribeIpams (List)
  • ec2:DescribeIpv6Pools (List)
  • ec2:DescribeKeyPairs (List)
  • ec2:DescribeLaunchTemplateVersions (List)
  • ec2:DescribeLaunchTemplates (List)
  • ec2:DescribeLocalGatewayRouteTablePermissions (List)
  • ec2:DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations (List)
  • ec2:DescribeLocalGatewayRouteTableVpcAssociations (List)
  • ec2:DescribeLocalGatewayRouteTables (List)
  • ec2:DescribeLocalGatewayVirtualInterfaceGroups (List)
  • ec2:DescribeLocalGatewayVirtualInterfaces (List)
  • ec2:DescribeLocalGateways (List)
  • ec2:DescribeLockedSnapshots (List)
  • ec2:DescribeMacHosts (List)
  • ec2:DescribeMacModificationTasks (List)
  • ec2:DescribeManagedPrefixLists (List)
  • ec2:DescribeMovingAddresses (List)
  • ec2:DescribeNatGateways (List)
  • ec2:DescribeNetworkAcls (List)
  • ec2:DescribeNetworkInsightsAccessScopeAnalyses (List)
  • ec2:DescribeNetworkInsightsAccessScopes (List)
  • ec2:DescribeNetworkInsightsAnalyses (List)
  • ec2:DescribeNetworkInsightsPaths (List)
  • ec2:DescribeNetworkInterfaceAttribute (List)
  • ec2:DescribeNetworkInterfacePermissions (List)
  • ec2:DescribeNetworkInterfaces (List)
  • ec2:DescribeOutpostLags (List)
  • ec2:DescribePlacementGroups (List)
  • ec2:DescribePrefixLists (List)
  • ec2:DescribePrincipalIdFormat (List)
  • ec2:DescribePublicIpv4Pools (List)
  • ec2:DescribeRegions (List)
  • ec2:DescribeReplaceRootVolumeTasks (List)
  • ec2:DescribeReservedInstances (List)
  • ec2:DescribeReservedInstancesListings (List)
  • ec2:DescribeReservedInstancesModifications (List)
  • ec2:DescribeReservedInstancesOfferings (List)
  • ec2:DescribeRouteServerEndpoints (List)
  • ec2:DescribeRouteServerPeers (List)
  • ec2:DescribeRouteServers (List)
  • ec2:DescribeRouteTables (List)
  • ec2:DescribeScheduledInstanceAvailability (List)
  • ec2:DescribeScheduledInstances (List)
  • ec2:DescribeSecondaryInterfaces (List)
  • ec2:DescribeSecondaryNetworks (List)
  • ec2:DescribeSecondarySubnets (List)
  • ec2:DescribeSecurityGroupReferences (List)
  • ec2:DescribeSecurityGroupRules (List)
  • ec2:DescribeSecurityGroupVpcAssociations (List)
  • ec2:DescribeSecurityGroups (List)
  • ec2:DescribeServiceLinkVirtualInterfaces (List)
  • ec2:DescribeSnapshotAttribute (List)
  • ec2:DescribeSnapshotTierStatus (List)
  • ec2:DescribeSnapshots (List)
  • ec2:DescribeSpotDatafeedSubscription (List)
  • ec2:DescribeSpotFleetInstances (List)
  • ec2:DescribeSpotFleetRequestHistory (List)
  • ec2:DescribeSpotFleetRequests (List)
  • ec2:DescribeSpotInstanceRequests (List)
  • ec2:DescribeSpotPriceHistory (List)
  • ec2:DescribeStaleSecurityGroups (List)
  • ec2:DescribeStoreImageTasks (List)
  • ec2:DescribeSubnets (List)
  • ec2:DescribeTags (List)
  • ec2:DescribeTrafficMirrorFilterRules (List)
  • ec2:DescribeTrafficMirrorFilters (List)
  • ec2:DescribeTrafficMirrorSessions (List)
  • ec2:DescribeTrafficMirrorTargets (List)
  • ec2:DescribeTransitGatewayAttachments (List)
  • ec2:DescribeTransitGatewayConnectPeers (List)
  • ec2:DescribeTransitGatewayConnects (List)
  • ec2:DescribeTransitGatewayMeteringPolicies (List)
  • ec2:DescribeTransitGatewayMulticastDomains (List)
  • ec2:DescribeTransitGatewayPeeringAttachments (List)
  • ec2:DescribeTransitGatewayPolicyTables (List)
  • ec2:DescribeTransitGatewayRouteTableAnnouncements (List)
  • ec2:DescribeTransitGatewayRouteTables (List)
  • ec2:DescribeTransitGatewayVpcAttachments (List)
  • ec2:DescribeTransitGateways (List)
  • ec2:DescribeTrunkInterfaceAssociations (List)
  • ec2:DescribeVerifiedAccessEndpoints (List)
  • ec2:DescribeVerifiedAccessGroups (List)
  • ec2:DescribeVerifiedAccessInstanceLoggingConfigurations (List)
  • ec2:DescribeVerifiedAccessInstanceWebAclAssociations (List)
  • ec2:DescribeVerifiedAccessInstances (List)
  • ec2:DescribeVerifiedAccessTrustProviders (List)
  • ec2:DescribeVolumeAttribute (List)
  • ec2:DescribeVolumeStatus (List)
  • ec2:DescribeVolumes (List)
  • ec2:DescribeVolumesModifications (List)
  • ec2:DescribeVpcAttribute (List)
  • ec2:DescribeVpcBlockPublicAccessExclusions (List)
  • ec2:DescribeVpcBlockPublicAccessOptions (List)
  • ec2:DescribeVpcClassicLink (List)
  • ec2:DescribeVpcClassicLinkDnsSupport (List)
  • ec2:DescribeVpcEncryptionControls (List)
  • ec2:DescribeVpcEndpointAssociations (List)
  • ec2:DescribeVpcEndpointConnectionNotifications (List)
  • ec2:DescribeVpcEndpointConnections (List)
  • ec2:DescribeVpcEndpointServiceConfigurations (List)
  • ec2:DescribeVpcEndpointServicePermissions (List)
  • ec2:DescribeVpcEndpointServices (List)
  • ec2:DescribeVpcEndpoints (List)
  • ec2:DescribeVpcPeeringConnections (List)
  • ec2:DescribeVpcs (List)
  • ec2:DescribeVpnConcentrators (List)
  • ec2:DescribeVpnConnections (List)
  • ec2:DescribeVpnGateways (List)
  • ec2:GetSecurityGroupsForVpc (Read)
ELB: 20 actions
  • elasticloadbalancing:DescribeAccountLimits (Read)
  • elasticloadbalancing:DescribeCapacityReservation (Read)
  • elasticloadbalancing:DescribeInstanceHealth (Read)
  • elasticloadbalancing:DescribeListenerAttributes (Read)
  • elasticloadbalancing:DescribeListenerCertificates (Read)
  • elasticloadbalancing:DescribeListeners (Read)
  • elasticloadbalancing:DescribeLoadBalancerAttributes (Read)
  • elasticloadbalancing:DescribeLoadBalancerPolicies (Read)
  • elasticloadbalancing:DescribeLoadBalancerPolicyTypes (Read)
  • elasticloadbalancing:DescribeLoadBalancers (List)
  • elasticloadbalancing:DescribeRules (Read)
  • elasticloadbalancing:DescribeSSLPolicies (Read)
  • elasticloadbalancing:DescribeTags (Read)
  • elasticloadbalancing:DescribeTargetGroupAttributes (Read)
  • elasticloadbalancing:DescribeTargetGroups (Read)
  • elasticloadbalancing:DescribeTargetHealth (Read)
  • elasticloadbalancing:DescribeTrustStoreAssociations (Read)
  • elasticloadbalancing:DescribeTrustStoreRevocations (Read)
  • elasticloadbalancing:DescribeTrustStores (Read)
  • elasticloadbalancing:DescribeWebACLAssociation (List)

Data-plane actions (2)

By access level: 1 List, 1 Read.

Data-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
CloudWatch2 of 51 List, 1 Read; 0 restricted, 0 conditionalcloudwatch:GetMetricStatistics, cloudwatch:ListMetrics
CloudWatch: 2 actions
  • cloudwatch:GetMetricStatistics (Read)
  • cloudwatch:ListMetrics (List)

Excluded and conditional actions

No patterns are excluded by NotAction or Deny statements.

Resource scope and attachment

Resource scope across granted actions: all-resources.

Can be attached: Yes, to users, groups and roles.

Why this tier

  • Grants only List and Read actions.

Guidance

Practical scope

Every statement applies to Resource "*". The actions are ec2:Describe*, ec2:GetSecurityGroupsForVpc, elasticloadbalancing:Describe*, cloudwatch:ListMetrics, cloudwatch:GetMetricStatistics, cloudwatch:Describe* and autoscaling:Describe*. The policy contains no create, modify, delete or run actions.

Use cases

  • Give users, groups or roles read-only access to Amazon EC2, including Describe access to Elastic Load Balancing and Auto Scaling and read access to CloudWatch metrics.

Best practices

  • AWS managed policies don't grant least privilege permissions. The IAM User Guide suggests using IAM Access Analyzer to see which permissions principals actually use, then writing a custom policy or generating one with only the required permissions.

Security considerations

  • The policy reaches beyond EC2: it also allows Describe actions for Elastic Load Balancing, CloudWatch and Auto Scaling, and cloudwatch:GetMetricStatistics, on all resources.
  • You can't change the permissions in AWS managed policies. Services occasionally add permissions to an AWS managed policy to support new features, and this type of update affects all identities where the policy is attached.

Assignment guidance

You can attach this policy to your IAM identities (users, groups and roles). The reference page also links to guidance on creating a permission set using AWS managed policies in IAM Identity Center. It fits where read-only access to Amazon EC2 is intended. For narrower access, the IAM User Guide suggests writing a customer managed policy with only the permissions your team needs.

Same service

Same domain

Frequently asked questions

When should I attach AmazonEC2ReadOnlyAccess?
The Amazon EC2 User Guide says you can attach it to your IAM identities and that it grants permissions that allow read-only access to Amazon EC2. Attach it where viewing EC2 resources is the intended scope. For narrower access, write a customer managed policy with only the permissions your team needs.
What does AmazonEC2ReadOnlyAccess grant?
It allows ec2:Describe*, ec2:GetSecurityGroupsForVpc, elasticloadbalancing:Describe*, cloudwatch:ListMetrics, cloudwatch:GetMetricStatistics, cloudwatch:Describe* and autoscaling:Describe* on all resources. It contains no create, modify, delete or run actions.
What are the security risks of AmazonEC2ReadOnlyAccess?
The policy grants no write actions, but it applies to all resources and covers Elastic Load Balancing, CloudWatch and Auto Scaling as well as EC2. AWS managed policies don't grant least privilege permissions, and you must consider the security risk of granting principals more permissions than they need. Services add permissions to AWS managed policies over time, and each update affects all identities the policy is attached to.

Policy JSON

Download policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:Describe*",
        "ec2:GetSecurityGroupsForVpc"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "elasticloadbalancing:Describe*",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:ListMetrics",
        "cloudwatch:GetMetricStatistics",
        "cloudwatch:Describe*"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "autoscaling:Describe*",
      "Resource": "*"
    }
  ]
}

Version history

Current version v5, edited by AWS on 2026-02-12. Version history is recorded from 2026-11-11. Earlier versions are in the IAM console under Policy versions.

Attach snippets

AWS CLI

aws iam attach-role-policy --role-name ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess

CloudFormation

Resources:
  ExampleRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument: {}  # replace with your trust policy
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess

Terraform

resource "aws_iam_role_policy_attachment" "amazonec2readonlyaccess" {
  role       = aws_iam_role.example.name
  policy_arn = "arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess"
}

CDK (TypeScript)

role.addManagedPolicy(
  iam.ManagedPolicy.fromAwsManagedPolicyName("AmazonEC2ReadOnlyAccess"),
);

Sources