【问题标题】:Roles / Permissions to create EMR Cluster using aws cli使用 aws cli 创建 EMR 集群的角色/权限
【发布时间】:2016-01-28 18:04:40
【问题描述】:

我正在尝试使用 aws emr 命令创建集群。最初我没有管理员角色来做大部分事情。

aws emr create-cluster --release-label emr-4.2.0  --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m3.xlarge InstanceGroupType=CORE,InstanceCount=2,InstanceType=m3.xlarge --service-role MY_ROLE--ec2-attributes KeyName=MY_KEY_PAIR,SubnetId=subnet-xxxxxxxx,InstanceProfile=MY_ROLE

我正在尝试在 EC2 实例上运行此命令。我立即收到一条显示集群 ID 的成功消息。但是,机器以无效角色错误消息终止。

如果我尝试在 AWS 控制台中查看集群状态,则会看到很多权限错误消息。

角色/策略是否需要一组权限来确保创建集群时不会出现任何错误?

我无法使用 --use-default-role,因为我没有创建角色的权限。

【问题讨论】:

    标签: amazon-web-services apache-spark emr aws-cli


    【解决方案1】:

    我可以给你EMR_DefaultRole,我用它来创建 emr:

    {
        "Version": "2012-10-17",
        "Statement": [{
            "Effect": "Allow",
            "Resource": "*",
            "Action": [
                "ec2:AuthorizeSecurityGroupEgress",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CancelSpotInstanceRequests",
                "ec2:CreateNetworkInterface",
                "ec2:CreateSecurityGroup",
                "ec2:CreateTags",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteSecurityGroup",
                "ec2:DeleteTags",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeAccountAttributes",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeInstanceStatus",
                "ec2:DescribeInstances",
                "ec2:DescribeKeyPairs",
                "ec2:DescribeNetworkAcls",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribePrefixLists",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSpotInstanceRequests",
                "ec2:DescribeSpotPriceHistory",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcAttribute",
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeVpcEndpointServices",
                "ec2:DescribeVpcs",
                "ec2:DetachNetworkInterface",
                "ec2:ModifyImageAttribute",
                "ec2:ModifyInstanceAttribute",
                "ec2:RequestSpotInstances",
                "ec2:RevokeSecurityGroupEgress",
                "ec2:RunInstances",
                "ec2:TerminateInstances",
                "iam:GetRole",
                "iam:GetRolePolicy",
                "iam:ListInstanceProfiles",
                "iam:ListRolePolicies",
                "iam:PassRole",
                "s3:CreateBucket",
                "s3:Get*",
                "s3:List*",
                "sdb:BatchPutAttributes",
                "sdb:Select",
                "sqs:CreateQueue",
                "sqs:Delete*",
                "sqs:GetQueue*",
                "sqs:PurgeQueue",
                "sqs:ReceiveMessage"
            ]
        }]
    }
    

    还有,EC2 默认配置文件角色EMR_EC2_DefaultRole

    {
        "Version": "2012-10-17",
        "Statement": [{
            "Effect": "Allow",
            "Resource": "*",
            "Action": [
                "cloudwatch:*",
                "dynamodb:*",
                "ec2:Describe*",
                "elasticmapreduce:Describe*",
                "elasticmapreduce:ListBootstrapActions",
                "elasticmapreduce:ListClusters",
                "elasticmapreduce:ListInstanceGroups",
                "elasticmapreduce:ListInstances",
                "elasticmapreduce:ListSteps",
                "kinesis:CreateStream",
                "kinesis:DeleteStream",
                "kinesis:DescribeStream",
                "kinesis:GetRecords",
                "kinesis:GetShardIterator",
                "kinesis:MergeShards",
                "kinesis:PutRecord",
                "kinesis:SplitShard",
                "rds:Describe*",
                "s3:*",
                "sdb:*",
                "sns:*",
                "sqs:*"
            ]
        }]
    }
    

    【讨论】:

    • 如果我们使用 --use-defualt-role ,我知道这是我们默认得到的??其中一些权限可能不需要对吗???或者所有这些都是肯定需要的???
    • 这是您在使用--use-default-role 时获得的默认角色。我不确定是否需要所有这些权限,这取决于您如何配置 EMR。例如:使用 CloudWatch 进行监控?或不?所以这基本上取决于你。
    • 谢谢。会弄清楚我真正需要的所有选项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-28
    • 2018-11-13
    • 1970-01-01
    相关资源
    最近更新 更多