全部产品
Search
文档中心

人工智能平台 PAI:RAM角色登录并使用PAI

更新时间:Aug 11, 2026

角色单点登录(SSO)让RAM角色直接登录PAI平台。该方式简化登录流程,同时提升账户安全性和权限管理灵活性,适合需要按角色管控访问权限的企业场景。

背景信息

企业安全监管要求日趋严格。角色登录(Role-Based SSO)提供了一种更安全的云资源访问方式,比直接使用账号密码登录更易于管控权限。详情请参见SAML角色SSO概览

PAI支持的登录方式

PAI支持云账号登录和角色登录两种方式。

  • 云账号登录:

    使用阿里云账号或RAM用户账号直接登录PAI。登录后,该账号自动成为PAI工作空间成员,获得该工作空间的产品使用权限。

  • 云SSO登录

    云SSO提供基于阿里云资源目录RD(Resource Directory)的多账号统一身份管理与访问控制。使用云SSO,您可以统一管理企业中使用阿里云的用户,一次性配置企业身份管理系统与阿里云的单点登录,并统一配置所有用户对RD账号的访问权限。

  • 角色SSO登录

    通过角色SSO(单点登录)方式进入阿里云控制台并使用PAI。RAM Role会成为PAI工作空间成员,使用该角色的用户获得与云账号成员相同的产品使用权限。有关RAM角色的更多信息,请参见RAM角色概览

角色登录指南

  1. 创建RAM角色并配置信任策略。信任策略决定哪些账号或身份可以扮演该角色。

    通过RAM用户扮演角色并添加权限

    如需通过RAM用户扮演RAM角色,并在阿里云控制台切换身份,将信任主体类型设置为云账号。操作步骤如下。

    1. 创建可信实体类型为云账号的RAM角色。操作步骤请参见创建可信实体为阿里云账号的RAM角色

      信任主体名称选择当前云账号

    2. 进入目标角色详情页面,修改信任策略。信任策略控制哪些主体可以调用STS AssumeRole接口。

      将信任策略内容替换为如下脚本:

      {
        "Statement": [
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "RAM": [
                "acs:ram::主账号ID:root"
              ]
            }
          },    
          {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
              "Service": [
                "dataworks.aliyuncs.com"
              ]
            }
          }
        ],
        "Version": "1"
      }

      将脚本中acs:ram::主账号ID:root主账号ID替换为实际账号ID。您可以在用户基本信息页面获取账号ID。

    3. 创建RAM用户。您可以一次创建多个RAM用户。操作步骤请参见创建RAM用户

    4. 单击目标RAM用户操作列下的添加权限,为RAM用户添加AliyunSTSAssumeRoleAccess权限。该权限允许RAM用户调用STS AssumeRole接口扮演角色。

    通过IdP身份提供商扮演角色并添加权限

    如需通过IdP身份提供商账号登录阿里云并扮演RAM角色,可信实体类型选择身份提供商。操作步骤如下:

    1. 创建可信实体类型为身份提供商的RAM角色。操作步骤请参见创建可信实体为身份提供商的RAM角色

    2. 进入目标角色详情页面,修改信任策略。信任策略需允许IdP身份提供商通过SAML断言扮演该角色。

      将信任策略内容替换为如下脚本:

      {
         "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                      "Federated": [
                          "acs:ram::主账号ID:saml-provider/IDP"
                      ]
                  },
                  "Condition": {
                      "StringEquals": {
                          "saml:recipient": "https://signin.aliyun.com/saml-role/sso"
                      }
                  }
              },
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                    "Service": [
                      "dataworks.aliyuncs.com"
                    ]
                  }
              }
          ],
          "Version": "1"
      }

      将脚本中acs:ram::主账号ID:saml-provider/IDP主账号ID替换为实际账号ID。您可以在用户基本信息页面获取账号ID。

  2. 配置权限策略。权限策略决定RAM角色在PAI各子产品中能执行哪些操作。

    根据角色用户需要使用的子产品,为角色添加对应权限策略。未配置权限策略会导致部分功能不可用(例如AI资产管理-数据集)。操作步骤如下。

    1. 创建权限策略,例如命名为PAIDefaultPolicy。操作步骤可参考样例云产品依赖与授权:Designer。在脚本编辑页签中配置如下策略内容:

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "cs:GetClusterById",
                      "cs:GetClusters",
                      "cs:GetUserConfig",
                      "cs:DescribeClusterNodes",
                      "cs:DescribeClusterInnerServiceKubeconfig",
                      "cs:RevokeClusterInnerServiceKubeconfig"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "vpc:DescribeVSwitchAttributes",
                      "vpc:DescribeVpcs",
                      "vpc:DescribeVSwitches",
                      "vpc:DescribeVpcAttribute"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "ecs:DescribeSecurityGroupAttribute",
                      "ecs:DescribeSecurityGroups",
                      "ecs:CreateNetworkInterface",
                      "ecs:DeleteNetworkInterface",
                      "ecs:DescribeNetworkInterfaces",
                      "ecs:CreateNetworkInterfacePermission",
                      "ecs:DescribeNetworkInterfacePermissions",
                      "ecs:DeleteNetworkInterfacePermission"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "nas:DescribeFileSystems",
                      "nas:CreateMountTarget",
                      "nas:DescribeMountTargets",
                      "nas:ModifyMountTarget",
                      "nas:DescribeProtocolMountTarget"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "cr:ListNamespace",
                      "cr:ListRepository",
                      "cr:GetAuthorizationToken",
                      "cr:ListInstanceEndpoint",
                      "cr:PullRepository",
                      "cr:PushRepository",
                      "cr:GetInstance",
                      "cr:GetInstanceVpcEndpoint",
                      "cr:ListInstance",
                      "cr:ListInstanceDomain"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "oss:ListBuckets",
                      "oss:GetObjectMetadata",
                      "oss:GetObject",
                      "oss:ListObjects",
                      "oss:PutObject",
                      "oss:CopyObject",
                      "oss:CompleteMultipartUpload",
                      "oss:AbortMultipartUpload",
                      "oss:InitiateMultipartUpload",
                      "oss:UploadPartCopy",
                      "oss:UploadPart",
                      "oss:DeleteObject"
                  ],
                  "Resource": "acs:oss:*:*:*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "datasetacc:DescribeInstance",
                      "datasetacc:DescribeSlot",
                      "datasetacc:DescribeEndpoint"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }

      权限点类型

      说明

      cs:***

      授予容器服务(CS)权限。

      vpc:***

      授予专有网络(VPC)权限。

      ecs:***

      授予云服务器(ECS)权限。

      nas:***

      授予文件存储(NAS)权限。

      cr:***

      授予容器镜像服务(Container Registry)权限。

      oss:***

      授予对象存储(OSS)权限。

      datasetacc:***

      授予数据集加速(DatasetAcc)权限。

    2. RAM 访问控制页面,选择身份管理 > 角色

    3. 搜索步骤1中创建的角色,单击角色名称进入角色详情页面。

    4. 权限管理页签,单击新增授权,将已创建的权限策略授权给该角色。授权后,角色才拥有策略中定义的PAI资源操作权限。

      在弹出的新增授权对话框中,资源范围选择账号级别,在权限策略搜索框中搜索并勾选PAIDefaultPolicy自定义策略,然后单击确认新增授权

  3. 添加RAM角色至PAI工作空间并授权。只有工作空间成员才能访问和使用该空间的PAI子产品。

    工作空间管理员在工作空间成员与角色页面添加已创建的RAM角色。操作步骤请参见管理工作空间成员。在添加成员对话框中,选择用户/角色页签,在左侧待添加列表中搜索并勾选目标RAM角色,然后在底部角色下拉框中为其分配工作空间角色,单击确定

    说明

    如果搜索不到创建的角色,可尝试以下方法:

    • 添加成员对话框中单击刷新,更新账号列表。

    • 先用该RAM角色登录PAI控制台,再返回搜索添加。详情请参见扮演RAM角色

  4. 登录PAI控制台开始算法开发工作。完成前三步后,RAM角色才具备登录和使用PAI的完整权限。

    扮演RAM角色登录PAI控制台,开始算法开发工作。操作步骤请参见扮演RAM角色