Política gerenciada do IAM para acesso total (política gerenciada v2 padrão) do Amazon EMR - Amazon EMR

Política gerenciada do IAM para acesso total (política gerenciada v2 padrão) do Amazon EMR

As políticas gerenciadas padrão do EMR com escopo para v2 concedem privilégios de acesso específicos aos usuários. Eles exigem uma etiqueta de recurso predefinida do Amazon EMR e chaves de condição iam:PassRole para os recursos usados pelo Amazon EMR, como a Subnet e o SecurityGroup que você usa para iniciar o cluster.

Para conceder as ações necessárias para o Amazon EMR, anexe a política gerenciada AmazonEMRFullAccessPolicy_v2. Essa política gerenciada padrão atualizada substitui a política gerenciada AmazonElasticMapReduceFullAccess.

AmazonEMRFullAccessPolicy_v2 depende do acesso de escopo limitado aos recursos que o Amazon EMR provisiona ou usa. Ao usar essa política, é necessário passar a etiqueta de usuário for-use-with-amazon-emr-managed-policies = true ao provisionar o cluster. O Amazon EMR propagará a etiqueta automaticamente. Além disso, talvez seja necessário adicionar manualmente uma etiqueta de usuário a tipos específicos de recursos, como grupos de segurança do EC2 que não foram criados pelo Amazon EMR. Para ter mais informações, consulte Etiquetar recursos para usar políticas gerenciadas.

A política AmazonEMRFullAccessPolicy_v2 protege os recursos fazendo o seguinte:

  • Requer que os recursos sejam marcados com a etiqueta predefinida de políticas gerenciadas do Amazon EMR for-use-with-amazon-emr-managed-policies para criação de clusters e acesso ao Amazon EMR.

  • Restringe a ação iam:PassRole a perfis padrão específicos e acesso iam:PassedToService a serviços específicos.

  • Não permite mais acesso ao Amazon EC2, ao Amazon S3 e a outros serviços por padrão.

Veja a seguir o conteúdo dessa política.

nota

Você também pode usar o link do console AmazonEMRFullAccessPolicy_v2 para visualizar a política.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RunJobFlowExplicitlyWithEMRManagedTag", "Effect": "Allow", "Action": [ "elasticmapreduce:RunJobFlow" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true" } } }, { "Sid": "ElasticMapReduceActions", "Effect": "Allow", "Action": [ "elasticmapreduce:AddInstanceFleet", "elasticmapreduce:AddInstanceGroups", "elasticmapreduce:AddJobFlowSteps", "elasticmapreduce:AddTags", "elasticmapreduce:CancelSteps", "elasticmapreduce:CreateEditor", "elasticmapreduce:CreateSecurityConfiguration", "elasticmapreduce:DeleteEditor", "elasticmapreduce:DeleteSecurityConfiguration", "elasticmapreduce:DescribeCluster", "elasticmapreduce:DescribeEditor", "elasticmapreduce:DescribeJobFlows", "elasticmapreduce:DescribeSecurityConfiguration", "elasticmapreduce:DescribeStep", "elasticmapreduce:DescribeReleaseLabel", "elasticmapreduce:GetBlockPublicAccessConfiguration", "elasticmapreduce:GetManagedScalingPolicy", "elasticmapreduce:GetAutoTerminationPolicy", "elasticmapreduce:ListBootstrapActions", "elasticmapreduce:ListClusters", "elasticmapreduce:ListEditors", "elasticmapreduce:ListInstanceFleets", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:ListInstances", "elasticmapreduce:ListSecurityConfigurations", "elasticmapreduce:ListSteps", "elasticmapreduce:ListSupportedInstanceTypes", "elasticmapreduce:ModifyCluster", "elasticmapreduce:ModifyInstanceFleet", "elasticmapreduce:ModifyInstanceGroups", "elasticmapreduce:OpenEditorInConsole", "elasticmapreduce:PutAutoScalingPolicy", "elasticmapreduce:PutBlockPublicAccessConfiguration", "elasticmapreduce:PutManagedScalingPolicy", "elasticmapreduce:RemoveAutoScalingPolicy", "elasticmapreduce:RemoveManagedScalingPolicy", "elasticmapreduce:RemoveTags", "elasticmapreduce:SetTerminationProtection", "elasticmapreduce:StartEditor", "elasticmapreduce:StopEditor", "elasticmapreduce:TerminateJobFlows", "elasticmapreduce:ViewEventsFromAllClustersInConsole" ], "Resource": "*" }, { "Sid": "ViewMetricsInEMRConsole", "Effect": "Allow", "Action": [ "cloudwatch:GetMetricStatistics" ], "Resource": "*" }, { "Sid": "PassRoleForElasticMapReduce", "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::*:role/EMR_DefaultRole", "arn:aws:iam::*:role/EMR_DefaultRole_V2" ], "Condition": { "StringLike": { "iam:PassedToService": "elasticmapreduce.amazonaws.com*" } } }, { "Sid": "PassRoleForEC2", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/EMR_EC2_DefaultRole", "Condition": { "StringLike": { "iam:PassedToService": "ec2.amazonaws.com*" } } }, { "Sid": "PassRoleForAutoScaling", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/EMR_AutoScaling_DefaultRole", "Condition": { "StringLike": { "iam:PassedToService": "application-autoscaling.amazonaws.com*" } } }, { "Sid": "ElasticMapReduceServiceLinkedRole", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/elasticmapreduce.amazonaws.com*/AWSServiceRoleForEMRCleanup*", "Condition": { "StringEquals": { "iam:AWSServiceName": [ "elasticmapreduce.amazonaws.com", "elasticmapreduce.amazonaws.com.rproxy.goskope.com.cn" ] } } }, { "Sid": "ConsoleUIActions", "Effect": "Allow", "Action": [ "ec2:DescribeAccountAttributes", "ec2:DescribeAvailabilityZones", "ec2:DescribeImages", "ec2:DescribeKeyPairs", "ec2:DescribeNatGateways", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeVpcEndpoints", "s3:ListAllMyBuckets", "iam:ListRoles" ], "Resource": "*" } ] }