AWSMigrationHubRefactorSpacesFullAccess

Last Modified

Mar 12, 2026

March 12, 2026 at 09:26 PM UTC

Version

v6

Total Versions

8

Created

Apr 11, 2024

Actions

60

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

    Full refactor-spaces access on every resource

    Uses refactor-spaces:* with Resource "*" and no condition, so every action AWS adds to that service later is granted too.

    refactor-spaces:*

    Use with caution: The grant grows every time the service does. For long-lived access, prefer a policy that lists the actions you actually need.

IAM Access Analyzer (1)

  • Suggestion / EQUIVALENT_TO_NULL_FALSE

    We recommend replacing the key aws:ResourceTag/refactor-spaces:route-id in the condition block of StringLike with {aws:ResourceTag/refactor-spaces:route-id: false} to ensure better enforcement of the condition. AWS docs

Policy Document

View on GitHub
{
  "PolicyVersion": {
    "Document": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "RefactorSpaces",
          "Effect": "Allow",
          "Action": [
            "refactor-spaces:*"
          ],
          "Resource": "*"
        },
        {
          "Sid": "EC2Describe",
          "Effect": "Allow",
          "Action": [
            "ec2:DescribeNetworkInterfaces",
            "ec2:DescribeRouteTables",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeSubnets",
            "ec2:DescribeVpcEndpointServiceConfigurations",
            "ec2:DescribeVpcs",
            "ec2:DescribeTransitGatewayVpcAttachments",
            "ec2:DescribeTransitGateways",
            "ec2:DescribeTags",
            "ec2:DescribeAccountAttributes",
            "ec2:DescribeInternetGateways"
          ],
          "Resource": "*"
        },
        {
          "Sid": "RequestTagTransitGatewayCreate",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateTransitGateway",
            "ec2:CreateSecurityGroup",
            "ec2:CreateTransitGatewayVpcAttachment"
          ],
          "Resource": "*",
          "Condition": {
            "Null": {
              "aws:RequestTag/refactor-spaces:environment-id": "false"
            }
          }
        },
        {
          "Sid": "ResourceTagTransitGatewayCreate",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateTransitGateway",
            "ec2:CreateSecurityGroup",
            "ec2:CreateTransitGatewayVpcAttachment"
          ],
          "Resource": "*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/refactor-spaces:environment-id": "false"
            }
          }
        },
        {
          "Sid": "VpcEndpointServiceConfigurationCreate",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateVpcEndpointServiceConfiguration"
          ],
          "Resource": "*"
        },
        {
          "Sid": "EC2NetworkingModify",
          "Effect": "Allow",
          "Action": [
            "ec2:DeleteTransitGateway",
            "ec2:AuthorizeSecurityGroupIngress",
            "ec2:RevokeSecurityGroupIngress",
            "ec2:DeleteSecurityGroup",
            "ec2:DeleteTransitGatewayVpcAttachment",
            "ec2:CreateRoute",
            "ec2:DeleteRoute",
            "ec2:DeleteTags"
          ],
          "Resource": "*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/refactor-spaces:environment-id": "false"
            }
          }
        },
        {
          "Sid": "VpcEndpointServiceConfigurationDelete",
          "Effect": "Allow",
          "Action": "ec2:DeleteVpcEndpointServiceConfigurations",
          "Resource": "*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/refactor-spaces:application-id": "false"
            }
          }
        },
        {
          "Sid": "ELBLoadBalancerCreate",
          "Effect": "Allow",
          "Action": [
            "elasticloadbalancing:AddTags",
            "elasticloadbalancing:CreateLoadBalancer"
          ],
          "Resource": "arn:*:elasticloadbalancing:*:*:loadbalancer/net/refactor-spaces-nlb-*",
          "Condition": {
            "Null": {
              "aws:RequestTag/refactor-spaces:application-id": "false"
            }
          }
        },
        {
          "Sid": "ELBDescribe",
          "Effect": "Allow",
          "Action": [
            "elasticloadbalancing:DescribeLoadBalancers",
            "elasticloadbalancing:DescribeTags",
            "elasticloadbalancing:DescribeTargetHealth",
            "elasticloadbalancing:DescribeTargetGroups",
            "elasticloadbalancing:DescribeListeners"
          ],
          "Resource": "*"
        },
        {
          "Sid": "ELBModify",
          "Effect": "Allow",
          "Action": [
            "elasticloadbalancing:RegisterTargets",
            "elasticloadbalancing:CreateLoadBalancerListeners",
            "elasticloadbalancing:CreateListener",
            "elasticloadbalancing:DeleteListener",
            "elasticloadbalancing:DeleteTargetGroup"
          ],
          "Resource": "*",
          "Condition": {
            "StringLike": {
              "aws:ResourceTag/refactor-spaces:route-id": [
                "*"
              ]
            }
          }
        },
        {
          "Sid": "ELBLoadBalancerDelete",
          "Effect": "Allow",
          "Action": "elasticloadbalancing:DeleteLoadBalancer",
          "Resource": "arn:*:elasticloadbalancing:*:*:loadbalancer/net/refactor-spaces-nlb-*"
        },
        {
          "Sid": "ELBListenerCreate",
          "Effect": "Allow",
          "Action": [
            "elasticloadbalancing:AddTags",
            "elasticloadbalancing:CreateListener"
          ],
          "Resource": [
            "arn:*:elasticloadbalancing:*:*:loadbalancer/net/refactor-spaces-nlb-*",
            "arn:*:elasticloadbalancing:*:*:listener/net/refactor-spaces-nlb-*"
          ],
          "Condition": {
            "Null": {
              "aws:RequestTag/refactor-spaces:route-id": "false"
            }
          }
        },
        {
          "Sid": "ELBListenerDelete",
          "Effect": "Allow",
          "Action": "elasticloadbalancing:DeleteListener",
          "Resource": "arn:*:elasticloadbalancing:*:*:listener/net/refactor-spaces-nlb-*"
        },
        {
          "Sid": "ELBTargetGroupModify",
          "Effect": "Allow",
          "Action": [
            "elasticloadbalancing:DeleteTargetGroup",
            "elasticloadbalancing:RegisterTargets"
          ],
          "Resource": "arn:*:elasticloadbalancing:*:*:targetgroup/refactor-spaces-tg-*"
        },
        {
          "Sid": "ELBTargetGroupCreate",
          "Effect": "Allow",
          "Action": [
            "elasticloadbalancing:AddTags",
            "elasticloadbalancing:CreateTargetGroup"
          ],
          "Resource": "arn:*:elasticloadbalancing:*:*:targetgroup/refactor-spaces-tg-*",
          "Condition": {
            "Null": {
              "aws:RequestTag/refactor-spaces:route-id": "false"
            }
          }
        },
        {
          "Sid": "APIGatewayModify",
          "Effect": "Allow",
          "Action": [
            "apigateway:GET",
            "apigateway:DELETE",
            "apigateway:PATCH",
            "apigateway:POST",
            "apigateway:PUT",
            "apigateway:UpdateRestApiPolicy"
          ],
          "Resource": [
            "arn:aws:apigateway:*::/restapis",
            "arn:aws:apigateway:*::/restapis/*",
            "arn:aws:apigateway:*::/vpclinks",
            "arn:aws:apigateway:*::/vpclinks/*",
            "arn:aws:apigateway:*::/tags",
            "arn:aws:apigateway:*::/tags/*"
          ],
          "Condition": {
            "Null": {
              "aws:ResourceTag/refactor-spaces:application-id": "false"
            }
          }
        },
        {
          "Sid": "APIGatewayVpcLinksGet",
          "Effect": "Allow",
          "Action": "apigateway:GET",
          "Resource": [
            "arn:aws:apigateway:*::/vpclinks",
            "arn:aws:apigateway:*::/vpclinks/*"
          ]
        },
        {
          "Sid": "OrganizationDescribe",
          "Effect": "Allow",
          "Action": [
            "organizations:DescribeOrganization"
          ],
          "Resource": "*"
        },
        {
          "Sid": "CloudformationStackCreate",
          "Effect": "Allow",
          "Action": [
            "cloudformation:CreateStack"
          ],
          "Resource": "*"
        },
        {
          "Sid": "CloudformationStackTag",
          "Effect": "Allow",
          "Action": [
            "cloudformation:TagResource"
          ],
          "Resource": "arn:aws:cloudformation:*:*:stack/*"
        },
        {
          "Sid": "CreateRefactorSpacesSLR",
          "Effect": "Allow",
          "Action": "iam:CreateServiceLinkedRole",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "iam:AWSServiceName": "refactor-spaces.amazonaws.com"
            }
          }
        },
        {
          "Sid": "CreateELBSLR",
          "Effect": "Allow",
          "Action": "iam:CreateServiceLinkedRole",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "iam:AWSServiceName": "elasticloadbalancing.amazonaws.com"
            }
          }
        }
      ]
    },
    "VersionId": "v6",
    "IsDefaultVersion": true,
    "CreateDate": "2024-04-11T17:45:46+00:00"
  }
}

Version History (11 recorded)

Raw history

AWSMigrationHubRefactorSpacesFullAccess - Policy Version v6

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

Mar 12, 2026

8131425

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.

Apr 11, 2024

678a3b0

Update detected

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

Jul 19, 2023

1294014

Update detected

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

Jul 19, 2023

12d420f

Update detected

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

Oct 6, 2022

cb3e3cf

Update detected

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

Mar 21, 2022

075d4c3

Update detected

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

Nov 29, 2021

e2e6080

Update detected

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

Nov 29, 2021

f3edf31

Update detected

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

Nov 29, 2021

ea865cc