AWSElasticDisasterRecoveryServiceRolePolicy
Last Modified
Mar 12, 2026
March 12, 2026 at 09:26 PM UTC
Version
v8
Total Versions
9
Created
Jan 5, 2025
Actions
73
Risk
MediumThe 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.
- iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/service-role/AWSElasticDisasterRecoveryReplicationServerRole, arn:aws:iam::*:role/service-role/AWSElasticDisasterRecoveryConversionServerRole, arn:aws:iam::*:role/service-role/AWSElasticDisasterRecoveryRecoveryInstanceRole
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:ModifyInstanceAttribute: condition aws:ResourceTag/AWSElasticDisasterRecoveryManaged, on arn:aws:ec2:*:*:instance/*
- ec2:StopInstances: condition aws:ResourceTag/AWSElasticDisasterRecoveryManaged, on arn:aws:ec2:*:*:instance/*
- ec2:StartInstances: condition aws:ResourceTag/AWSElasticDisasterRecoveryManaged, on arn:aws:ec2:*:*:instance/*
- ec2:CreateLaunchTemplateVersion: condition aws:ResourceTag/AWSElasticDisasterRecoveryManaged, on arn:aws:ec2:*:*:launch-template/*
- ec2:ModifyLaunchTemplate: condition aws:ResourceTag/AWSElasticDisasterRecoveryManaged, on arn:aws:ec2:*:*:launch-template/*
- ec2:CreateLaunchTemplateVersion: condition aws:ResourceTag/AWSElasticDisasterRecoveryManaged, on arn:aws:ec2:*:*:launch-template/*
- ec2:ModifyLaunchTemplate: condition aws:ResourceTag/AWSElasticDisasterRecoveryManaged, 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": [
{
"Sid": "DRSServiceRolePolicy1",
"Effect": "Allow",
"Action": [
"drs:ListTagsForResource"
],
"Resource": "*"
},
{
"Sid": "DRSServiceRolePolicy2",
"Effect": "Allow",
"Action": [
"drs:TagResource"
],
"Resource": "arn:aws:drs:*:*:recovery-instance/*"
},
{
"Sid": "DRSServiceRolePolicy3",
"Effect": "Allow",
"Action": [
"drs:CreateRecoveryInstanceForDrs",
"drs:TagResource"
],
"Resource": "arn:aws:drs:*:*:source-server/*"
},
{
"Sid": "DRSServiceRolePolicy4",
"Effect": "Allow",
"Action": "iam:GetInstanceProfile",
"Resource": "*"
},
{
"Sid": "DRSServiceRolePolicy5",
"Effect": "Allow",
"Action": "kms:ListRetirableGrants",
"Resource": "*"
},
{
"Sid": "DRSServiceRolePolicy6",
"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:DescribeVolumeAttribute",
"ec2:GetEbsDefaultKmsKeyId",
"ec2:GetEbsEncryptionByDefault",
"ec2:DescribeVpcAttribute",
"ec2:DescribeInternetGateways",
"ec2:DescribeVpcs",
"ec2:DescribeNetworkAcls",
"ec2:DescribeRouteTables",
"ec2:DescribeDhcpOptions",
"ec2:DescribeManagedPrefixLists",
"ec2:GetManagedPrefixListEntries",
"ec2:GetManagedPrefixListAssociations",
"ec2:DescribeNetworkInterfaces"
],
"Resource": "*"
},
{
"Sid": "DRSServiceRolePolicy7",
"Effect": "Allow",
"Action": [
"ec2:RegisterImage"
],
"Resource": "*"
},
{
"Sid": "DRSServiceRolePolicy8",
"Effect": "Allow",
"Action": [
"ec2:DeregisterImage"
],
"Resource": "*",
"Condition": {
"Null": {
"aws:ResourceTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy9",
"Effect": "Allow",
"Action": [
"ec2:DeleteSnapshot"
],
"Resource": "arn:aws:ec2:*:*:snapshot/*",
"Condition": {
"Null": {
"aws:ResourceTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy10",
"Effect": "Allow",
"Action": [
"ec2:CreateLaunchTemplateVersion",
"ec2:ModifyLaunchTemplate",
"ec2:DeleteLaunchTemplate",
"ec2:DeleteLaunchTemplateVersions"
],
"Resource": "arn:aws:ec2:*:*:launch-template/*",
"Condition": {
"Null": {
"aws:ResourceTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy11",
"Effect": "Allow",
"Action": [
"ec2:DeleteVolume",
"ec2:ModifyVolume"
],
"Resource": "arn:aws:ec2:*:*:volume/*",
"Condition": {
"Null": {
"aws:ResourceTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy12",
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:TerminateInstances",
"ec2:ModifyInstanceAttribute",
"ec2:GetConsoleOutput",
"ec2:GetConsoleScreenshot"
],
"Resource": "arn:aws:ec2:*:*:instance/*",
"Condition": {
"Null": {
"aws:ResourceTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy13",
"Effect": "Allow",
"Action": [
"ec2:RevokeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:AuthorizeSecurityGroupEgress"
],
"Resource": "arn:aws:ec2:*:*:security-group/*",
"Condition": {
"Null": {
"aws:ResourceTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy14",
"Effect": "Allow",
"Action": [
"ec2:CreateVolume"
],
"Resource": "arn:aws:ec2:*:*:volume/*",
"Condition": {
"Null": {
"aws:RequestTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy15",
"Effect": "Allow",
"Action": [
"ec2:CreateSecurityGroup"
],
"Resource": "arn:aws:ec2:*:*:security-group/*",
"Condition": {
"Null": {
"aws:RequestTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy16",
"Effect": "Allow",
"Action": [
"ec2:CreateSecurityGroup"
],
"Resource": "arn:aws:ec2:*:*:vpc/*"
},
{
"Sid": "DRSServiceRolePolicy17",
"Effect": "Allow",
"Action": [
"ec2:CreateLaunchTemplate"
],
"Resource": "arn:aws:ec2:*:*:launch-template/*",
"Condition": {
"Null": {
"aws:RequestTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy18",
"Effect": "Allow",
"Action": [
"ec2:CreateSnapshot"
],
"Resource": "arn:aws:ec2:*:*:volume/*",
"Condition": {
"Null": {
"aws:ResourceTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy19",
"Effect": "Allow",
"Action": [
"ec2:CreateSnapshot"
],
"Resource": "arn:aws:ec2:*:*:snapshot/*",
"Condition": {
"Null": {
"aws:RequestTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy20",
"Effect": "Allow",
"Action": [
"ec2:DetachVolume",
"ec2:AttachVolume"
],
"Resource": "arn:aws:ec2:*:*:instance/*",
"Condition": {
"Null": {
"aws:ResourceTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy21",
"Effect": "Allow",
"Action": [
"ec2:AttachVolume"
],
"Resource": "arn:aws:ec2:*:*:volume/*",
"Condition": {
"Null": {
"aws:ResourceTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy22",
"Effect": "Allow",
"Action": [
"ec2:DetachVolume"
],
"Resource": "arn:aws:ec2:*:*:volume/*"
},
{
"Sid": "DRSServiceRolePolicy23",
"Effect": "Allow",
"Action": [
"ec2:RunInstances"
],
"Resource": "arn:aws:ec2:*:*:instance/*",
"Condition": {
"Null": {
"aws:RequestTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy24",
"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/*"
]
},
{
"Sid": "DRSServiceRolePolicy25",
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": [
"arn:aws:iam::*:role/service-role/AWSElasticDisasterRecoveryReplicationServerRole",
"arn:aws:iam::*:role/service-role/AWSElasticDisasterRecoveryConversionServerRole",
"arn:aws:iam::*:role/service-role/AWSElasticDisasterRecoveryRecoveryInstanceRole"
],
"Condition": {
"StringEquals": {
"iam:PassedToService": "ec2.amazonaws.com"
}
}
},
{
"Sid": "DRSServiceRolePolicy26",
"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:*:*:instance/*",
"arn:aws:ec2:*:*:network-interface/*"
],
"Condition": {
"StringEquals": {
"ec2:CreateAction": [
"CreateLaunchTemplate",
"CreateSecurityGroup",
"CreateVolume",
"CreateSnapshot",
"RunInstances",
"CreateNetworkInterface"
]
}
}
},
{
"Sid": "DRSServiceRolePolicy27",
"Effect": "Allow",
"Action": "ec2:CreateTags",
"Resource": [
"arn:aws:ec2:*:*:image/*"
],
"Condition": {
"Null": {
"aws:RequestTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy28",
"Effect": "Allow",
"Action": "cloudwatch:GetMetricData",
"Resource": "*"
},
{
"Sid": "DRSServiceRolePolicy29",
"Effect": "Allow",
"Action": [
"ec2:CreateVolume"
],
"Resource": "arn:aws:ec2:*:*:snapshot/*",
"Condition": {
"Null": {
"aws:ResourceTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy30",
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface"
],
"Resource": "arn:aws:ec2:*:*:network-interface/*",
"Condition": {
"Null": {
"aws:RequestTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy31",
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface"
],
"Resource": [
"arn:aws:ec2:*:*:subnet/*",
"arn:aws:ec2:*:*:security-group/*"
]
},
{
"Sid": "DRSServiceRolePolicy32",
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterfacePermission",
"ec2:DeleteNetworkInterface",
"ec2:ModifyNetworkInterfaceAttribute"
],
"Resource": "arn:aws:ec2:*:*:network-interface/*",
"Condition": {
"Null": {
"aws:ResourceTag/AWSElasticDisasterRecoveryManaged": "false"
}
}
},
{
"Sid": "DRSServiceRolePolicy33",
"Effect": "Allow",
"Action": [
"ec2:ModifyNetworkInterfaceAttribute"
],
"Resource": [
"arn:aws:ec2:*:*:instance/*"
]
}
]
},
"VersionId": "v8",
"IsDefaultVersion": true,
"CreateDate": "2025-01-05T14:07:06+00:00"
}
}Version History (12 recorded)
Raw historyAWSElasticDisasterRecoveryServiceRolePolicy - Policy Version v8
No recorded action delta - this version predates the change index. View the raw diff.
Mar 12, 2026
f81189bUpdate detected
No recorded action delta - this version predates the change index. View the raw diff.
Jan 5, 2025
95edc56Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Sep 18, 2024
aafbae9Update detected
No recorded action delta - this version predates the change index. View the raw diff.
May 13, 2024
1b36617Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Jan 17, 2024
d06bd73Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Jan 2, 2024
757f2f2Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Dec 17, 2023
61d8fbdUpdate detected
No recorded action delta - this version predates the change index. View the raw diff.
Nov 27, 2023
dd0483bUpdate detected
No recorded action delta - this version predates the change index. View the raw diff.
Nov 27, 2023
6315135Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Jun 11, 2023
741b797Update detected
No recorded action delta - this version predates the change index. View the raw diff.
Jul 10, 2022
8969afcUpdate detected
No recorded action delta - this version predates the change index. View the raw diff.
Nov 17, 2021
e790ad5