运维账号授权

在阿里云上开通的Dataphin半托管实例如需Dataphin运维团队操作,需要提供RAM子账号及相应的授权。

权限说明

  • Dataphin半托管实例涉及的资源均通过ROS自动初始化,操作者需具备ROS升级操作权限。

  • Kubernetes集群的日常运维需要只读权限,升级时需要变更权限。

  • 若RDS实例涉及数据库变更的场景(如升级、数据订正)时,需要执行数据库备份的权限。

  • 排查特殊异常问题以及处理ECS相关的故障时,需要ECS的登录/变更权限。

开通RAM子账号

  1. 使用阿里云账号登录RAM访问控制的控制台。

  2. 在左侧导航栏选择身份管理 > 用户,在用户页面单击创建用户按钮。

    image

  3. 创建用户页面,配置以下参数,更多配置详情请参见创建RAM用户

    参数

    描述

    登录名称

    支持英文字母、数字、半角句号(.)、短划线(-)和下划线(_),最多64个字符

    访问方式

    选中控制台访问,将使用用户名和登录密码访问阿里云。

    设置密码

    支持自动生成密码自定义密码

  4. 单击确定,完成用户的创建。

为RAM子账号赋权

步骤一:授予ACK运维权限

重要
  • 操作者需具有ACK集群的管理员权限。

  • 此权限点为ACK的RBAC权限,而不是RAM权限,无法直接在RAM上进行配置。

  • 若登录ACK控制台的账号提示无权限,则表示该账号不是购买ACK集群的初始账号。

  1. 使用购买ACK集群的阿里云账号登录容器服务ACK控制台。

  2. 单击左侧导航栏的授权管理,在授权管理的RAM用户页签下,选中已创建的RAM子账号,并单击操作列下的管理权限

    image

  3. 权限管理面板的添加权限区域,为子账号授予Dataphin部署集群的运维权限

    参数

    描述

    集群

    授权Dataphin的部署集群,该集群名称以cs-dp开头。

    权限管理

    选择运维人员角色。

  4. 单击提交授权,完成为子账号授予Dataphin部署集群的运维权限。

步骤二:开通DBS服务(一次性,无需费用)

说明

操作者需具有RDS的管理员权限(AliyunRDSFullAccess)。

  1. 使用阿里云账号登录RDS数据库控制台。

  2. 在左侧导航栏选择关系型数据库 > RDS > 实例列表,进入实例列表页面。

  3. 在实例列表页面,单击目标数据库(以pg-dp开头)的名称,进入数据库。

  4. 单击左侧菜单栏的备份恢复,在授权DBS服务关联角色对话框中,单击一键授权按钮,激活DBS。

    image

步骤三:配置托管运维的权限策略

说明

操作者需具有RAM的管理员权限(RAMFullAccess)。

  1. 使用阿里云账号登录RAM访问控制的控制台。

  2. 在左侧导航栏选择权限管理 > 权限策略,在权限策略页面,单击创建权限策略按钮。

    image

  3. 创建权限策略页面,单击脚本编辑页签,在脚本编辑框中输入权限策略内容。更多配置详情请参见创建自定义权限策略

    您可以单击下载ros-policy.json文件,也可以复制以下内容将原有编辑框中的内容全量替换。

    image

    {
      "Statement":
      [
        {
          "Action":
          [
            "bss:GetPayAsYouGoPrice",
            "bss:GetSubscriptionPrice"
          ],
          "Effect": "Allow",
          "Resource": "*"
        },
        {
          "Action":
          [
            "cs:*",
            "cms:DescribeAlertingMetricRuleResources"
          ],
          "Effect": "Allow",
          "Resource": "*"
        },
        {
          "Action":
          [
            "ecs:AddTags",
            "ecs:AllocatePublicIpAddress",
            "ecs:AuthorizeSecurityGroup",
            "ecs:AuthorizeSecurityGroupEgress",
            "ecs:ConfigureSecurityGroupPermissions",
            "ecs:*Instance*",
            "ecs:*TerminalSession*",
            "ecs:RunCommand",
            "ecs:CreateSecurityGroup",
            "ecs:DeleteSecurityGroup",
            "ecs:Describe*",
            "ecs:JoinResourceGroup",
            "ecs:ModifySecurityGroupEgressRule",
            "ecs:ModifySecurityGroupRule",
            "ecs:RemoveTags",
            "ecs:ReplaceSystemDisk",
            "ecs:TagResources",
            "ecs:UntagResources"
          ],
          "Effect": "Allow",
          "Resource": "*"
        },
        {
          "Action":
          [
            "kvstore:AllocateDirectConnection",
            "kvstore:AllocateInstancePublicConnection",
            "kvstore:CreateInstances",
            "kvstore:CreateTairInstance",
            "kvstore:DeleteInstance",
            "kvstore:Describe*",
            "kvstore:DestroyInstance",
            "kvstore:Modify*",
            "kvstore:ReleaseDirectConnection",
            "kvstore:ReleaseInstancePublicConnection",
            "kvstore:TagResources",
            "kvstore:UntagResources"
          ],
          "Effect": "Allow",
          "Resource": "*"
        },
        {
          "Action":
          [
            "oos:GetParameter",
            "oos:GetSecretParameter",
            "oos:StartExecution",
            "oos:ListExecutions"
          ],
          "Effect": "Allow",
          "Resource": "*"
        },
        {
          "Action":
          [
            "oss:AbortMultipartUpload",
            "oss:DeleteBucket",
            "oss:DeleteBucketEncryption",
            "oss:DeleteBucketTagging",
            "oss:DeleteObject",
            "oss:GetBucket*",
            "oss:ListMultipartUploads",
            "oss:ListObjects",
            "oss:PutBucket*"
          ],
          "Effect": "Allow",
          "Resource": "*"
        },
        {
          "Action":
          [
            "quotas:ListProductQuotas"
          ],
          "Effect": "Allow",
          "Resource": "acs:quotas:*:*:*"
        },
        {
          "Action":
          [
            "ram:AddUserToGroup",
            "ram:AttachPolicyToRole",
            "ram:AttachPolicyToUser",
            "ram:CreateAccessKey",
            "ram:CreateAppSecret",
            "ram:CreateApplication",
            "ram:CreateLoginProfile",
            "ram:CreatePolicy",
            "ram:CreateRole",
            "ram:CreateUser",
            "ram:DeleteAccessKey",
            "ram:DeleteAppSecret",
            "ram:DeleteApplication",
            "ram:DeletePolicy",
            "ram:DeleteRole",
            "ram:DeleteUser",
            "ram:DetachPolicyFromRole",
            "ram:DetachPolicyFromUser",
            "ram:GetGroup",
            "ram:GetLoginProfile",
            "ram:GetPolicy",
            "ram:GetRole",
            "ram:GetUser",
            "ram:ListAccessKeys",
            "ram:ListGroupsForUser",
            "ram:ListPoliciesForRole",
            "ram:ListPoliciesForUser",
            "ram:RemoveUserFromGroup",
            "ram:UpdateApplication",
            "ram:UpdateRole",
            "ram:UpdateUser"
          ],
          "Effect": "Allow",
          "Resource": "*"
        },
        {
          "Action":
          [
            "rds:AllocateInstancePublicConnection",
            "rds:CreateAccount",
            "rds:CreateDBInstance",
            "rds:CreateDatabase",
            "rds:CreateBackup",
            "rds:DeleteAccount",
            "rds:DeleteDBInstance",
            "rds:Describe*",
            "rds:GrantAccountPrivilege",
            "rds:ListTagResources",
            "rds:ModifyBackupPolicy",
            "rds:ModifyDBInstance*",
            "rds:ModifySQLCollectorPolicy",
            "rds:ModifySecurityGroupConfiguration",
            "rds:ModifySecurityIps",
            "rds:QueryPrice",
            "rds:ResetAccountPassword",
            "rds:TagResources",
            "rds:UntagResources"
          ],
          "Effect": "Allow",
          "Resource": "*"
        },
        {
          "Action":
          [
            "slb:DescribeLoadBalancerAttribute"
          ],
          "Effect": "Allow",
          "Resource": "*"
        },
        {
          "Action":
          [
            "vpc:AllocateEipAddress",
            "vpc:AssociateEipAddress",
            "vpc:DeletionProtection",
            "vpc:Describe*",
            "vpc:ModifyEipAddressAttribute",
            "vpc:ReleaseEipAddress",
            "vpc:TagResources",
            "vpc:UnTagResources",
            "vpc:UnassociateEipAddress"
          ],
          "Effect": "Allow",
          "Resource": "*"
        },
        {
          "Action":
          [
            "ros:*Stack",
            "ros:Get*",
            "ros:Describe*",
            "ros:List*"
          ],
          "Effect": "Allow",
          "Resource": "*"
        },
        {
          "Action":
          [
            "computenest:UpgradeServiceInstance"
          ],
          "Effect": "Allow",
          "Resource": "*"
        }
      ],
      "Version": "1"
    }
  4. 单击确定,在创建权限策略对话框中,输入DataphinAdministrator策略后,单击确定,完成权限策略配置。

  5. 在左侧导航栏选择权限管理 > 授权,在授权页面,单击新增授权按钮。

  6. 新增授权面板,配置参数。

    • 资源范围:默认选中账号级别

    • 授权主体:选中已创建的RAM子账号。

    • 权限策略:为RAM子账号赋权。

      • 系统策略选择AliyunComputeNestUserFullAccess。

      • 自定义授权策略选择DataphinAdministrator。

  7. 单击确认新增授权,完成子账号授权

步骤四(可选):查看Dataphin SuperOps账号

说明

SuperOps账号为Dataphin系统租户的默认账号,与运维Dataphin子账号不是同一个账号。

如果版本升级需要执行重新初始化元仓,则需提供SuperOps运维账号的账号密码或其他登录控制台方式。

SuperOps子账号是开通Dataphin实例时自动创建的RAM子账号,可以从阿里云RAM控制台 > 用户页面中查询。