通过SCIM协议同步Okta用户到阿里云RAM

通过SCIM 2.0标准协议,结合阿里云OAuth应用的安全授权,您可以将Okta中的用户同步到阿里云访问控制(RAM)中。

前提条件

  • 本文中所有RAM控制台的操作,推荐使用RAM管理员或具有OAuth管理权限的RAM用户完成。

  • 本文中所有Okta的操作,请使用Okta管理员(Super Administrator)账号完成。

背景信息

  • 新建用户:Okta分配用户到应用后,RAM会自动创建同名用户,Okta用户名的域名后缀将会自动替换为RAM用户域名。

  • 更新用户属性:当您在Okta更改用户属性,将自动同步更新RAM用户属性,该功能取决于Okta是否配置开启属性自动更新。当前仅支持UserName、DisplayName。

  • 当您在Okta删除用户或取消用户分配,Okta会将用户状态置为“active=false”。RAM用户无启用、禁用状态,不支持Okta对用户Inactive的状态同步,因此同步至RAM的用户不做变更。

  • 不支持同步Okta的用户组。

步骤一:在RAM控制台创建OAuth应用并授权

  1. 创建OAuth应用。

    1. 登录RAM控制台

    2. 在左侧导航栏,选择集成管理 > OAuth应用(公测)

    3. 企业应用页签,单击创建应用

    4. 创建应用面板,设置应用参数。

      1. 输入应用名称显示名称

      2. 选择应用类型NativeApp

      3. 设置访问令牌有效期

      4. 设置刷新令牌有效期

    5. 单击保存

  2. 授权应用范围。

    1. 企业应用页签,单击目标应用名称。

    2. 应用OAuth范围页签,单击添加OAuth范围

    3. 添加OAuth范围面板,选择/acs/scim

    4. 单击确定

  3. 创建应用密钥。

    1. 单击应用密钥页签,然后单击创建密钥

    2. 创建应用密钥对话框,查看并复制创建成功的应用密钥,然后单击关闭

      重要

      应用密钥内容仅在创建时可见,不支持查询,请及时保存。

步骤二:在Okta创建应用

  1. 登录Okta门户
  2. 单击页面右上方的账号图标,然后单击Your Org
  3. 在左侧导航栏,选择Applications > Applications
  4. Applications页面,单击Create App Integration
  5. Create a new app integration对话框,单击SAML 2.0,然后单击Next
  6. 配置应用名称为AliyunSSODemo,单击Next
  7. 配置SAML,然后单击Next
    SAML配置
    • Single sign on URL步骤一:在阿里云获取SAML服务提供商元数据中记录的Location
    • Audience URI步骤一:在阿里云获取SAML服务提供商元数据中记录的entityID
    • Default RelayState用来配置用户SSO登录成功后跳转到的阿里云页面。
      说明 出于安全原因,您只能填写阿里巴巴旗下的域名URL作为Default RelayState的值,例如:*.aliyun.com、*.hichina.com、*.yunos.com、*.taobao.com、*.tmall.com、*.alibabacloud.com、*.alipay.com,否则配置无效。若不配置,默认跳转到阿里云控制台首页。
    • Name ID format选择Persistent
    • Application username选择Email
  8. Feedback页面,根据需要选择合适的应用类型,然后单击Finish

步骤三:在Okta配置SCIM同步

  1. 启用SCIM同步。

    1. 步骤二:在Okta创建应用创建的应用中,单击General页签。

    2. App Settings区域,单击Edit

    3. 选中Enable SCIM provisioning,然后单击Save,启用SCIM同步。

  2. 配置SCIM连接参数。

    1. 单击Provisioning页签。

    2. 在左侧导航栏,单击Integration

    3. SCIM Connection区域,单击Edit,配置以下参数。

      • SCIM connector base URL:输入https://scim.aliyun.com

      • Unique identifier field for users:输入userName

      • Supported provisioning actions:选中Import New Users and Profile UpdatesPush New Users

        说明

        Push Profile Updates为可选,表示属性变更是否自动更新。

      • Authentication Mode:选择OAuth 2

    4. 配置OAuth 2参数。

    5. 单击Save

  3. 获取回调地址。

    1. Provisioning页签,单击左侧导航栏的Integration

    2. 在页面最底端,单击Authenticate with xxx

    3. 在弹出的页面中,复制回调地址(redirect url)。

    4. 登录阿里云RAM控制台,在步骤一:在RAM控制台创建OAuth应用并授权创建的应用中填入回调地址。

    5. 返回Okta当前配置页面,单击Authenticate with xxx,然后登录阿里云控制台,完成验证。

  4. 配置用户同步参数。

    1. Provisioning页签,单击左侧导航栏的To App

    2. Provisioning to App区域,单击Edit

    3. Create User区域,选中Enable,然后单击Save

      说明

      如果SCIM Connection中配置了Push Profile Updates,您还需要在此处将Push Profile Updates也设置为Enable

    4. <App Name> Attribute Mappings区域,配置属性映射,删除不需要的属性,仅保留下图所示的属性。

      83f45d68d4356cebde3339768163c69e.png

    5. Sign on页签,单击Edit

    6. Application username format设置为Okta username prefix,然后单击Save

  5. 为应用分配用户。

    1. Assignments页签,单击Assign

    2. 单击Assign to People,分配用户到应用。

说明

同步过程中如果遇到异常,您可以单击View Logs查看日志信息,帮助您解决问题。

验证结果

上述步骤完成后,Okta用户会自动同步到RAM中。您可以登录RAM控制台,在RAM用户列表中,查看同步成功的用户,同步成功的用户同步类型标识为SCIM 同步