通过Okta和阿里云Cloud SSO,企业可以实现多账户单点登录。该方案统一身份管理和访问控制,让PAI运维和开发人员使用各自角色登录并访问PAI控制台。
概念介绍
阿里云资源目录
资源目录RD(Resource Directory)为企业提供多级账号和资源关系管理。详情请参见什么是资源目录。
阿里云资源目录的成员
资源目录中的每个成员都是独立的阿里云主账户,通常对应一个部门。每个成员下可以创建多个Cloud SSO角色账户和RAM账户,代表部门内的员工。
阿里云Cloud SSO
Cloud SSO基于资源目录RD,为企业提供多账号统一身份管理和访问控制。您只需配置一次企业身份管理系统与阿里云的单点登录,即可统一管理所有用户对RD账号的访问权限。详情请参见什么是云SSO。
PAI运维账户与普通开发账户
PAI运维账户:负责平台运维,如开通PAI、授权PAI服务账户、购买Quota、创建工作空间、添加成员等。
PAI普通开发:负责算法开发,如创建训练任务(DLC)、创建推理任务(EAS)等。
解决方案
下图展示通过Okta和阿里云Cloud SSO实现的多账户单点登录方案。该方案简化身份管理和访问控制,支持按角色分配权限,提升安全性。

准备工作
已创建阿里云账户,并开通资源目录。
已注册Okta账户,且为Okta管理账户。
1. 配置Okta
以Okta管理账户登录Okta。后续所有操作都使用Okta管理账户身份。
在Applications > Applications页面创建Alibaba Cloud CloudSSO。该应用承载Okta与阿里云Cloud SSO之间的单点登录信任关系。
单击Create App Integration按钮。
进入Alibaba Cloud CloudSSO,在Assignments页签下导入企业账户为Okta用户。只有分配了应用的用户才能通过SSO登录阿里云。
单击Assign按钮,将企业账户分配至该应用。
在Sign On页签下配置阿里云单点登录,允许Okta用户通过SSO登录阿里云。Cloud SSO需要这些信息来验证Okta发出的SAML断言。操作详情请参见使用Okta进行用户SSO的示例。
在Metadata details区域获取并复制Metadata URL。在Advanced Sign-on Settings区域确认ACS URL和Entity ID已正确填入。在Credentials Details区域,将Application username format设置为Email prefix,Update application username on设置为Create and update。
2. 配置阿里云
2.1 配置资源目录
以Okta管理账户登录Alibaba Cloud CloudSSO,选择RD管理账户并通过Administrator登录。后续所有操作都使用RD管理账户身份。
进入资源目录页面,创建资源目录成员。每个成员对应一个需要独立管理资源和权限的部门或项目。
例如,在Core资源夹下创建成员账号dep2和dep1。
2.2 配置Cloud SSO
进入Cloud SSO-访问配置。访问配置定义用户登录后可访问的页面和拥有的权限。
在访问配置页面,分别创建PAI运维访问配置和PAI开发访问配置。
关键参数说明如下:
PAI运维访问配置
步骤
说明
基本信息
访问配置名称:PAI运维访问配置名称,例如
PAIOps。初始访问页面:设置为PAI控制台地址
https://pai.console.aliyun.com/。设置后,该成员授权的阿里云角色账户和RAM账户登录后直接进入PAI控制台。
系统策略
选择使用系统策略,并授权AliyunPAIFullAccess。该策略包含PAI全局管理权限,满足运维账户需求。
内置策略
新增内置策略,输入策略名称后,将策略内容修改如下。内置策略补充AliyunPAIFullAccess未覆盖的RAM角色和权限操作。
{ "Version": "1", "Statement": [ { "Action": [ "ram:CreateRole", "ram:AttachPolicy", "ram:GetRole" ], "Resource": [ "acs:ram:*:*:role/AliyunODPSPAIDefaultRole", "acs:ram:*:*:policy/AliyunODPSPAIRolePolicy", "acs:ram:*:*:role/AliyunPAIAccessingOSSRole", "acs:ram:*:*:policy/AliyunPAIAccessingOSSRolePolicy", "acs:ram:*:*:role/AliyunPAIDLCAccessingOSSRole", "acs:ram:*:*:policy/AliyunPAIDLCAccessingOSSRolePolicy", "acs:ram:*:*:role/AliyunPAIDLCDefaultRole", "acs:ram:*:*:policy/AliyunOSSFullAccess", "acs:ram:*:*:policy/AliyunPAIDLCDefaultRolePolicy", "acs:ram:*:*:policy/PaiDlcOAuthPolicy", "acs:ram:*:*:role/AliyunPAIDSWDefaultRole", "acs:ram:*:*:policy/AliyunPAIDSWDefaultRolePolicy" ], "Effect": "Allow" }, { "Action": "ram:CreateServiceLinkedRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": [ "eas.pai.aliyuncs.com", "label.pai.aliyuncs.com", "plugin.pai.aliyuncs.com", "aiworkspace.pai.aliyuncs.com", "automl.pai.aliyuncs.com", "pairec.pai.aliyuncs.com", "featurestore.pai.aliyuncs.com", "aigc.pai.aliyuncs.com", "eas-customer-clusters.pai.aliyuncs.com", "langstudio.pai.aliyuncs.com", "abtest.pai.aliyuncs.com", "llmtrace.pai.aliyuncs.com" ] } } } ] }该访问配置将在步骤3中授权给PAI运维账户。
PAI开发访问配置
步骤
说明
①基本信息
访问配置名称:PAI开发访问配置名称,例如
PAIDev。初始访问页面:设置为PAI控制台地址
https://pai.console.aliyun.com/。设置后,该成员授权的阿里云角色账户和RAM账户登录后直接进入PAI控制台。②系统策略
不使用系统策略。PAI开发权限在4.1 PAI运维账户中通过PAI工作空间角色授予,因此访问配置中无需再授权RAM系统策略。
③内置策略
无需新增内置策略,单击关闭即可。开发账户不直接操作RAM资源,因此不需要额外RAM权限。
该访问配置将在步骤3中授权给PAI普通开发账户。PAI普通开发账户未授予其他阿里云产品权限,因此无法使用PAI以外的阿里云产品。
单击步骤2.1.2中已创建的成员,为指定用户/组配置权限。只有完成授权,Okta用户登录后才能以对应角色访问该成员下的PAI资源。
在多账号权限管理页面左侧RD目录树中选择目标文件夹(如Core),在右侧成员列表中单击目标成员(如dep2)。
步骤
说明
①指定用户/组
选择要添加的Cloud SSO角色账户和RAM账户。这里添加的账户将出现在用户登录后的角色选择列表中。
说明开启自动同步(通过SCIM同步Okta用户或用户组的示例)后,可选用户列表来自步骤1.3中导入的用户。
步骤4中用户登录时看到的角色账户,即本步骤添加的角色账户。
②指定访问配置
选择访问配置。访问配置决定用户登录后进入的页面和拥有的权限。
说明访问配置同时设置Cloud SSO角色账户和RAM账户登录后访问的阿里云页面及权限。
3. 用户登录阿里云,自动跳转到PAI
用户登录Okta后,单击Alibaba Cloud CloudSSO图标跳转到阿里云Cloud SSO登录页面。
在以RAM角色登录页签下,选择步骤2.1.2中创建的资源目录成员(阿里云角色用户)登录。
注:这里阿里云是服务提供商(SP),Okta是身份提供商(IdP)。
展开目标云账号(如dep1),在权限列表中找到目标角色,单击该角色的登录链接。
登录后跳转到PAI控制台首页。
PAI开通引导页面包含两步:第1步认证与授权,完成阿里云实名认证并授予PAI DSW、DLC、Designer等使用阿里云资源的权限;第2步开通服务,勾选已授予EAS等服务关联角色所需权限和已开通对象存储OSS,在下拉框中选择新建OSS Bucket并绑定至PAI默认工作空间,然后单击一键开通完成开通。
说明当前资源目录的每个成员下,第一个阿里云角色账户打开PAI时可能看到空白页。此时访问该域名即可,之后该成员的其他角色账户都能正常打开PAI。
4. 用户使用PAI
4.1 PAI运维账户
将PAI普通开发账户(阿里云角色账户)添加到工作空间。只有加入工作空间后,开发账户才能在该空间内创建训练、推理等任务。
通过工作空间角色设置开发账户权限。详情请参见管理工作空间-成员及角色配置。
在添加成员对话框的待添加列表中,选择目标RAM角色账号(账号名称后缀带有"(Role)"标识),将其移至已选择列表,然后在角色下拉框中选择要分配的工作空间角色,单击确定。
说明如果搜索不到创建的角色,可手动单击刷新来更新账号列表。
如果官方角色不满足需求,可以创建自定义角色。
4.2 PAI普通开发账户
开发账户登录PAI后,可开发算法、训练模型、部署推理等。详情请参见AI开发。