AmazonEVSServiceRolePolicy

Last Modified

Mar 31, 2026

March 31, 2026 at 08:44 AM UTC

Version

v10

Total Versions

5

Created

Mar 22, 2026

Actions

24

Risk

no risk signal

Read from this policy document alone: trust policies, boundaries and SCPs in your account still decide what actually succeeds. How this is assessed

IAM Access Analyzer (1)

  • Suggestion / EQUIVALENT_TO_NULL_FALSE

    We recommend replacing the key kms:EncryptionContext:SecretVersionId in the condition block of StringLike with {kms:EncryptionContext:SecretVersionId: false} to ensure better enforcement of the condition. AWS docs

Policy Document

View on GitHub
{
  "PolicyVersion": {
    "Document": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "DescribeNetworkStatement",
          "Effect": "Allow",
          "Action": [
            "ec2:DescribeSubnets",
            "ec2:DescribeVpcs",
            "ec2:DescribeNetworkInterfaces"
          ],
          "Resource": "*"
        },
        {
          "Sid": "CreateEniInSubnetStatement",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateNetworkInterface"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:subnet/*",
            "arn:aws:ec2:*:*:security-group/*"
          ]
        },
        {
          "Sid": "ManageSubnetStatement",
          "Effect": "Allow",
          "Action": [
            "ec2:DeleteSubnet"
          ],
          "Resource": "arn:aws:ec2:*:*:subnet/*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/AmazonEVSManaged": "false"
            }
          }
        },
        {
          "Sid": "CreateEniWithTagStatement",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateNetworkInterface"
          ],
          "Resource": "arn:aws:ec2:*:*:network-interface/*",
          "Condition": {
            "Null": {
              "aws:RequestTag/AmazonEVSManaged": "false"
            }
          }
        },
        {
          "Sid": "TagOnCreateNetworkInterface",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateTags"
          ],
          "Resource": "arn:aws:ec2:*:*:network-interface/*",
          "Condition": {
            "Null": {
              "aws:RequestTag/AmazonEVSManaged": "false"
            },
            "StringEquals": {
              "ec2:CreateAction": [
                "CreateNetworkInterface"
              ]
            }
          }
        },
        {
          "Sid": "ManageEniStatement",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateNetworkInterfacePermission",
            "ec2:DeleteNetworkInterface",
            "ec2:ModifyNetworkInterfaceAttribute",
            "ec2:AssignIpv6Addresses"
          ],
          "Resource": "arn:aws:ec2:*:*:network-interface/*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/AmazonEVSManaged": "false"
            }
          }
        },
        {
          "Sid": "ManageInstanceStatement",
          "Effect": "Allow",
          "Action": [
            "ec2:TerminateInstances",
            "ec2:ModifyInstanceAttribute",
            "ec2:DescribeInstanceAttribute"
          ],
          "Resource": "arn:aws:ec2:*:*:instance/*",
          "Condition": {
            "Null": {
              "aws:ResourceTag/AmazonEVSManaged": "false"
            }
          }
        },
        {
          "Sid": "DescribeInstanceAndVolumeStatement",
          "Effect": "Allow",
          "Action": [
            "ec2:DescribeInstances",
            "ec2:DescribeVolumes"
          ],
          "Resource": "*"
        },
        {
          "Sid": "ManageVolumeStatement",
          "Effect": "Allow",
          "Action": [
            "ec2:DeleteVolume",
            "ec2:DetachVolume"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:volume/*"
          ],
          "Condition": {
            "Null": {
              "aws:ResourceTag/AmazonEVSManaged": "false"
            }
          }
        },
        {
          "Sid": "ManageSecretStatement",
          "Effect": "Allow",
          "Action": [
            "secretsmanager:DeleteSecret"
          ],
          "Resource": [
            "arn:aws:secretsmanager:*:*:secret:*"
          ],
          "Condition": {
            "Null": {
              "aws:ResourceTag/AmazonEVSManaged": "false"
            }
          }
        },
        {
          "Sid": "UpdateSecurityGroupStatement",
          "Effect": "Allow",
          "Action": [
            "ec2:ModifyNetworkInterfaceAttribute"
          ],
          "Resource": "arn:aws:ec2:*:*:security-group/*"
        },
        {
          "Sid": "CloudWatchPutMetricDataStatement",
          "Effect": "Allow",
          "Action": [
            "cloudwatch:PutMetricData"
          ],
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "cloudwatch:namespace": [
                "AWS/Usage",
                "AWS/EVS"
              ]
            }
          }
        },
        {
          "Sid": "AccessSecretStatement",
          "Effect": "Allow",
          "Action": [
            "secretsmanager:GetSecretValue"
          ],
          "Resource": [
            "arn:aws:secretsmanager:*:*:secret:*"
          ],
          "Condition": {
            "Null": {
              "aws:ResourceTag/EvsAccess": "false"
            }
          }
        },
        {
          "Sid": "DecryptSecretWithKmsKeyStatement",
          "Effect": "Allow",
          "Action": [
            "kms:Decrypt"
          ],
          "Resource": "arn:aws:kms:*:*:key/*",
          "Condition": {
            "StringLike": {
              "kms:ViaService": "secretsmanager.*.amazonaws.com",
              "kms:EncryptionContext:SecretARN": "arn:aws:secretsmanager:*:*:secret:*",
              "kms:EncryptionContext:SecretVersionId": "*"
            },
            "StringEquals": {
              "aws:ResourceAccount": "${aws:PrincipalAccount}"
            },
            "Null": {
              "aws:ResourceTag/EvsAccess": "false"
            }
          }
        },
        {
          "Sid": "DescribeKmsKeyStatement",
          "Effect": "Allow",
          "Action": [
            "kms:DescribeKey"
          ],
          "Resource": "arn:aws:kms:*:*:key/*",
          "Condition": {
            "StringLike": {
              "kms:ViaService": "secretsmanager.*.amazonaws.com"
            },
            "StringEquals": {
              "aws:ResourceAccount": "${aws:PrincipalAccount}"
            },
            "Null": {
              "aws:ResourceTag/EvsAccess": "false"
            }
          }
        }
      ]
    },
    "VersionId": "v10",
    "IsDefaultVersion": true,
    "CreateDate": "2026-03-22T18:12:13+00:00"
  }
}

Version History (8 recorded)

Raw history
v10updated

3 actions added

18844b4

AmazonEVSServiceRolePolicy - Policy Version v9

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

Mar 12, 2026

c710168

AmazonEVSServiceRolePolicy - Policy Version v9

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

Feb 12, 2026

e323a6d

AmazonEVSServiceRolePolicy - Policy Version v6

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

Feb 12, 2026

8dfd38c

AmazonEVSServiceRolePolicy - Policy Version v3

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

Aug 14, 2025

b40ebb2

AmazonEVSServiceRolePolicy - Policy Version v2

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

Aug 14, 2025

594abe1

AmazonEVSServiceRolePolicy - Policy Version v2

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

Aug 5, 2025

c9e7c23

Update detected

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

May 17, 2025

88d57ef