本文介绍了如何通过Okta和阿里云Cloud SSO实现多账户的单点登录,以简化企业用户的身份管理和访问控制。通过整合资源目录和Cloud SSO,企业可以统一管理阿里云用户的访问权限,并有效提升安全性和管理效率,适用于不同角色的PAI运维和开发工作。
概念介绍
阿里云资源目录
资源目录RD(Resource Directory)是阿里云面向企业用户提供的一套多级账号和资源关系管理服务,详情请参见什么是资源目录。
阿里云资源目录的成员
资源目录中的每个成员都是一个阿里云主账户,通常代表用户的一个部门。每个成员可以创建多个Cloud SSO角色账户和RAM账户,以代表部门内的员工。
阿里云Cloud SSO
Cloud SSO提供基于阿里云资源目录RD的多账号统一身份管理与访问控制。使用Cloud SSO,您可以统一管理企业中使用阿里云的用户,一次性配置企业身份管理系统与阿里云的单点登录,并统一配置所有用户对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。
进入Alibaba Cloud CloudSSO,在Assignments页签下导入用户公司的企业账户为Okta用户。
在Sign On页签下配置阿里云单点登录,允许Okta用户通过SSO登录阿里云。操作详情,请参见使用Okta进行用户SSO的示例。
2. 配置阿里云
2.1 配置资源目录
以Okta管理账户登录Alibaba Cloud CloudSSO,选择RD管理账户并通过Administrator(用于管理阿里云的资源目录)进行登录,后续所有操作都以RD管理账户身份进行。
进入资源目录页面,创建资源目录成员。
2.2 配置Cloud SSO
在访问配置页面,分别创建PAI运维访问配置和PAI开发访问配置。
关键参数说明如下:
PAI运维访问配置
步骤
说明
基本信息
访问配置名称:PAI运维访问配置名称,如
PAIOps
。初始访问页面:设置为PAI控制台:
https://pai.console.aliyun.com/
。设置后,该成员授权的阿里云角色账户和RAM账户登录后访问的就是PAI控制台页面。
系统策略
使用系统策略。授权AliyunPAIFullAccess系统策略。
内置策略
新增内置策略,输入策略名称后,将策略修改如下:
{ "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权限。
③内置策略
无需新增内置策略,单击关闭即可。
该配置会在下面步骤3中授权给PAI普通开发账户(PAI普通开发由于没有其他阿里云产品的授权,因此无法使用这些阿里云产品)。
单击步骤2.1.2中已创建的成员,为指定用户/组配置权限。
步骤
说明
①指定用户/组
选择要添加的Cloud SSO角色账户和RAM账户。
说明因开启了自动同步(通过SCIM同步Okta用户或用户组的示例),这里可选用户列表为步骤1.3中导入的用户。
步骤4中用户登录时看到的角色账户为该步骤添加的角色账户。
②指定访问配置
选择访问配置。
说明这里会通过访问配置设置Cloud SSO角色账户和RAM账户登录Cloud SSO后访问的阿里云页面,以及对应的权限。
3. 用户登录阿里云,自动跳转到PAI
4. 用户使用PAI
4.1 PAI运维账户
将PAI普通开发账户(阿里云角色账户)添加到工作空间。
通过工作空间角色设置开发账户具备的权限,详情请参见管理工作空间-成员及角色配置。
说明如果搜索不到创建的角色,可手动单击刷新来更新账号列表。
如果官方角色不满足需求,可以创建自定义角色。
4.2 PAI普通开发账户
进行算法开发、训练、推理等,详情请参见AI开发。