阿里云账号角色授权

使用EMR on ACK前,需要授予您的阿里云账号AliyunEMROnACKDefaultRole系统默认角色。本文为您介绍角色授权的两种方式。

自动化授权

通常,第一次使用EMR on ACK时,需要您进行自动化授权操作。

  1. 登录E-MapReduce控制台

  2. 在左侧导航栏,单击EMR on ACK

  3. EMR on ACK页面,单击去授权

  4. 云资源访问授权页面,单击页面下方的同意授权

    系统已默认勾选AliyunEMROnACKDefaultRole角色。

手动授权

如果您不小心删除了AliyunEMROnACKDefaultRole角色或者变更了授权策略导致EMR on ACK不可用,请按照以下操作步骤重新授权。

  1. 创建角色。

    1. 登录RAM控制台

    2. 在左侧导航栏,选择身份管理 > 角色

    3. 角色页面,单击创建角色

    4. 创建角色面板,选择可信实体类型,单击下一步

      可信实体类型如下:

      • 阿里云账号:受信云账号下的子用户可以通过扮演该RAM角色来访问您的云资源,受信云账号可以是当前云账号,也可以是其他云账号。

      • 阿里云服务:受信云服务可以通过扮演RAM角色来访问您的云资源。

      • 身份提供商:身份提供商功能,通过设置SSO可以实现从企业本地账号系统登录阿里云控制台,帮您解决企业的统一用户登录认证要求。

      详情请参见创建可信实体为阿里云账号的RAM角色创建可信实体为阿里云服务的RAM角色或者创建可信实体为身份提供商的RAM角色

    5. 输入相关角色信息,单击完成

      角色名称为AliyunEMROnACKDefaultRole。如果AliyunEMROnACKDefaultRole角色已存在,则不必重复创建该角色。

  2. 添加授权策略。

    1. 角色页面,找到AliyunEMROnACKDefaultRole角色,单击操作列下的精确授权

    2. 添加权限面板,选择权限类型,并输入策略名称,单击确定

      需要为AliyunEMROnACKDefaultRole角色添加三个授权策略:

      • 策略一:系统策略(AliyunEMROnACKDefaultRolePolicy)

        {
            "Version": "1",
            "Statement": [
                {
                    "Action": [
                        "cs:CreateCluster",
                        "cs:GetClusterById",
                        "cs:GetClusters",
                        "cs:GetUserConfig",
                        "cs:DeleteCluster",
                        "cs:AttachInstances",
                        "cs:DescribeClusterLogsRequest",
                        "cs:GetClusterLogs",
                        "cs:GetUserQuota",
                        "cs:DescribeClusterNodes",
                        "cs:GetNodepoolDetail",
                        "cs:GetNodepools",
                        "cs:UpdateNodepool",
                        "cs:ScaleNodepools",
                        "cs:DescribeClusterInnerServiceKubeconfig",
                        "cs:RevokeClusterInnerServiceKubeconfig",
                        "ecs:DescribeInstances"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                }
            ]
        }
      • 策略二:系统策略(AliyunEMRFullAccess)

        {
            "Version": "1",
            "Statement": [
                {
                    "Action": "emr:*",
                    "Resource": "*",
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "cms:QueryMetricList",
                        "ram:GetRole",
                        "ram:ListRoles",
                        "ram:ListUserBasicInfos",
                        "ecs:DescribeZones",
                        "ecs:DescribeInstanceTypes",
                        "ecs:DescribeKeyPairs",
                        "ecs:DescribeAvailableResource",
                        "ecs:DescribeInstances",
                        "ecs:DescribeSpotPriceHistory",
                        "ecs:DescribeSpotAdvice",
                        "ecs:DescribeInstanceStatus",
                        "ecs:DescribeDeploymentSets",
                        "vpc:DescribeVpcs",
                        "vpc:DescribeVSwitches",
                        "oss:ListBuckets",
                        "dlf:DescribeRegions",
                        "dlf:GetRegionStatus",
                        "dlf:ListCatalogs"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                },
                {
                    "Action": "ram:PassRole",
                    "Resource": "*",
                    "Effect": "Allow",
                    "Condition": {
                        "StringEquals": {
                            "acs:Service": "emr.aliyuncs.com"
                        }
                    }
                },
                {
                    "Action": "quotas:ListProductQuotas",
                    "Resource": "acs:quotas:*:*:quota/ecs/*",
                    "Effect": "Allow"
                },
                {
                    "Action": "kms:DescribeAccountKmsStatus",
                    "Resource": "*",
                    "Effect": "Allow"
                }
            ]
        }
      • 策略三:自定义策略(EmrOnAckPolicyV2)

        {
            "Version": "1",
            "Statement": [
                {
                    "Action": [
                        "ram:*"
                    ],
                    "Resource": [
                        "acs:ram:*:*:domain/*",
                        "acs:ram:*:*:application/*"
                    ],
                    "Effect": "Allow"
                }
            ]
        }

      说明

      创建好以上角色及策略后,即可正常使用EMR on ACK。