AmazonElasticMapReduceFullAccess

Last Modified

Sep 11, 2026

September 11, 2026 at 06:04 PM UTC

Version

v8

Total Versions

8

Created

Sep 11, 2026

Actions

43

Risk

High

An unrestricted escalation path, identity administration, secret reads or the power to switch off security monitoring. Read from this policy document alone: trust policies, boundaries and SCPs in your account still decide what actually succeeds. How this is assessed

  • High

    Can change identities and their permissions

    Grants 1 permissions management action on IAM, IAM Identity Center or Organizations, on any resource with no condition.

    iam:passrole

    Use with caution: Grant it only to identity administrators, and protect your admin roles and SCPs with a permissions boundary or an SCP of their own.

  • High

    Can launch resources that run as a more privileged role

    Grants every action of 4 documented escalation paths on any resource with no condition.

    • cloudformation-001iam:PassRole + cloudformation:CreateStackunrestricted
    • ec2-001iam:PassRole + ec2:RunInstancesunrestricted
    • ec2-003iam:PassRole + ec2:RequestSpotInstancesunrestricted
    • emr-001iam:PassRole + elasticmapreduce:RunJobFlowunrestricted

    Use with caution: Make sure no highly privileged role trusts the service involved, and restrict iam:PassRole in your own policies or boundary to named roles with iam:PassedToService.

  • Medium

    Can rewrite resource policies and sharing

    Grants 34 permissions management actions across 3 services (cloudwatch, elasticmapreduce, s3) on any resource, enough to share resources outside the account.

    cloudwatch:assumeaccessprofilecloudwatch:createaccessgrantcloudwatch:createaccessprofilecloudwatch:createdomainaccessgrantfororganizationcloudwatch:deleteaccessgrantcloudwatch:deleteaccessprofilecloudwatch:deletedomainaccessgrantfororganizationcloudwatch:updateaccessprofileelasticmapreduce:deleteworkspaceaccesselasticmapreduce:putblockpublicaccessconfigurationelasticmapreduce:putworkspaceaccesss3:associateaccessgrantsidentitycenterand 22 more

    Use with caution: Turn on IAM Access Analyzer external access findings, and keep account-level guards like S3 Block Public Access enabled.

  • Medium

    Can read data in every bucket or table

    Reads any object in any S3 bucket. Read-only is not the same as harmless when the data is the asset.

    s3:GetObject (via s3:*)

    Use with caution: Read access to data is still access to data. For people who only need to see configuration, ViewOnlyAccess carries none of these signals.

  • Medium

    Full access to 4 services on every resource

    Uses cloudwatch:*, elasticmapreduce:*, s3:*, sdb:* with Resource "*" and no condition, so every action AWS adds to those services later is granted too.

    cloudwatch:*elasticmapreduce:*s3:*sdb:*

    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.

  • Medium

    Flagged by AWS IAM Access Analyzer

    AWS's own policy validation raises 1 security warning: PASS_ROLE_WITH_STAR_IN_RESOURCE.

    • Using the iam:PassRole action with wildcards (*) in the resource can be overly permissive because it allows iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement.

    Use with caution: Read AWS's finding and the documentation it links to.

IAM Access Analyzer (2)

  • Suggestion / REDUNDANT_ACTION

    The 2 action(s) are redundant because they provide similar permissions. Update the policy to remove the redundant action such as: ec2:DescribeRouteTables. AWS docs

  • Security warning / PASS_ROLE_WITH_STAR_IN_RESOURCE

    Using the iam:PassRole action with wildcards (*) in the resource can be overly permissive because it allows iam:PassRole permissions on multiple resources. We recommend that you specify resource ARNs or add the iam:PassedToService condition key to your statement. AWS docs

Policy Document

View on GitHub
{
  "PolicyVersion": {
    "Document": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Action": [
            "cloudwatch:*",
            "cloudformation:CreateStack",
            "cloudformation:DescribeStackEvents",
            "ec2:AuthorizeSecurityGroupIngress",
            "ec2:AuthorizeSecurityGroupEgress",
            "ec2:CancelSpotInstanceRequests",
            "ec2:CreateRoute",
            "ec2:CreateSecurityGroup",
            "ec2:CreateTags",
            "ec2:DeleteRoute",
            "ec2:DeleteTags",
            "ec2:DeleteSecurityGroup",
            "ec2:DescribeAvailabilityZones",
            "ec2:DescribeAccountAttributes",
            "ec2:DescribeInstances",
            "ec2:DescribeKeyPairs",
            "ec2:DescribeRouteTables",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeSpotInstanceRequests",
            "ec2:DescribeSpotPriceHistory",
            "ec2:DescribeSubnets",
            "ec2:DescribeVpcAttribute",
            "ec2:DescribeVpcs",
            "ec2:DescribeRouteTables",
            "ec2:DescribeNetworkAcls",
            "ec2:CreateVpcEndpoint",
            "ec2:ModifyImageAttribute",
            "ec2:ModifyInstanceAttribute",
            "ec2:RequestSpotInstances",
            "ec2:RevokeSecurityGroupEgress",
            "ec2:RunInstances",
            "ec2:TerminateInstances",
            "elasticmapreduce:*",
            "iam:GetPolicy",
            "iam:GetPolicyVersion",
            "iam:ListRoles",
            "iam:PassRole",
            "kms:List*",
            "s3:*",
            "sdb:*"
          ],
          "Effect": "Allow",
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": "iam:CreateServiceLinkedRole",
          "Resource": "*",
          "Condition": {
            "StringLike": {
              "iam:AWSServiceName": [
                "elasticmapreduce.amazonaws.com",
                "elasticmapreduce.amazonaws.com.cn"
              ]
            }
          }
        },
        {
          "Sid": "CloudFormationTagOnCreate",
          "Effect": "Allow",
          "Action": [
            "cloudformation:TagResource",
            "cloudformation:UntagResource"
          ],
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "cloudformation:CreateAction": [
                "CreateStack"
              ]
            }
          }
        }
      ]
    },
    "VersionId": "v8",
    "IsDefaultVersion": true,
    "CreateDate": "2026-09-11T17:07:08+00:00"
  }
}

Version History (11 recorded)

Raw history
v8updated

2 actions added

072887c

AmazonElasticMapReduceFullAccess - Policy Version v7

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

Mar 12, 2026

763a132

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.

Oct 11, 2019

e278161

Update detected

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

Sep 16, 2019

49aa1d0

Update detected

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

Sep 16, 2019

71619cf

Update detected

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

Sep 16, 2019

8279033

`2019-08-29`

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

Aug 29, 2019

5016d52

I updated my CLI and it looks like it reordered everything and changed the white-space, so everything looks changed, but is not

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

Jul 12, 2019

9d2dff1

First commit

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

Feb 10, 2019

ad4c2e8