Service role for automatic scaling in Amazon EMR (Auto Scaling role)
The Auto Scaling role for Amazon EMR performs a similar function as the service role, but allows additional actions for dynamically scaling environments.
-
The default role name is
EMR_AutoScaling_DefaultRole
. -
The default managed policy attached to
EMR_AutoScaling_DefaultRole
isAmazonElasticMapReduceforAutoScalingRole
.
The contents of version 1 of AmazonElasticMapReduceforAutoScalingRole
are shown below.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:DescribeAlarms", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:ModifyInstanceGroups" ], "Effect": "Allow", "Resource": "*" } ] }
Your service role should use the following trust policy.
Important
The following trust policy includes the aws:SourceArn
and aws:SourceAccount
global condition keys, which
limit the permissions that you give Amazon EMR to particular resources in your
account. Using them can protect you against the confused deputy
problem.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "application-autoscaling.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
<account-id>
" }, "ArnLike": { "aws:SourceArn": "arn:aws:application-autoscaling:<region>
:<account-id>
:scalable-target/*" } } } ] }