VPC Configuration Restore IAM Permissions

In this article

    To perform VPC configuration restore operations, IAM roles or IAM users must have the following permissions:

    {

       "Version": "2012-10-17",

       "Statement": [

           {

               "Action": [

                   "ec2:AuthorizeSecurityGroupIngress",

                   "ec2:CreateVpc",

                   "ec2:DescribeDhcpOptions",

                   "ec2:AttachInternetGateway",

                   "ec2:DescribeVpcAttribute",

                   "ec2:DescribeInternetGateways",

                   "ec2:DescribeNetworkInterfaces",

                   "ec2:DescribeAvailabilityZones",

                   "ec2:CreateInternetGateway",

                   "ec2:RevokeSecurityGroupEgress",

                   "ec2:ModifyVpcAttribute",

                   "ec2:DeleteInternetGateway",

                   "ec2:DescribeNetworkAcls",

                   "servicequotas:ListServiceQuotas",

                   "ec2:DeleteNetworkAcl",

                   "ec2:AuthorizeSecurityGroupEgress",

                   "ec2:DetachInternetGateway",

                   "ec2:DescribeSecurityGroups",

                   "ec2:RevokeSecurityGroupIngress",

                   "ec2:CreateNetworkInterface",

                   "ec2:DescribeVpcs",

                   "ec2:DeleteVpc",

                   "ec2:DescribeSubnets",

                   "ec2:CreateNetworkAclEntry",

                   "ec2:DescribeVpnGateways",

                   "ec2:DeleteNetworkAclEntry",

                   "ec2:DescribeRouteTables",

                   "ec2:DescribeAddresses",

                   "ec2:DescribeManagedPrefixLists",

                   "ram:ListResources",

                   "ec2:DisassociateAddress",

                   "ec2:GetManagedPrefixListEntries",

                   "ec2:ModifyManagedPrefixList",

                   "ec2:DescribeInstances",

                   "ec2:AssociateAddress",

                   "ec2:DescribeEgressOnlyInternetGateways",

                   "ec2:DescribeVpcPeeringConnections",

                   "ec2:DescribeVpcEndpointServiceConfigurations",

                   "elasticloadbalancing:DescribeLoadBalancers",

                   "ec2:ModifyVpcEndpointServiceConfiguration",

                   "elasticloadbalancing:DescribeTags",

                   "elasticloadbalancing:DescribeListeners",

                   "elasticloadbalancing:DescribeTargetGroups",

                   "elasticloadbalancing:DescribeTargetHealth",

                   "elasticloadbalancing:ModifyTargetGroup",

                   "lambda:ListFunctions",

                   "ec2:DescribeVpcEndpoints",

                   "ec2:DescribeVpnConnections",

                   "ec2:DescribeCustomerGateways",

                   "ram:GetResourceShares",

                   "ec2:DescribeTransitGatewayRouteTables",

                   "ec2:DescribeTransitGatewayVpcAttachments",

                   "ec2:DescribeTransitGatewayAttachments",

                   "ec2:DescribeTransitGateways",

                   "ec2:ModifyVpcEndpoint",

                   "ec2:ModifyVpcPeeringConnectionOptions",

                   "ram:ListResourceSharePermissions",

                   "ec2:GetTransitGatewayRouteTableAssociations",

                   "ec2:ModifyTransitGatewayVpcAttachment",

                   "ec2:ModifyTransitGateway",

                   "ram:ListPrincipals",

                   "ec2:DescribeTransitGatewayPeeringAttachments",

                   "ram:UntagResource",

                   "ram:TagResource",

                   "ram:DisassociateResourceShare",

                   "ec2:AssociateVpcCidrBlock",

                   "ec2:AssociateDhcpOptions",

                   "ram:AssociateResourceShare",

                   "ec2:DescribeTransitGatewayMulticastDomains",

                   "ec2:GetTransitGatewayMulticastDomainAssociations",

                   "ec2:AssociateTransitGatewayRouteTable",

                   "ec2:AttachVpnGateway",

                   "ec2:CreateCustomerGateway",

                   "ec2:CreateEgressOnlyInternetGateway",

                   "ec2:CreateManagedPrefixList",

                   "ec2:CreateRouteTable",

                   "ec2:CreateSubnet",

                   "ec2:CreateTags",

                   "ec2:CreateTransitGateway",

                   "ec2:CreateTransitGatewayMulticastDomain",

                   "ec2:CreateTransitGatewayRouteTable",

                   "ec2:CreateTransitGatewayVpcAttachment",

                   "ec2:CreateVpcEndpoint",

                   "ec2:CreateVpcPeeringConnection",

                   "ec2:CreateVpnConnection",

                   "ec2:CreateVpnGateway",

                   "ec2:DescribeNatGateways",

                   "ec2:AcceptVpcEndpointConnections",

                   "ec2:RejectVpcEndpointConnections",

                   "ec2:CreateTransitGatewayRoute",

                   "ec2:EnableTransitGatewayRouteTablePropagation",

                   "ec2:SearchTransitGatewayRoutes",

                   "ec2:GetTransitGatewayRouteTablePropagations",

                   "ec2:DisableTransitGatewayRouteTablePropagation",

                   "ec2:DeleteTransitGatewayRoute",

                   "ec2:DeleteTransitGatewayRouteTable",

                   "ec2:AllocateAddress",

                   "ec2:AssociateClientVpnTargetNetwork",

                   "ec2:AssociateRouteTable",

                   "ec2:AssociateSubnetCidrBlock",

                   "ec2:AssociateTransitGatewayMulticastDomain",

                   "ec2:AuthorizeClientVpnIngress",

                   "ec2:CreateClientVpnEndpoint",

                   "ec2:CreateClientVpnRoute",

                   "ec2:CreateNetworkAcl",

                   "ec2:CreateRoute",

                   "ec2:CreateTransitGatewayPeeringAttachment",

                   "ec2:CreateVpcEndpointServiceConfiguration",

                   "ec2:DeleteClientVpnEndpoint",

                   "ec2:DeleteClientVpnRoute",

                   "ec2:DeleteCustomerGateway",

                   "ec2:DeleteNatGateway",

                   "ec2:DeleteNetworkInterface",

                   "ec2:DeleteRoute",

                   "ec2:DeleteRouteTable",

                   "ec2:DeleteSubnet",

                   "ec2:DeleteTransitGateway",

                   "ec2:DeleteTransitGatewayMulticastDomain",

                   "ec2:DeleteTransitGatewayPeeringAttachment",

                   "ec2:DeleteTransitGatewayRouteTable",

                   "ec2:DeleteTransitGatewayVpcAttachment",

                   "ec2:DeleteVpcEndpointServiceConfigurations",

                   "ec2:DeleteVpcPeeringConnection",

                   "ec2:DeleteVpnConnection",

                   "ec2:DeleteVpnGateway",

                   "ec2:DescribeClientVpnAuthorizationRules",

                   "ec2:DescribeClientVpnEndpoints",

                   "ec2:DescribeClientVpnRoutes",

                   "ec2:DescribeClientVpnTargetNetworks",

                   "ec2:DetachVpnGateway",

                   "ec2:DisableVgwRoutePropagation",

                   "ec2:DisassociateClientVpnTargetNetwork",

                   "ec2:DisassociateRouteTable",

                   "ec2:DisassociateTransitGatewayMulticastDomain",

                   "ec2:DisassociateTransitGatewayRouteTable",

                   "ec2:EnableVgwRoutePropagation",

                   "ec2:ModifyClientVpnEndpoint",

                   "ec2:ModifyNetworkInterfaceAttribute",

                   "ec2:ModifySubnetAttribute",

                   "ec2:ModifyVpnConnection",

                   "ec2:ReleaseAddress",

                   "ec2:ReplaceNetworkAclAssociation",

                   "ec2:ReplaceRouteTableAssociation",

                   "ec2:RevokeClientVpnIngress",

                   "elasticloadbalancing:DeleteLoadBalancer",

                   "elasticloadbalancing:DeleteTargetGroup",

                   "elasticloadbalancing:CreateTargetGroup",

                   "elasticloadbalancing:RegisterTargets",

                   "elasticloadbalancing:DeregisterTargets",

                   "elasticloadbalancing:CreateListener",

                   "elasticloadbalancing:DeleteListener",

                   "elasticloadbalancing:CreateLoadBalancer",

                   "elasticloadbalancing:SetSecurityGroups",

                   "elasticloadbalancing:SetSubnets",

                   "elasticloadbalancing:RemoveTags",

                   "elasticloadbalancing:AddTags",

                   "ram:CreateResourceShare",

                   "ram:DeleteResourceShare",

                   "ec2:CreateDefaultVpc",

                   "ec2:CreateDefaultSubnet",

                   "ec2:CreateNatGateway",

                   "ec2:CreateSecurityGroup",

                   "ec2:DeleteSecurityGroup",

                   "ec2:CreateDhcpOptions",

                   "ec2:DeleteDhcpOptions",

                   "ec2:DeleteEgressOnlyInternetGateway",

                   "ec2:DeleteManagedPrefixList",

                   "ec2:DeleteVpcEndpoints",

                   "ec2:DeleteTransitGatewayPrefixListReference",

                   "ec2:CreateTransitGatewayPrefixListReference",

                   "s3:ListAllMyBuckets",

                   "s3:ListBucket",

                   "s3:GetBucketLocation",

                   "s3:PutObject",

                   "ram:GetResourceShareAssociations",

                   "ec2:GetTransitGatewayPrefixListReferences"

               ],

                         "Resource": "*",

                         "Effect": "Allow"

             }

       ]

    }