AWSTransformNetworkMigrationAgentPolicy
Summary
Grants permissions for AWS Transform to deploy and configure network infrastructure including VPCs, Transit Gateways, and route tables for network migration
Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.
Identity
- ARN
arn:aws:iam::aws:policy/AWSTransformNetworkMigrationAgentPolicy- Default version
- v4
- Created
- Last edited
- Services
- cloudformation, directconnect, ec2, elasticloadbalancing, globalaccelerator, iam, kms, lambda, logs, mgn, network-firewall, organizations, ram, s3, ssm, sts, tiros, wellarchitected
Control-plane actions (242)
By access level: 69 List, 5 Permissions management, 51 Read, 8 Tagging, 109 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| CloudFormation | 10 of 104 | 3 List, 3 Read, 4 Write; 10 restricted, 10 conditional | cloudformation:CreateStack, cloudformation:DeleteStack, cloudformation:DescribeStackEvents, cloudformation:DescribeStackResources, cloudformation:DescribeStacks, cloudformation:GetTemplateSummary, cloudformation:ListStackResources, cloudformation:ListStacks, cloudformation:UpdateStack, cloudformation:UpdateTerminationProtection |
| Direct Connect | 6 of 73 | 6 Read; 6 restricted, 6 conditional | directconnect:DescribeConnections, directconnect:DescribeDirectConnectGatewayAssociations, directconnect:DescribeDirectConnectGatewayAttachments, directconnect:DescribeDirectConnectGateways, directconnect:DescribeVirtualGateways, directconnect:DescribeVirtualInterfaces |
| EC2 | 94 of 834 | 34 List, 3 Read, 1 Tagging, 56 Write; 94 restricted, 94 conditional | ec2:AcceptTransitGatewayVpcAttachment, ec2:AllocateAddress, ec2:AssociateNatGatewayAddress, ec2:AssociateRouteTable, ec2:AssociateSubnetCidrBlock, ec2:AssociateTransitGatewayRouteTable, ec2:AssociateVpcCidrBlock, ec2:AttachInternetGateway, ec2:AuthorizeSecurityGroupEgress, ec2:AuthorizeSecurityGroupIngress, ec2:CreateInternetGateway, ec2:CreateNatGateway and 82 more |
| ELB | 20 of 77 | 1 List, 9 Read, 1 Tagging, 9 Write; 20 restricted, 20 conditional | elasticloadbalancing:AddTags, elasticloadbalancing:CreateListener, elasticloadbalancing:CreateLoadBalancer, elasticloadbalancing:CreateTargetGroup, elasticloadbalancing:DeleteListener, elasticloadbalancing:DeleteLoadBalancer, elasticloadbalancing:DeleteTargetGroup, elasticloadbalancing:DescribeCapacityReservation, elasticloadbalancing:DescribeListenerAttributes, elasticloadbalancing:DescribeListeners, elasticloadbalancing:DescribeLoadBalancerAttributes, elasticloadbalancing:DescribeLoadBalancers and 8 more |
| GlobalAccelerator | 7 of 56 | 7 List; 7 restricted, 7 conditional | globalaccelerator:ListAccelerators, globalaccelerator:ListCustomRoutingAccelerators, globalaccelerator:ListCustomRoutingEndpointGroups, globalaccelerator:ListCustomRoutingListeners, globalaccelerator:ListCustomRoutingPortMappings, globalaccelerator:ListEndpointGroups, globalaccelerator:ListListeners |
| IAM | 12 of 190 | 2 List, 3 Permissions management, 2 Read, 1 Tagging, 4 Write; 12 restricted, 12 conditional | iam:AttachRolePolicy, iam:CreateRole, iam:CreateServiceLinkedRole, iam:DeleteRole, iam:DeleteRolePolicy, iam:DetachRolePolicy, iam:GetRole, iam:GetRolePolicy, iam:ListAttachedRolePolicies, iam:ListRolePolicies, iam:PassRole, iam:TagRole |
| KMS | 3 of 58 | 1 Read, 2 Write; 3 restricted, 3 conditional | kms:Decrypt, kms:DescribeKey, kms:GenerateDataKey |
| Lambda | 9 of 121 | 6 Read, 1 Tagging, 2 Write; 9 restricted, 9 conditional | lambda:CreateFunction, lambda:DeleteFunction, lambda:GetFunction, lambda:GetFunctionCodeSigningConfig, lambda:GetFunctionConfiguration, lambda:GetFunctionRecursionConfig, lambda:GetRuntimeManagementConfig, lambda:ListTags, lambda:TagResource |
| CloudWatch Logs | 3 of 133 | 3 Write; 3 restricted, 3 conditional | logs:CreateLogGroup, logs:CreateLogStream, logs:PutLogEvents |
| MGN | 28 of 147 | 15 List, 1 Read, 1 Tagging, 11 Write; 28 restricted, 28 conditional | mgn:CreateNetworkMigrationDefinition, mgn:DeleteNetworkMigrationDefinition, mgn:GetNetworkMigrationDefinition, mgn:ListNetworkMigrationAnalyses, mgn:ListNetworkMigrationAnalysisResults, mgn:ListNetworkMigrationCodeGenerationSegments, mgn:ListNetworkMigrationCodeGenerations, mgn:ListNetworkMigrationDefinitions, mgn:ListNetworkMigrationDeployedStacks, mgn:ListNetworkMigrationDeployedStacksDeletions, mgn:ListNetworkMigrationDeployments, mgn:ListNetworkMigrationExecutionArtifacts and 16 more |
| Network Firewall | 7 of 89 | 3 List, 4 Read; 7 restricted, 7 conditional | network-firewall:DescribeFirewall, network-firewall:DescribeFirewallPolicy, network-firewall:DescribeResourcePolicy, network-firewall:DescribeRuleGroup, network-firewall:ListFirewallPolicies, network-firewall:ListFirewalls, network-firewall:ListRuleGroups |
| Organizations | 1 of 63 | 1 List; 0 restricted, 0 conditional | organizations:ListAccounts |
| Resource Access Manager | 7 of 39 | 1 Read, 1 Tagging, 5 Write; 7 restricted, 7 conditional | ram:AssociateResourceShare, ram:CreateResourceShare, ram:DeleteResourceShare, ram:DisassociateResourceShare, ram:GetResourceShares, ram:TagResource, ram:UpdateResourceShare |
| S3 | 8 of 155 | 1 List, 4 Read, 1 Tagging, 2 Write; 8 restricted, 8 conditional | s3:CreateBucket, s3:GetBucketLocation, s3:GetBucketPublicAccessBlock, s3:GetBucketTagging, s3:GetObjectAttributes, s3:ListBucketMultipartUploads, s3:PutBucketTagging, s3:PutEncryptionConfiguration |
| Systems Manager | 8 of 164 | 2 List, 2 Permissions management, 1 Read, 1 Tagging, 2 Write; 8 restricted, 8 conditional | ssm:AddTagsToResource, ssm:DeleteParameter, ssm:DeleteResourcePolicy, ssm:GetParameters, ssm:GetResourcePolicies, ssm:ListTagsForResource, ssm:PutParameter, ssm:PutResourcePolicy |
| STS | 1 of 16 | 1 Write; 1 restricted, 1 conditional | sts:AssumeRole |
| Tiros | All 5 actions (see the Tiros page) | 3 Read, 2 Write; 5 restricted, 5 conditional | tiros:CreateQuery, tiros:ExtendQuery, tiros:GetQueryAnswer, tiros:GetQueryExplanation, tiros:GetQueryExtensionAccounts |
| Well-Architected Tool | 13 of 95 | 7 Read, 6 Write; 13 restricted, 13 conditional | wellarchitected:CreateAgentContext, wellarchitected:CreateAgentGoal, wellarchitected:GetAgentProfile, wellarchitected:GetAgentRecommendation, wellarchitected:GetAgentRecommendationGeneration, wellarchitected:ListAgentContexts, wellarchitected:ListAgentGoals, wellarchitected:ListAgentProfiles, wellarchitected:ListAgentRecommendations, wellarchitected:StartAgentRecommendationGeneration, wellarchitected:UpdateAgentContext, wellarchitected:UpdateAgentGoal and 1 more |
CloudFormation: 10 actions
- cloudformation:CreateStack (Write)
- cloudformation:DeleteStack (Write)
- cloudformation:DescribeStackEvents (Read)
- cloudformation:DescribeStackResources (Read)
- cloudformation:DescribeStacks (List)
- cloudformation:GetTemplateSummary (Read)
- cloudformation:ListStackResources (List)
- cloudformation:ListStacks (List)
- cloudformation:UpdateStack (Write)
- cloudformation:UpdateTerminationProtection (Write)
Direct Connect: 6 actions
- directconnect:DescribeConnections (Read)
- directconnect:DescribeDirectConnectGatewayAssociations (Read)
- directconnect:DescribeDirectConnectGatewayAttachments (Read)
- directconnect:DescribeDirectConnectGateways (Read)
- directconnect:DescribeVirtualGateways (Read)
- directconnect:DescribeVirtualInterfaces (Read)
EC2: 94 actions
- ec2:AcceptTransitGatewayVpcAttachment (Write)
- ec2:AllocateAddress (Write)
- ec2:AssociateNatGatewayAddress (Write)
- ec2:AssociateRouteTable (Write)
- ec2:AssociateSubnetCidrBlock (Write)
- ec2:AssociateTransitGatewayRouteTable (Write)
- ec2:AssociateVpcCidrBlock (Write)
- ec2:AttachInternetGateway (Write)
- ec2:AuthorizeSecurityGroupEgress (Write)
- ec2:AuthorizeSecurityGroupIngress (Write)
- ec2:CreateInternetGateway (Write)
- ec2:CreateNatGateway (Write)
- ec2:CreateNetworkInsightsPath (Write)
- ec2:CreateNetworkInterface (Write)
- ec2:CreateRoute (Write)
- ec2:CreateRouteTable (Write)
- ec2:CreateSecurityGroup (Write)
- ec2:CreateSubnet (Write)
- ec2:CreateTags (Tagging)
- ec2:CreateTransitGateway (Write)
- ec2:CreateTransitGatewayRoute (Write)
- ec2:CreateTransitGatewayRouteTable (Write)
- ec2:CreateTransitGatewayVpcAttachment (Write)
- ec2:CreateVpc (Write)
- ec2:DeleteInternetGateway (Write)
- ec2:DeleteLaunchTemplate (Write)
- ec2:DeleteLaunchTemplateVersions (Write)
- ec2:DeleteNatGateway (Write)
- ec2:DeleteNetworkInsightsAnalysis (Write)
- ec2:DeleteNetworkInsightsPath (Write)
- ec2:DeleteNetworkInterface (Write)
- ec2:DeleteRoute (Write)
- ec2:DeleteRouteTable (Write)
- ec2:DeleteSecurityGroup (Write)
- ec2:DeleteSubnet (Write)
- ec2:DeleteTransitGateway (Write)
- ec2:DeleteTransitGatewayRoute (Write)
- ec2:DeleteTransitGatewayRouteTable (Write)
- ec2:DeleteTransitGatewayVpcAttachment (Write)
- ec2:DeleteVpc (Write)
- ec2:DescribeAccountAttributes (List)
- ec2:DescribeAddresses (List)
- ec2:DescribeAvailabilityZones (List)
- ec2:DescribeCustomerGateways (List)
- ec2:DescribeEgressOnlyInternetGateways (List)
- ec2:DescribeInstances (List)
- ec2:DescribeInternetGateways (List)
- ec2:DescribeManagedPrefixLists (List)
- ec2:DescribeNatGateways (List)
- ec2:DescribeNetworkAcls (List)
- ec2:DescribeNetworkInsightsAnalyses (List)
- ec2:DescribeNetworkInsightsPaths (List)
- ec2:DescribeNetworkInterfaces (List)
- ec2:DescribePrefixLists (List)
- ec2:DescribeRegions (List)
- ec2:DescribeRouteTables (List)
- ec2:DescribeSecurityGroupRules (List)
- ec2:DescribeSecurityGroups (List)
- ec2:DescribeSubnets (List)
- ec2:DescribeTransitGatewayAttachments (List)
- ec2:DescribeTransitGatewayConnects (List)
- ec2:DescribeTransitGatewayPeeringAttachments (List)
- ec2:DescribeTransitGatewayRouteTables (List)
- ec2:DescribeTransitGatewayVpcAttachments (List)
- ec2:DescribeTransitGateways (List)
- ec2:DescribeVpcEndpointServiceConfigurations (List)
- ec2:DescribeVpcEndpoints (List)
- ec2:DescribeVpcPeeringConnections (List)
- ec2:DescribeVpcs (List)
- ec2:DescribeVpnConnections (List)
- ec2:DescribeVpnGateways (List)
- ec2:DetachInternetGateway (Write)
- ec2:DisableTransitGatewayRouteTablePropagation (Write)
- ec2:DisassociateNatGatewayAddress (Write)
- ec2:DisassociateRouteTable (Write)
- ec2:DisassociateTransitGatewayRouteTable (Write)
- ec2:EnableTransitGatewayRouteTablePropagation (Write)
- ec2:GetManagedPrefixListEntries (Read)
- ec2:GetSecurityGroupsForVpc (Read)
- ec2:GetSubnetCidrReservations (Read)
- ec2:GetTransitGatewayRouteTableAssociations (List)
- ec2:GetTransitGatewayRouteTablePropagations (List)
- ec2:ModifySubnetAttribute (Write)
- ec2:ModifyTransitGateway (Write)
- ec2:ModifyTransitGatewayVpcAttachment (Write)
- ec2:ModifyVpcAttribute (Write)
- ec2:RejectTransitGatewayVpcAttachment (Write)
- ec2:ReleaseAddress (Write)
- ec2:ReplaceRoute (Write)
- ec2:ReplaceTransitGatewayRoute (Write)
- ec2:RevokeSecurityGroupEgress (Write)
- ec2:RevokeSecurityGroupIngress (Write)
- ec2:SearchTransitGatewayRoutes (List)
- ec2:StartNetworkInsightsAnalysis (Write)
ELB: 20 actions
- elasticloadbalancing:AddTags (Tagging)
- elasticloadbalancing:CreateListener (Write)
- elasticloadbalancing:CreateLoadBalancer (Write)
- elasticloadbalancing:CreateTargetGroup (Write)
- elasticloadbalancing:DeleteListener (Write)
- elasticloadbalancing:DeleteLoadBalancer (Write)
- elasticloadbalancing:DeleteTargetGroup (Write)
- elasticloadbalancing:DescribeCapacityReservation (Read)
- elasticloadbalancing:DescribeListenerAttributes (Read)
- elasticloadbalancing:DescribeListeners (Read)
- elasticloadbalancing:DescribeLoadBalancerAttributes (Read)
- elasticloadbalancing:DescribeLoadBalancers (List)
- elasticloadbalancing:DescribeRules (Read)
- elasticloadbalancing:DescribeTags (Read)
- elasticloadbalancing:DescribeTargetGroupAttributes (Read)
- elasticloadbalancing:DescribeTargetGroups (Read)
- elasticloadbalancing:DescribeTargetHealth (Read)
- elasticloadbalancing:ModifyListenerAttributes (Write)
- elasticloadbalancing:ModifyLoadBalancerAttributes (Write)
- elasticloadbalancing:ModifyTargetGroupAttributes (Write)
GlobalAccelerator: 7 actions
- globalaccelerator:ListAccelerators (List)
- globalaccelerator:ListCustomRoutingAccelerators (List)
- globalaccelerator:ListCustomRoutingEndpointGroups (List)
- globalaccelerator:ListCustomRoutingListeners (List)
- globalaccelerator:ListCustomRoutingPortMappings (List)
- globalaccelerator:ListEndpointGroups (List)
- globalaccelerator:ListListeners (List)
IAM: 12 actions
- iam:AttachRolePolicy (Permissions management)
- iam:CreateRole (Write)
- iam:CreateServiceLinkedRole (Write)
- iam:DeleteRole (Write)
- iam:DeleteRolePolicy (Permissions management)
- iam:DetachRolePolicy (Permissions management)
- iam:GetRole (Read)
- iam:GetRolePolicy (Read)
- iam:ListAttachedRolePolicies (List)
- iam:ListRolePolicies (List)
- iam:PassRole (Write)
- iam:TagRole (Tagging)
KMS: 3 actions
- kms:Decrypt (Write)
- kms:DescribeKey (Read)
- kms:GenerateDataKey (Write)
Lambda: 9 actions
- lambda:CreateFunction (Write)
- lambda:DeleteFunction (Write)
- lambda:GetFunction (Read)
- lambda:GetFunctionCodeSigningConfig (Read)
- lambda:GetFunctionConfiguration (Read)
- lambda:GetFunctionRecursionConfig (Read)
- lambda:GetRuntimeManagementConfig (Read)
- lambda:ListTags (Read)
- lambda:TagResource (Tagging)
CloudWatch Logs: 3 actions
- logs:CreateLogGroup (Write)
- logs:CreateLogStream (Write)
- logs:PutLogEvents (Write)
MGN: 28 actions
- mgn:CreateNetworkMigrationDefinition (Write)
- mgn:DeleteNetworkMigrationDefinition (Write)
- mgn:GetNetworkMigrationDefinition (Read)
- mgn:ListNetworkMigrationAnalyses (List)
- mgn:ListNetworkMigrationAnalysisResults (List)
- mgn:ListNetworkMigrationCodeGenerationSegments (List)
- mgn:ListNetworkMigrationCodeGenerations (List)
- mgn:ListNetworkMigrationDefinitions (List)
- mgn:ListNetworkMigrationDeployedStacks (List)
- mgn:ListNetworkMigrationDeployedStacksDeletions (List)
- mgn:ListNetworkMigrationDeployments (List)
- mgn:ListNetworkMigrationExecutionArtifacts (List)
- mgn:ListNetworkMigrationExecutions (List)
- mgn:ListNetworkMigrationInsights (List)
- mgn:ListNetworkMigrationMapperSegmentConstructs (List)
- mgn:ListNetworkMigrationMapperSegments (List)
- mgn:ListNetworkMigrationMappingUpdates (List)
- mgn:ListNetworkMigrationMappings (List)
- mgn:StartNetworkMigrationAnalysis (Write)
- mgn:StartNetworkMigrationCodeGeneration (Write)
- mgn:StartNetworkMigrationDeployedStacksDeletion (Write)
- mgn:StartNetworkMigrationDeployment (Write)
- mgn:StartNetworkMigrationMapping (Write)
- mgn:StartNetworkMigrationMappingUpdate (Write)
- mgn:TagResource (Tagging)
- mgn:UpdateNetworkMigrationDefinition (Write)
- mgn:UpdateNetworkMigrationMapperSegment (Write)
- mgn:UpdateNetworkMigrationMapperSegmentConstruct (Write)
Network Firewall: 7 actions
- network-firewall:DescribeFirewall (Read)
- network-firewall:DescribeFirewallPolicy (Read)
- network-firewall:DescribeResourcePolicy (Read)
- network-firewall:DescribeRuleGroup (Read)
- network-firewall:ListFirewallPolicies (List)
- network-firewall:ListFirewalls (List)
- network-firewall:ListRuleGroups (List)
Organizations: 1 actions
- organizations:ListAccounts (List)
Resource Access Manager: 7 actions
- ram:AssociateResourceShare (Write)
- ram:CreateResourceShare (Write)
- ram:DeleteResourceShare (Write)
- ram:DisassociateResourceShare (Write)
- ram:GetResourceShares (Read)
- ram:TagResource (Tagging)
- ram:UpdateResourceShare (Write)
S3: 8 actions
- s3:CreateBucket (Write)
- s3:GetBucketLocation (Read)
- s3:GetBucketPublicAccessBlock (Read)
- s3:GetBucketTagging (Read)
- s3:GetObjectAttributes (Read)
- s3:ListBucketMultipartUploads (List)
- s3:PutBucketTagging (Tagging)
- s3:PutEncryptionConfiguration (Write)
Systems Manager: 8 actions
- ssm:AddTagsToResource (Tagging)
- ssm:DeleteParameter (Write)
- ssm:DeleteResourcePolicy (Permissions management)
- ssm:GetParameters (Read)
- ssm:GetResourcePolicies (List)
- ssm:ListTagsForResource (List)
- ssm:PutParameter (Write)
- ssm:PutResourcePolicy (Permissions management)
STS: 1 actions
- sts:AssumeRole (Write)
Well-Architected Tool: 13 actions
- wellarchitected:CreateAgentContext (Write)
- wellarchitected:CreateAgentGoal (Write)
- wellarchitected:GetAgentProfile (Read)
- wellarchitected:GetAgentRecommendation (Read)
- wellarchitected:GetAgentRecommendationGeneration (Read)
- wellarchitected:ListAgentContexts (Read)
- wellarchitected:ListAgentGoals (Read)
- wellarchitected:ListAgentProfiles (Read)
- wellarchitected:ListAgentRecommendations (Read)
- wellarchitected:StartAgentRecommendationGeneration (Write)
- wellarchitected:UpdateAgentContext (Write)
- wellarchitected:UpdateAgentGoal (Write)
- wellarchitected:UpdateAgentProfile (Write)
Data-plane actions (8)
By access level: 2 List, 2 Read, 4 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| Lambda | 1 of 14 | 1 Write; 1 restricted, 1 conditional | lambda:InvokeFunction |
| S3 | 7 of 25 | 2 List, 2 Read, 3 Write; 7 restricted, 7 conditional | s3:AbortMultipartUpload, s3:DeleteObject, s3:GetObject, s3:GetObjectVersion, s3:ListBucket, s3:ListMultipartUploadParts, s3:PutObject |
Lambda: 1 actions
- lambda:InvokeFunction (Write)
S3: 7 actions
- s3:AbortMultipartUpload (Write)
- s3:DeleteObject (Write)
- s3:GetObject (Read)
- s3:GetObjectVersion (Read)
- s3:ListBucket (List)
- s3:ListMultipartUploadParts (List)
- s3:PutObject (Write)
Excluded and conditional actions
No patterns are excluded by NotAction or Deny statements.
Resource scope and attachment
Resource scope across granted actions: mixed.
Can be attached: Yes, to users, groups and roles.
Why this tier
- Grants 126 write, tagging or permissions-management actions, short of full control of any service.
- Grants data-plane write actions on a data store, but only for scoped resources or under conditions.
- Grants iam:PassRole, but only for scoped roles or under conditions (for example iam:PassedToService).
- Grants permissions-management actions on iam, but only for scoped resources or under conditions.
Guidance
Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.
Related policies
Same service
- AdministratorAccess-AWSElasticBeanstalk
- AIDevOpsReleaseManagementVPCPolicy
- AmazonAppStreamServiceAccess
- AmazonBioDiscoveryServiceLinkedRolePolicy
- AmazonDataZoneEnvironmentRolePermissionsBoundary
- AmazonDataZoneProjectDeploymentPermissionsBoundary
- AmazonDataZoneProjectRolePermissionsBoundary
- AmazonDataZoneSageMakerProvisioningRolePolicy
Same domain
Frequently asked questions
Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.
Policy JSON
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CfnNetworkMigrationStackCreate",
"Effect": "Allow",
"Action": [
"cloudformation:CreateStack"
],
"Resource": "arn:aws:cloudformation:*:*:stack/Nmd*",
"Condition": {
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "CfnNetworkMigrationStackDescribeStacks",
"Effect": "Allow",
"Action": [
"cloudformation:DescribeStacks"
],
"Resource": "arn:aws:cloudformation:*:*:stack/Nmd*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "CfnNetworkMigrationStackListStacks",
"Effect": "Allow",
"Action": [
"cloudformation:ListStacks"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}"
}
}
},
{
"Sid": "CfnNetworkMigrationStackOperationsWrite",
"Effect": "Allow",
"Action": [
"cloudformation:DeleteStack",
"cloudformation:DescribeStackEvents",
"cloudformation:DescribeStackResources",
"cloudformation:GetTemplateSummary",
"cloudformation:ListStackResources",
"cloudformation:UpdateStack",
"cloudformation:UpdateTerminationProtection"
],
"Resource": "arn:aws:cloudformation:*:*:stack/Nmd*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "Ec2NetworkProvisionCreate",
"Effect": "Allow",
"Action": [
"ec2:AllocateAddress",
"ec2:CreateInternetGateway",
"ec2:CreateTransitGateway",
"ec2:CreateVpc"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}"
}
}
},
{
"Sid": "Ec2NetworkTopologyOperationsReadOnly",
"Effect": "Allow",
"Action": [
"ec2:DescribeAvailabilityZones",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeSecurityGroupRules",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeVpcs",
"ec2:GetSubnetCidrReservations"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}"
}
}
},
{
"Sid": "Ec2TagOnCreateNetworkMigration",
"Effect": "Allow",
"Action": [
"ec2:CreateTags"
],
"Resource": [
"arn:aws:ec2:*:*:elastic-ip/*",
"arn:aws:ec2:*:*:internet-gateway/*",
"arn:aws:ec2:*:*:natgateway/*",
"arn:aws:ec2:*:*:network-insights-access-scope-analysis/*",
"arn:aws:ec2:*:*:network-insights-access-scope/*",
"arn:aws:ec2:*:*:network-insights-analysis/*",
"arn:aws:ec2:*:*:network-insights-path/*",
"arn:aws:ec2:*:*:network-interface/*",
"arn:aws:ec2:*:*:route-table/*",
"arn:aws:ec2:*:*:security-group-rule/*",
"arn:aws:ec2:*:*:security-group/*",
"arn:aws:ec2:*:*:subnet/*",
"arn:aws:ec2:*:*:transit-gateway-attachment/*",
"arn:aws:ec2:*:*:transit-gateway-connect-peer/*",
"arn:aws:ec2:*:*:transit-gateway-policy-table/*",
"arn:aws:ec2:*:*:transit-gateway-route-table/*",
"arn:aws:ec2:*:*:transit-gateway/*",
"arn:aws:ec2:*:*:vpc/*"
],
"Condition": {
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"ec2:CreateAction": [
"AllocateAddress",
"CreateInternetGateway",
"CreateNatGateway",
"CreateNetworkInsightsAccessScope",
"CreateNetworkInsightsPath",
"CreateNetworkInterface",
"CreateRouteTable",
"CreateSecurityGroup",
"CreateSubnet",
"CreateTransitGateway",
"CreateTransitGatewayConnect",
"CreateTransitGatewayConnectPeer",
"CreateTransitGatewayPeeringAttachment",
"CreateTransitGatewayPolicyTable",
"CreateTransitGatewayPrefixListReference",
"CreateTransitGatewayRoute",
"CreateTransitGatewayRouteTable",
"CreateTransitGatewayRouteTableAnnouncement",
"CreateTransitGatewayVpcAttachment",
"CreateVpc",
"StartNetworkInsightsAnalysis"
]
}
}
},
{
"Sid": "Ec2ViaCfnCrossOrgTgwAttachmentCreate",
"Effect": "Allow",
"Action": [
"ec2:CreateTransitGatewayVpcAttachment"
],
"Resource": [
"arn:aws:ec2:*:*:subnet/*",
"arn:aws:ec2:*:*:transit-gateway-attachment/*",
"arn:aws:ec2:*:*:transit-gateway/*",
"arn:aws:ec2:*:*:vpc/*"
],
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceOrgID": "${aws:PrincipalOrgID}"
}
}
},
{
"Sid": "Ec2ViaCfnNetworkOperationsWrite",
"Effect": "Allow",
"Action": [
"ec2:AcceptTransitGatewayVpcAttachment",
"ec2:AssociateNatGatewayAddress",
"ec2:AssociateRouteTable",
"ec2:AssociateSubnetCidrBlock",
"ec2:AssociateTransitGatewayRouteTable",
"ec2:AssociateVpcCidrBlock",
"ec2:AttachInternetGateway",
"ec2:AuthorizeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:DeleteInternetGateway",
"ec2:DeleteLaunchTemplate",
"ec2:DeleteLaunchTemplateVersions",
"ec2:DeleteNatGateway",
"ec2:DeleteNetworkInsightsAnalysis",
"ec2:DeleteNetworkInsightsPath",
"ec2:DeleteNetworkInterface",
"ec2:DeleteRoute",
"ec2:DeleteRouteTable",
"ec2:DeleteSecurityGroup",
"ec2:DeleteSubnet",
"ec2:DeleteTransitGateway",
"ec2:DeleteTransitGatewayRoute",
"ec2:DeleteTransitGatewayRouteTable",
"ec2:DeleteTransitGatewayVpcAttachment",
"ec2:DeleteVpc",
"ec2:DetachInternetGateway",
"ec2:DisableTransitGatewayRouteTablePropagation",
"ec2:DisassociateNatGatewayAddress",
"ec2:DisassociateRouteTable",
"ec2:DisassociateTransitGatewayRouteTable",
"ec2:EnableTransitGatewayRouteTablePropagation",
"ec2:ModifySubnetAttribute",
"ec2:ModifyTransitGateway",
"ec2:ModifyTransitGatewayVpcAttachment",
"ec2:ModifyVpcAttribute",
"ec2:RejectTransitGatewayVpcAttachment",
"ec2:ReleaseAddress",
"ec2:ReplaceRoute",
"ec2:ReplaceTransitGatewayRoute",
"ec2:RevokeSecurityGroupEgress",
"ec2:RevokeSecurityGroupIngress",
"ec2:SearchTransitGatewayRoutes",
"ec2:StartNetworkInsightsAnalysis"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "Ec2ViaCfnNetworkProvisionCreateWithRequestTag",
"Effect": "Allow",
"Action": [
"ec2:CreateNatGateway",
"ec2:CreateNetworkInsightsPath",
"ec2:CreateNetworkInterface",
"ec2:CreateRoute",
"ec2:CreateRouteTable",
"ec2:CreateSubnet",
"ec2:CreateTransitGatewayRoute",
"ec2:CreateTransitGatewayRouteTable",
"ec2:CreateTransitGatewayVpcAttachment"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}"
}
}
},
{
"Sid": "Ec2ViaCfnNetworkProvisionCreateWithResourceTag",
"Effect": "Allow",
"Action": [
"ec2:CreateNatGateway",
"ec2:CreateNetworkInsightsPath",
"ec2:CreateNetworkInterface",
"ec2:CreateRoute",
"ec2:CreateRouteTable",
"ec2:CreateSubnet",
"ec2:CreateTransitGatewayRoute",
"ec2:CreateTransitGatewayRouteTable",
"ec2:CreateTransitGatewayVpcAttachment"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"ec2:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "Ec2ViaCfnOperationsReadOnly",
"Effect": "Allow",
"Action": [
"ec2:DescribeAccountAttributes",
"ec2:DescribeAddresses",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeCustomerGateways",
"ec2:DescribeEgressOnlyInternetGateways",
"ec2:DescribeInstances",
"ec2:DescribeInternetGateways",
"ec2:DescribeManagedPrefixLists",
"ec2:DescribeNatGateways",
"ec2:DescribeNetworkInsightsAnalyses",
"ec2:DescribeNetworkInsightsPaths",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribePrefixLists",
"ec2:DescribeRegions",
"ec2:DescribeRouteTables",
"ec2:DescribeSecurityGroupRules",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayConnects",
"ec2:DescribeTransitGatewayPeeringAttachments",
"ec2:DescribeTransitGatewayRouteTables",
"ec2:DescribeTransitGatewayVpcAttachments",
"ec2:DescribeTransitGateways",
"ec2:DescribeVpcEndpointServiceConfigurations",
"ec2:DescribeVpcEndpoints",
"ec2:DescribeVpcPeeringConnections",
"ec2:DescribeVpcs",
"ec2:DescribeVpnConnections",
"ec2:DescribeVpnGateways",
"ec2:GetManagedPrefixListEntries",
"ec2:GetTransitGatewayRouteTableAssociations",
"ec2:GetTransitGatewayRouteTablePropagations"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}"
}
}
},
{
"Sid": "Ec2ViaCfnSecurityGroupCreate",
"Effect": "Allow",
"Action": [
"ec2:CreateSecurityGroup"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}"
}
}
},
{
"Sid": "Ec2ViaCfnSecurityGroupTagCreate",
"Effect": "Allow",
"Action": [
"ec2:CreateTags"
],
"Resource": [
"arn:aws:ec2:*:*:security-group-rule/*",
"arn:aws:ec2:*:*:security-group/*"
],
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "Ec2ViaCfnSecurityGroupsForVpcRead",
"Effect": "Allow",
"Action": [
"ec2:GetSecurityGroupsForVpc"
],
"Resource": "arn:aws:ec2:*:*:vpc/*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "ElbViaCfnListenerCreateOnLoadBalancer",
"Effect": "Allow",
"Action": [
"elasticloadbalancing:CreateListener"
],
"Resource": [
"arn:aws:elasticloadbalancing:*:*:loadbalancer/app/*",
"arn:aws:elasticloadbalancing:*:*:loadbalancer/net/*"
],
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
],
"elasticloadbalancing:ListenerProtocol": [
"HTTP",
"TCP",
"TCP_UDP",
"UDP"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "ElbViaCfnListenerOperationsWrite",
"Effect": "Allow",
"Action": [
"elasticloadbalancing:DeleteListener",
"elasticloadbalancing:ModifyListenerAttributes"
],
"Resource": [
"arn:aws:elasticloadbalancing:*:*:listener/app/*",
"arn:aws:elasticloadbalancing:*:*:listener/net/*"
],
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "ElbViaCfnLoadBalancerAndTargetGroupOperationsWrite",
"Effect": "Allow",
"Action": [
"elasticloadbalancing:DeleteLoadBalancer",
"elasticloadbalancing:DeleteTargetGroup",
"elasticloadbalancing:ModifyLoadBalancerAttributes",
"elasticloadbalancing:ModifyTargetGroupAttributes"
],
"Resource": [
"arn:aws:elasticloadbalancing:*:*:loadbalancer/app/*",
"arn:aws:elasticloadbalancing:*:*:loadbalancer/net/*",
"arn:aws:elasticloadbalancing:*:*:targetgroup/*"
],
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "ElbViaCfnLoadBalancerCreateWithRequestTag",
"Effect": "Allow",
"Action": [
"elasticloadbalancing:CreateLoadBalancer"
],
"Resource": [
"arn:aws:elasticloadbalancing:*:*:loadbalancer/app/*",
"arn:aws:elasticloadbalancing:*:*:loadbalancer/net/*"
],
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"elasticloadbalancing:Scheme": "internal"
}
}
},
{
"Sid": "ElbViaCfnOperationsReadOnly",
"Effect": "Allow",
"Action": [
"elasticloadbalancing:DescribeCapacityReservation",
"elasticloadbalancing:DescribeListenerAttributes",
"elasticloadbalancing:DescribeListeners",
"elasticloadbalancing:DescribeLoadBalancerAttributes",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeTags",
"elasticloadbalancing:DescribeTargetGroupAttributes",
"elasticloadbalancing:DescribeTargetGroups",
"elasticloadbalancing:DescribeTargetHealth"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}"
}
}
},
{
"Sid": "ElbViaCfnTagOnCreate",
"Effect": "Allow",
"Action": [
"elasticloadbalancing:AddTags"
],
"Resource": [
"arn:aws:elasticloadbalancing:*:*:listener/app/*",
"arn:aws:elasticloadbalancing:*:*:listener/net/*",
"arn:aws:elasticloadbalancing:*:*:loadbalancer/app/*",
"arn:aws:elasticloadbalancing:*:*:loadbalancer/net/*",
"arn:aws:elasticloadbalancing:*:*:targetgroup/*"
],
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"elasticloadbalancing:CreateAction": [
"CreateListener",
"CreateLoadBalancer",
"CreateTargetGroup"
]
}
}
},
{
"Sid": "ElbViaCfnTargetGroupCreateWithRequestTag",
"Effect": "Allow",
"Action": [
"elasticloadbalancing:CreateTargetGroup"
],
"Resource": "arn:aws:elasticloadbalancing:*:*:targetgroup/*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "IamElbServiceLinkedRoleCreate",
"Effect": "Allow",
"Action": [
"iam:CreateServiceLinkedRole"
],
"Resource": "arn:aws:iam::*:role/aws-service-role/elasticloadbalancing.amazonaws.com/AWSServiceRoleForElasticLoadBalancing",
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"iam:AWSServiceName": "elasticloadbalancing.amazonaws.com"
}
}
},
{
"Sid": "IamTgwServiceLinkedRoleCreate",
"Effect": "Allow",
"Action": [
"iam:CreateServiceLinkedRole"
],
"Resource": "arn:aws:iam::*:role/aws-service-role/transitgateway.amazonaws.com/AWSServiceRoleForVPCTransitGateway",
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
},
"StringLike": {
"iam:AWSServiceName": "transitgateway.amazonaws.com"
}
}
},
{
"Sid": "IamViaCfnTgwLambdaRoleCleanupOperations",
"Effect": "Allow",
"Action": [
"iam:DeleteRole",
"iam:DeleteRolePolicy",
"iam:DetachRolePolicy",
"iam:GetRolePolicy",
"iam:ListAttachedRolePolicies",
"iam:ListRolePolicies"
],
"Resource": "arn:aws:iam::*:role/Nmd*modifyTransitGateway*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "IamViaCfnTgwLambdaRoleCreate",
"Effect": "Allow",
"Action": [
"iam:CreateRole"
],
"Resource": "arn:aws:iam::*:role/Nmd*modifyTransitGateway*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "IamViaCfnTgwLambdaRoleOperationsReadOnly",
"Effect": "Allow",
"Action": [
"iam:GetRole"
],
"Resource": "arn:aws:iam::*:role/Nmd*modifyTransitGateway*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "IamViaCfnTgwLambdaRolePassRole",
"Effect": "Allow",
"Action": [
"iam:PassRole"
],
"Resource": "arn:aws:iam::*:role/Nmd*modifyTransitGateway*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"iam:PassedToService": "lambda.amazonaws.com"
}
}
},
{
"Sid": "IamViaCfnTgwLambdaRolePolicyAttach",
"Effect": "Allow",
"Action": [
"iam:AttachRolePolicy"
],
"Resource": "arn:aws:iam::*:role/Nmd*modifyTransitGateway*",
"Condition": {
"ArnEquals": {
"iam:PolicyARN": [
"arn:aws:iam::aws:policy/AWSApplicationMigrationNetworkMigrationCustomResource",
"arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
]
},
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "IamViaCfnTgwLambdaRoleTag",
"Effect": "Allow",
"Action": [
"iam:TagRole"
],
"Resource": "arn:aws:iam::*:role/Nmd*modifyTransitGateway*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "KmsS3EncryptionOperationsNetworkMigration",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:DescribeKey",
"kms:GenerateDataKey"
],
"Resource": "arn:aws:kms:*:*:key/${aws:PrincipalTag/EncryptionKeyId}",
"Condition": {
"StringLike": {
"kms:ViaService": "s3.*.amazonaws.com"
}
}
},
{
"Sid": "LambdaViaCfnNetworkMigrationFunctionCreate",
"Effect": "Allow",
"Action": [
"lambda:CreateFunction"
],
"Resource": "arn:aws:lambda:*:*:function:network-migration*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "LambdaViaCfnNetworkMigrationFunctionOperations",
"Effect": "Allow",
"Action": [
"lambda:DeleteFunction",
"lambda:GetFunctionCodeSigningConfig",
"lambda:GetFunctionConfiguration",
"lambda:GetFunctionRecursionConfig",
"lambda:GetRuntimeManagementConfig",
"lambda:InvokeFunction"
],
"Resource": "arn:aws:lambda:*:*:function:network-migration*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "LambdaViaCfnNetworkMigrationFunctionReadOnly",
"Effect": "Allow",
"Action": [
"lambda:GetFunction",
"lambda:ListTags"
],
"Resource": "arn:aws:lambda:*:*:function:network-migration*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "LambdaViaCfnNetworkMigrationFunctionTag",
"Effect": "Allow",
"Action": [
"lambda:TagResource"
],
"Resource": "arn:aws:lambda:*:*:function:network-migration*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "LogsViaCfnNetworkMigrationOperationsWrite",
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:log-group:/aws/lambda/network-migration*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "MgnNetworkMigrationDefinitionCreate",
"Effect": "Allow",
"Action": [
"mgn:CreateNetworkMigrationDefinition"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestTag/ATWorkspace": "${aws:PrincipalTag/WorkspaceId}",
"aws:RequestTag/CreatedBy": "AWSTransform",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}"
}
}
},
{
"Sid": "MgnNetworkMigrationDefinitionDelete",
"Effect": "Allow",
"Action": [
"mgn:DeleteNetworkMigrationDefinition"
],
"Resource": "arn:aws:mgn:*:*:network-migration-definition/*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": [
"AWSTransform",
"QTransform"
]
}
}
},
{
"Sid": "MgnNetworkMigrationDefinitionOperations",
"Effect": "Allow",
"Action": [
"mgn:GetNetworkMigrationDefinition",
"mgn:ListNetworkMigrationInsights",
"mgn:ListNetworkMigrationMappingUpdates",
"mgn:StartNetworkMigrationMappingUpdate",
"mgn:UpdateNetworkMigrationDefinition",
"mgn:UpdateNetworkMigrationMapperSegment",
"mgn:UpdateNetworkMigrationMapperSegmentConstruct"
],
"Resource": "arn:aws:mgn:*:*:network-migration-definition/*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/ATWorkspace": "${aws:PrincipalTag/WorkspaceId}",
"aws:ResourceTag/CreatedBy": "AWSTransform"
}
}
},
{
"Sid": "MgnNetworkMigrationDefinitionTagOperationsWrite",
"Effect": "Allow",
"Action": [
"mgn:TagResource"
],
"Resource": "arn:aws:mgn:*:*:network-migration-definition/*",
"Condition": {
"StringEquals": {
"aws:RequestTag/ATWorkspace": "${aws:PrincipalTag/WorkspaceId}",
"aws:RequestTag/CreatedBy": "AWSTransform",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSTransform",
"mgn:CreateAction": "CreateNetworkMigrationDefinition"
}
}
},
{
"Sid": "NetworkMigrationOperationsReadOnly",
"Effect": "Allow",
"Action": [
"mgn:ListNetworkMigrationAnalyses",
"mgn:ListNetworkMigrationAnalysisResults",
"mgn:ListNetworkMigrationCodeGenerationSegments",
"mgn:ListNetworkMigrationCodeGenerations",
"mgn:ListNetworkMigrationDefinitions",
"mgn:ListNetworkMigrationDeployedStacks",
"mgn:ListNetworkMigrationDeployedStacksDeletions",
"mgn:ListNetworkMigrationDeployments",
"mgn:ListNetworkMigrationExecutions",
"mgn:ListNetworkMigrationMapperSegmentConstructs",
"mgn:ListNetworkMigrationMapperSegments",
"mgn:ListNetworkMigrationExecutionArtifacts",
"mgn:ListNetworkMigrationMappings"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}"
}
}
},
{
"Sid": "NetworkMigrationOperationsWrite",
"Effect": "Allow",
"Action": [
"mgn:StartNetworkMigrationAnalysis",
"mgn:StartNetworkMigrationCodeGeneration",
"mgn:StartNetworkMigrationDeployedStacksDeletion",
"mgn:StartNetworkMigrationDeployment",
"mgn:StartNetworkMigrationMapping"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceTag/ATWorkspace": "${aws:PrincipalTag/WorkspaceId}",
"aws:ResourceTag/CreatedBy": "AWSTransform"
}
}
},
{
"Sid": "OrganizationsOperationsReadOnlyNetworkMigration",
"Effect": "Allow",
"Action": [
"organizations:ListAccounts"
],
"Resource": "*"
},
{
"Sid": "RamShareCrossAccountOperationsReadOnly",
"Effect": "Allow",
"Action": [
"ram:GetResourceShares"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}"
}
}
},
{
"Sid": "RamViaCfnShareAssociateOperationsWrite",
"Effect": "Allow",
"Action": [
"ram:AssociateResourceShare"
],
"Resource": "arn:aws:ram:*:*:resource-share/*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService",
"ram:RequestedResourceType": [
"ec2:TransitGateway",
"ssm:Parameter"
]
}
}
},
{
"Sid": "RamViaCfnShareCreate",
"Effect": "Allow",
"Action": [
"ram:CreateResourceShare"
],
"Resource": "arn:aws:ram:*:*:resource-share/*",
"Condition": {
"Bool": {
"ram:RequestedAllowsExternalPrincipals": "false"
},
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "RamViaCfnShareOperations",
"Effect": "Allow",
"Action": [
"ram:DeleteResourceShare",
"ram:DisassociateResourceShare",
"ram:UpdateResourceShare"
],
"Resource": "arn:aws:ram:*:*:resource-share/*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "RamViaCfnShareTagOperationsWrite",
"Effect": "Allow",
"Action": [
"ram:TagResource"
],
"Resource": "arn:aws:ram:*:*:resource-share/*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "ReachabilityAnalyzerAnalysisStart",
"Effect": "Allow",
"Action": [
"ec2:CreateTags",
"ec2:StartNetworkInsightsAnalysis"
],
"Resource": "arn:aws:ec2:*:*:network-insights-analysis/*",
"Condition": {
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "ReachabilityAnalyzerCleanupOperationsWrite",
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:DeleteNetworkInsightsAnalysis",
"ec2:DeleteNetworkInsightsPath",
"ec2:DeleteNetworkInterface",
"ec2:DeleteSecurityGroup"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "ReachabilityAnalyzerCreateWithRequestTag",
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInsightsPath",
"ec2:CreateNetworkInterface"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}"
}
}
},
{
"Sid": "ReachabilityAnalyzerCreateWithResourceTag",
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInsightsPath",
"ec2:CreateNetworkInterface",
"ec2:CreateSecurityGroup",
"ec2:StartNetworkInsightsAnalysis"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "ReachabilityAnalyzerCrossOrgPathCreate",
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInsightsPath"
],
"Resource": "arn:aws:ec2:*:*:network-interface/*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceOrgID": "${aws:PrincipalOrgID}"
}
}
},
{
"Sid": "ReachabilityAnalyzerOperationsReadOnly",
"Effect": "Allow",
"Action": [
"directconnect:DescribeConnections",
"directconnect:DescribeDirectConnectGatewayAssociations",
"directconnect:DescribeDirectConnectGatewayAttachments",
"directconnect:DescribeDirectConnectGateways",
"directconnect:DescribeVirtualGateways",
"directconnect:DescribeVirtualInterfaces",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeCustomerGateways",
"ec2:DescribeInstances",
"ec2:DescribeInternetGateways",
"ec2:DescribeManagedPrefixLists",
"ec2:DescribeNatGateways",
"ec2:DescribeNetworkAcls",
"ec2:DescribeNetworkInsightsAnalyses",
"ec2:DescribeNetworkInsightsPaths",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribePrefixLists",
"ec2:DescribeRegions",
"ec2:DescribeRouteTables",
"ec2:DescribeSecurityGroupRules",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeTransitGatewayAttachments",
"ec2:DescribeTransitGatewayConnects",
"ec2:DescribeTransitGatewayPeeringAttachments",
"ec2:DescribeTransitGatewayRouteTables",
"ec2:DescribeTransitGatewayVpcAttachments",
"ec2:DescribeTransitGateways",
"ec2:DescribeVpcEndpointServiceConfigurations",
"ec2:DescribeVpcEndpoints",
"ec2:DescribeVpcPeeringConnections",
"ec2:DescribeVpcs",
"ec2:DescribeVpnConnections",
"ec2:DescribeVpnGateways",
"ec2:GetManagedPrefixListEntries",
"ec2:GetTransitGatewayRouteTablePropagations",
"ec2:SearchTransitGatewayRoutes",
"elasticloadbalancing:DescribeListeners",
"elasticloadbalancing:DescribeLoadBalancerAttributes",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeRules",
"elasticloadbalancing:DescribeTags",
"elasticloadbalancing:DescribeTargetGroupAttributes",
"elasticloadbalancing:DescribeTargetGroups",
"elasticloadbalancing:DescribeTargetHealth",
"globalaccelerator:ListAccelerators",
"globalaccelerator:ListCustomRoutingAccelerators",
"globalaccelerator:ListCustomRoutingEndpointGroups",
"globalaccelerator:ListCustomRoutingListeners",
"globalaccelerator:ListCustomRoutingPortMappings",
"globalaccelerator:ListEndpointGroups",
"globalaccelerator:ListListeners",
"network-firewall:DescribeFirewall",
"network-firewall:DescribeFirewallPolicy",
"network-firewall:DescribeResourcePolicy",
"network-firewall:DescribeRuleGroup",
"network-firewall:ListFirewallPolicies",
"network-firewall:ListFirewalls",
"network-firewall:ListRuleGroups",
"tiros:CreateQuery",
"tiros:ExtendQuery",
"tiros:GetQueryAnswer",
"tiros:GetQueryExplanation",
"tiros:GetQueryExtensionAccounts"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}"
}
}
},
{
"Sid": "ReachabilityAnalyzerProbeCreateOnSecurityGroup",
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface"
],
"Resource": "arn:aws:ec2:*:*:security-group/*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "ReachabilityAnalyzerSecurityGroupCreateOnVpc",
"Effect": "Allow",
"Action": [
"ec2:CreateSecurityGroup"
],
"Resource": "arn:aws:ec2:*:*:vpc/*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "ReachabilityAnalyzerSecurityGroupCreateWithRequestTag",
"Effect": "Allow",
"Action": [
"ec2:CreateSecurityGroup"
],
"Resource": [
"arn:aws:ec2:*:*:security-group-rule/*",
"arn:aws:ec2:*:*:security-group/*"
],
"Condition": {
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "S3TargetBucketOperationsNetworkMigration",
"Effect": "Allow",
"Action": [
"s3:CreateBucket",
"s3:GetBucketLocation",
"s3:GetBucketPublicAccessBlock",
"s3:GetBucketTagging",
"s3:ListBucket",
"s3:PutBucketTagging",
"s3:PutEncryptionConfiguration"
],
"Resource": "arn:aws:s3:::transform-vmware-target-*",
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "S3TargetObjectOperationsNetworkMigration",
"Effect": "Allow",
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:GetObject",
"s3:GetObjectAttributes",
"s3:GetObjectVersion",
"s3:ListBucketMultipartUploads",
"s3:ListMultipartUploadParts",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::transform-vmware-target-*/*",
"Condition": {
"StringEquals": {
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "SsmParametersViaCfnOperationsReadOnly",
"Effect": "Allow",
"Action": [
"ssm:GetParameters"
],
"Resource": "arn:aws:ssm:*:*:parameter/network-migration/*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}"
}
}
},
{
"Sid": "SsmParametersViaCfnOperationsWriteWithRequestTag",
"Effect": "Allow",
"Action": [
"ssm:AddTagsToResource",
"ssm:PutParameter"
],
"Resource": "arn:aws:ssm:*:*:parameter/network-migration/*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestTag/CreatedBy": "AWSApplicationMigrationService",
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "SsmParametersViaCfnOperationsWriteWithResourceTag",
"Effect": "Allow",
"Action": [
"ssm:DeleteParameter",
"ssm:DeleteResourcePolicy",
"ssm:ListTagsForResource"
],
"Resource": "arn:aws:ssm:*:*:parameter/network-migration/*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/CreatedBy": "AWSApplicationMigrationService"
}
}
},
{
"Sid": "SsmParametersViaCfnRamSharingOperations",
"Effect": "Allow",
"Action": [
"ssm:GetResourcePolicies",
"ssm:PutResourcePolicy"
],
"Resource": "arn:aws:ssm:*:*:parameter/network-migration/*",
"Condition": {
"ForAnyValue:StringEquals": {
"aws:CalledVia": [
"cloudformation.amazonaws.com"
]
},
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
},
{
"Sid": "StsCrossAccountAssumeRoleNetworkMigration",
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Resource": "arn:aws:iam::*:role/AWSTransformNetworkMigrationAgentSharingRole_${aws:PrincipalAccount}",
"Condition": {
"StringEquals": {
"aws:ResourceOrgID": "${aws:PrincipalOrgID}",
"sts:ExternalId": "${aws:PrincipalAccount}:workspace/${aws:PrincipalTag/WorkspaceId}"
}
}
},
{
"Sid": "WellArchitectedAgentProfileListReadOnly",
"Effect": "Allow",
"Action": [
"wellarchitected:ListAgentProfiles"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}"
}
}
},
{
"Sid": "WellArchitectedAgentProfileOperationsWithResourceTag",
"Effect": "Allow",
"Action": [
"wellarchitected:CreateAgentContext",
"wellarchitected:CreateAgentGoal",
"wellarchitected:GetAgentProfile",
"wellarchitected:GetAgentRecommendationGeneration",
"wellarchitected:ListAgentContexts",
"wellarchitected:ListAgentGoals",
"wellarchitected:ListAgentRecommendations",
"wellarchitected:StartAgentRecommendationGeneration",
"wellarchitected:UpdateAgentContext",
"wellarchitected:UpdateAgentGoal",
"wellarchitected:UpdateAgentProfile"
],
"Resource": "arn:aws:wellarchitected:*:*:agent-profile/*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}",
"aws:ResourceTag/AWSTransformNetworkMigration": "enabled"
}
}
},
{
"Sid": "WellArchitectedAgentRecommendationReadOnly",
"Effect": "Allow",
"Action": [
"wellarchitected:GetAgentRecommendation"
],
"Resource": "arn:aws:wellarchitected:*:*:agent-recommendation/*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "${aws:PrincipalTag/TargetRegion}",
"aws:ResourceAccount": "${aws:PrincipalAccount}"
}
}
}
]
}
Version history
Current version v4, edited by AWS on 2026-11-10. 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/AWSTransformNetworkMigrationAgentPolicy
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AWSTransformNetworkMigrationAgentPolicy
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AWSTransformNetworkMigrationAgentPolicyCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AWSTransformNetworkMigrationAgentPolicyTerraform
resource "aws_iam_role_policy_attachment" "awstransformnetworkmigrationagentpolicy" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/AWSTransformNetworkMigrationAgentPolicy"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("AWSTransformNetworkMigrationAgentPolicy"),
);Sources
Pending editorial review. No editorial sources are listed yet.