AWSApplicationMigrationServiceRolePolicy

Last Modified

Jul 20, 2026

July 20, 2026 at 12:03 AM UTC

Version

v9

Total Versions

5

Created

Jul 19, 2026

Actions

61

Risk

Medium

The same capabilities in a scoped form, resource policy writes, reads across all data, or full access to a whole service. Read from this policy document alone: trust policies, boundaries and SCPs in your account still decide what actually succeeds. How this is assessed

  • Medium

    Can launch resources that run as a more privileged role

    Grants the actions of 1 documented escalation path, but only on named resources or under a condition. Review that scope before trusting it.

    • ec2-001iam:PassRole + ec2:RunInstancesscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/service-role/AWSApplicationMigrationReplicationServerRole, arn:aws:iam::*:role/service-role/AWSApplicationMigrationConversionServerRole

    Use with caution: Check which roles, users or policies fall inside the scope shown above. Within it the escalation works as documented, so keep privileged principals out of it.

  • Medium

    Can take over existing resources that run as another role

    Grants the actions of 3 documented escalation paths, but only on named resources or under a condition. Review that scope before trusting it.

    • ec2-002ec2:ModifyInstanceAttribute + ec2:StopInstances + ec2:StartInstancesscoped
      • ec2:ModifyInstanceAttribute: condition aws:ResourceTag/AWSApplicationMigrationServiceManaged, on arn:aws:ec2:*:*:instance/*
      • ec2:StopInstances: condition aws:ResourceTag/AWSApplicationMigrationServiceManaged, on arn:aws:ec2:*:*:instance/*
      • ec2:StartInstances: condition aws:ResourceTag/AWSApplicationMigrationServiceManaged, on arn:aws:ec2:*:*:instance/*
    • ec2-004ec2:CreateLaunchTemplateVersion + ec2:ModifyLaunchTemplatescoped
      • ec2:CreateLaunchTemplateVersion: condition aws:ResourceTag/AWSApplicationMigrationServiceManaged, on arn:aws:ec2:*:*:launch-template/*
      • ec2:ModifyLaunchTemplate: condition aws:ResourceTag/AWSApplicationMigrationServiceManaged, on arn:aws:ec2:*:*:launch-template/*
    • ec2-005ec2:CreateLaunchTemplateVersion + ec2:ModifyLaunchTemplatescoped
      • ec2:CreateLaunchTemplateVersion: condition aws:ResourceTag/AWSApplicationMigrationServiceManaged, on arn:aws:ec2:*:*:launch-template/*
      • ec2:ModifyLaunchTemplate: condition aws:ResourceTag/AWSApplicationMigrationServiceManaged, on arn:aws:ec2:*:*:launch-template/*

    Use with caution: Check which roles, users or policies fall inside the scope shown above. Within it the escalation works as documented, so keep privileged principals out of it.

Policy Document

View on GitHub
{
  "PolicyVersion": {
    "Document": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "mgn:ListTagsForResource",
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": "kms:ListRetirableGrants",
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "mgh:AssociateCreatedArtifact",
            "mgh:CreateProgressUpdateStream",
            "mgh:DisassociateCreatedArtifact",
            "mgh:GetHomeRegion",
            "mgh:ImportMigrationTask",
            "mgh:NotifyMigrationTaskState",
            "mgh:PutResourceAttributes"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:DescribeAccountAttributes",
            "ec2:DescribeAvailabilityZones",
            "ec2:DescribeImages",
            "ec2:DescribeInstances",
            "ec2:DescribeInstanceTypes",
            "ec2:DescribeInstanceAttribute",
            "ec2:DescribeInstanceStatus",
            "ec2:DescribeLaunchTemplateVersions",
            "ec2:DescribeLaunchTemplates",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeSnapshots",
            "ec2:DescribeSubnets",
            "ec2:DescribeVolumes",
            "ec2:GetEbsDefaultKmsKeyId",
            "ec2:GetEbsEncryptionByDefault"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "organizations:DescribeAccount"
          ],
          "Resource": "arn:aws:organizations::*:account/*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "organizations:DescribeOrganization",
            "organizations:ListAWSServiceAccessForOrganization",
            "organizations:ListDelegatedAdministrators",
            "organizations:ListAccounts"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:RegisterImage",
            "ec2:DeregisterImage"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:DeleteSnapshot"
          ],
          "Resource": "arn:aws:ec2:*:*:snapshot/*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/AWSApplicationMigrationServiceManaged": "false"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:CreateLaunchTemplateVersion",
            "ec2:ModifyLaunchTemplate",
            "ec2:DeleteLaunchTemplate",
            "ec2:DeleteLaunchTemplateVersions"
          ],
          "Resource": "arn:aws:ec2:*:*:launch-template/*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/AWSApplicationMigrationServiceManaged": "false"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:DeleteVolume"
          ],
          "Resource": "arn:aws:ec2:*:*:volume/*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/AWSApplicationMigrationServiceManaged": "false"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:StartInstances",
            "ec2:StopInstances",
            "ec2:TerminateInstances",
            "ec2:ModifyInstanceAttribute",
            "ec2:GetConsoleOutput",
            "ec2:GetConsoleScreenshot"
          ],
          "Resource": "arn:aws:ec2:*:*:instance/*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/AWSApplicationMigrationServiceManaged": "false"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:RevokeSecurityGroupEgress",
            "ec2:AuthorizeSecurityGroupIngress",
            "ec2:AuthorizeSecurityGroupEgress"
          ],
          "Resource": "arn:aws:ec2:*:*:security-group/*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/AWSApplicationMigrationServiceManaged": "false"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:CreateVolume"
          ],
          "Resource": "arn:aws:ec2:*:*:volume/*",
          "Condition": {
            "Null": {
              "aws:RequestTag/AWSApplicationMigrationServiceManaged": "false"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:CreateSecurityGroup"
          ],
          "Resource": "arn:aws:ec2:*:*:security-group/*",
          "Condition": {
            "Null": {
              "aws:RequestTag/AWSApplicationMigrationServiceManaged": "false"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:CreateSecurityGroup"
          ],
          "Resource": "arn:aws:ec2:*:*:vpc/*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:CreateLaunchTemplate"
          ],
          "Resource": "arn:aws:ec2:*:*:launch-template/*",
          "Condition": {
            "Null": {
              "aws:RequestTag/AWSApplicationMigrationServiceManaged": "false"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:CreateSnapshot"
          ],
          "Resource": "arn:aws:ec2:*:*:volume/*",
          "Condition": {
            "Null": {
              "ec2:ResourceTag/AWSApplicationMigrationServiceManaged": "false"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:CreateSnapshot"
          ],
          "Resource": "arn:aws:ec2:*:*:snapshot/*",
          "Condition": {
            "Null": {
              "aws:RequestTag/AWSApplicationMigrationServiceManaged": "false"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:DetachVolume",
            "ec2:AttachVolume"
          ],
          "Resource": "arn:aws:ec2:*:*:instance/*",
          "Condition": {
            "Null": {
              "ec2:ResourceTag/AWSApplicationMigrationServiceManaged": "false"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:AttachVolume"
          ],
          "Resource": "arn:aws:ec2:*:*:volume/*",
          "Condition": {
            "Null": {
              "ec2:ResourceTag/AWSApplicationMigrationServiceManaged": "false"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:DetachVolume"
          ],
          "Resource": "arn:aws:ec2:*:*:volume/*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:RunInstances"
          ],
          "Resource": "arn:aws:ec2:*:*:instance/*",
          "Condition": {
            "Null": {
              "aws:RequestTag/AWSApplicationMigrationServiceManaged": "false"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:RunInstances"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:security-group/*",
            "arn:aws:ec2:*:*:volume/*",
            "arn:aws:ec2:*:*:subnet/*",
            "arn:aws:ec2:*:*:image/*",
            "arn:aws:ec2:*:*:network-interface/*",
            "arn:aws:ec2:*:*:launch-template/*"
          ]
        },
        {
          "Effect": "Allow",
          "Action": "iam:PassRole",
          "Resource": [
            "arn:aws:iam::*:role/service-role/AWSApplicationMigrationReplicationServerRole",
            "arn:aws:iam::*:role/service-role/AWSApplicationMigrationConversionServerRole"
          ],
          "Condition": {
            "StringEquals": {
              "iam:PassedToService": "ec2.amazonaws.com"
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": "ec2:CreateTags",
          "Resource": [
            "arn:aws:ec2:*:*:launch-template/*",
            "arn:aws:ec2:*:*:security-group/*",
            "arn:aws:ec2:*:*:volume/*",
            "arn:aws:ec2:*:*:snapshot/*",
            "arn:aws:ec2:*:*:network-interface/*",
            "arn:aws:ec2:*:*:instance/*",
            "arn:aws:ec2:*:*:image/*"
          ],
          "Condition": {
            "StringEquals": {
              "ec2:CreateAction": [
                "CreateLaunchTemplate",
                "CreateSecurityGroup",
                "CreateVolume",
                "CreateSnapshot",
                "RunInstances",
                "RegisterImage"
              ]
            }
          }
        },
        {
          "Effect": "Allow",
          "Action": [
            "ec2:CreateVolume"
          ],
          "Resource": "arn:aws:ec2:*:*:snapshot/*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/AWSApplicationMigrationServiceManaged": "false"
            }
          }
        }
      ]
    },
    "VersionId": "v9",
    "IsDefaultVersion": true,
    "CreateDate": "2026-07-19T15:12:24+00:00"
  }
}

Version History (10 recorded)

Raw history
v9updated

scope changed, no action added or removed

2f6fdd9

AWSApplicationMigrationServiceRolePolicy - Policy Version v8

No recorded action delta - this version predates the change index. View the raw diff.

Mar 12, 2026

a6c266b

AWSApplicationMigrationServiceRolePolicy - Policy Version v8

No recorded action delta - this version predates the change index. View the raw diff.

Feb 12, 2026

b46e269

AWSApplicationMigrationServiceRolePolicy - Policy Version v6

No recorded action delta - this version predates the change index. View the raw diff.

Feb 12, 2026

2efeff0

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Mar 16, 2025

df7a00b

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Jan 8, 2025

c77e912

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Sep 18, 2024

aafbae9

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

May 13, 2024

1b36617

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Jun 20, 2023

bee367a

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Apr 7, 2021

56438e7