通过Okta+阿里云Cloud SSO使用PAI

本文介绍了如何通过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实现多账户的单点登录解决方案。此方案简化了身份管理和访问控制,支持多账户和基于角色的权限分配,有效提升了安全性和管理效率。

image

准备工作

  • 已创建阿里云账户,并开通资源目录

  • 已注册Okta账户,且该账户为Okta管理账户。

1. 配置Okta

  1. Okta管理账户登录Okta后续所有操作都以Okta管理账户身份进行。

  2. Applications > Applications页面创建Alibaba Cloud CloudSSO

    image

  3. 进入Alibaba Cloud CloudSSO,在Assignments页签下导入用户公司的企业账户为Okta用户。

    image

  4. Sign On页签下配置阿里云单点登录,允许Okta用户通过SSO登录阿里云。操作详情,请参见使用Okta进行用户SSO的示例

    image

2. 配置阿里云

2.1 配置资源目录

  1. Okta管理账户登录Alibaba Cloud CloudSSO,选择RD管理账户并通过Administrator(用于管理阿里云的资源目录)进行登录,后续所有操作都以RD管理账户身份进行

    image

  2. 进入资源目录页面,创建资源目录成员。

    image

2.2 配置Cloud SSO

  1. 进入Cloud SSO-访问配置

  2. 访问配置页面,分别创建PAI运维访问配置PAI开发访问配置

    image

    关键参数说明如下:

    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普通开发由于没有其他阿里云产品的授权,因此无法使用这些阿里云产品)。

  3. 单击步骤2.1.2中已创建的成员,为指定用户/组配置权限。

    image

    image

    步骤

    说明

    ①指定用户/组

    选择要添加的Cloud SSO角色账户和RAM账户。

    说明

    ②指定访问配置

    选择访问配置。

    • 推荐PAI运维账户选择步骤2中创建的PAIOps访问配置。

    • 推荐PAI开发账户选择步骤2中创建的PAIDev访问配置。

    说明

    这里会通过访问配置设置Cloud SSO角色账户和RAM账户登录Cloud SSO后访问的阿里云页面,以及对应的权限。

3. 用户登录阿里云,自动跳转到PAI

  1. 用户登录Okta后,单击Alibaba Cloud CloudSSO图标跳转到阿里云Cloud SSO登录页面。

    image

  2. RAM角色登录页签下选择步骤2.1.2中创建的资源目录成员(阿里云角色用户)登录。

    注:这里阿里云是服务提供商(SP),而Okta则是身份提供商(IdP)。

    image.png

  3. 登录后会跳转到PAI控制台首页

    image.png

    说明

    当前资源目录的每个成员下第一个阿里云角色账户打开PAI时可能看到一个空白页,此时需要访问下该域名即可,访问过后,该成员的其他角色账户都可以顺利打开PAI。

4. 用户使用PAI

4.1 PAI运维账户

  1. 开通PAI并创建默认工作空间

  2. 开通并授权依赖的阿里云产品

  3. PAI普通开发账户(阿里云角色账户)添加到工作空间。

    通过工作空间角色设置开发账户具备的权限,详情请参见管理工作空间-成员及角色配置

    image

    说明
    • 如果搜索不到创建的角色,可手动单击刷新来更新账号列表。

    • 如果官方角色不满足需求,可以创建自定义角色。

4.2 PAI普通开发账户

进行算法开发、训练、推理等,详情请参见AI开发

参考文档