管理SCIM 与 Org API

SCIM 与组织级 API Key 范围的 API 路由

Where is this feature available?
  • Hobby
  • Core
  • Pro
  • Enterprise
  • Self Hosted
    (Enterprise)

通过组织范围的 API Key,你可以管理项目、用户以及项目/组织的成员关系(参见 RBAC 文档)。

Litefuse 是开放的,可以通过自定义工作流和集成进行扩展。 你可以使用这些 endpoint 自动化 Litefuse 组织中的项目与用户管理。

本文档涵盖组织管理 API、符合 SCIM 标准的用户配置 endpoint,并提供了一份完整指南,介绍如何在 Litefuse 中配置 Okta 认证与用户配置。

如果你自托管 Litefuse,可以使用 Instance Management API 来管理整个实例上的组织。

认证

使用 Basic Auth 进行 API 认证。 组织范围的 API Key 可以通过 Instance Management API 创建,也可以在 Litefuse UI 的组织设置中创建。

示例:

curl -u public-key:secret-key https://litefuse.cloud/api/public/projects/{projectId}/apiKeys

组织管理

所有相关 endpoint 都标注了 (requires organization-scoped API key)。 包括以下路由:

  • POST /api/public/projects
  • PUT /api/public/projects/{projectId}
  • DELETE /api/public/projects/{projectId}
  • GET /api/public/projects/{projectId}/apiKeys
  • POST /api/public/projects/{projectId}/apiKeys
  • DELETE /api/public/projects/{projectId}/apiKeys/{apiKeyId}
  • PUT /api/public/organizations/memberships
  • GET /api/public/organizations/memberships
  • PUT /api/public/projects/{projectId}/memberships
  • DELETE /api/public/projects/{projectId}/memberships

更多细节请参阅 API Reference

通过 SCIM 进行用户管理

此外,我们还实现了以下符合 SCIM 规范的 endpoint。 请使用 /api/public/scim 作为它们的基础 URI。

要在 Litefuse 中创建新用户,可以使用 SCIM 风格的 endpoint,调用 POST /Users。 如果该 email 尚不存在,会创建一个新用户。 然后会以 NONE 角色将该用户加入组织。

之后,可以通过组织级或项目级的成员关系 endpoint 更新角色(见上)。

要将用户从组织中移除,请调用 DELETE /Users/{id} endpoint。 该操作不会删除用户本身,仅会删除其在该组织中的成员关系。

你可以通过 API 给用户设置初始密码并分享给他们,也可以使用单点登录 (SSO) 对用户进行认证。 如果使用 SSO,你需要:

  • Litefuse Cloud:配置一个 Enterprise SSO provider(文档)。
  • 自托管:为你的 SSO provider 配置 AUTH_<PROVIDER>_ALLOW_ACCOUNT_LINKING,确保用户账号能够正确关联,参见 SSO 文档

可用的 SCIM endpoint 如下:

  • GET /ServiceProviderConfig
  • GET /ResourceTypes
  • GET /Schemas
  • GET /Users
  • POST /Users
  • GET /Users/{id}
  • DELETE /Users/{id}

SCIM 厂商指南

Okta

本指南将介绍如何为 Litefuse 配置 Okta 用户配置。首先,你需要先 通过 OIDC 配置认证

对于用户配置,Litefuse 支持 SCIM 2.0 协议。 要在 Okta 中设置用户配置,请按以下步骤操作:

  1. 创建一个 SAML/SCIM 应用
    • 登录 Okta 管理控制台。
    • 进入 Applications > Create App Integration
    • 选择 SAML 2.0 作为登录方式,点击 Next
    • 填写应用设置。请使用你的自托管域名或某个 Litefuse Cloud 域名。
      • App nameLitefuse SCIM
      • Single sign-on URLhttps://your-litefuse-domain.com(litefuse 使用 OIDC 进行认证,见上文,该字段不会被使用)
      • Audience URIlitefuse
    • 点击 Next,然后 Finish
  2. 配置 SCIM 设置
    • General 标签下,将 Provisioning 设置为 SCIM。
    • Provisioning 标签下,编辑你的 SCIM Connection
    • 输入凭证:
      • SCIM connector base URLhttps://your-litefuse-domain.com/api/public/scim
      • Unique identifier field for usersuserName
      • Supported provisioning actionsImport new Users and Profile UpdatesPush New UsersPush Profile Updates
      • Basic Auth - Username:使用你组织设置中的 public key。
      • Basic Auth - Password:使用你组织设置中的 private key。
    • 测试 API 凭证,然后点击 Save
  3. 配置 Provisioning
    • Provisioning 标签下,启用以下选项:
      • Create Users
      • Update User Attributes
      • Deactivate Users
    • 点击 Save
  4. 添加默认用户权限(可选):
    • Provisioning 标签下,进入 Profile Editor,并新增一个 roles 属性:
      • Data typestring array
      • Display Name:Litefuse Roles
      • Variable Nameroles
      • External Nameroles
      • External Namespaceurn:ietf:params:scim:schemas:core:2.0:User
      • Attribute membersNONEVIEWERMEMBERADMIN
      • Attribute typePersonal
    • Provisioning 标签下,修改 roles 属性以为新用户设置默认权限。
    • 你可以为该应用的所有用户设置一个默认值。可设置为 “NONE”、“VIEWER”、“MEMBER” 或 “ADMIN”。
  5. 分配用户
    • 进入 Assignments 标签。
    • 点击 Assign > Assign to People
    • 选择要分配给 Litefuse SCIM 应用的用户。你也可以在此覆盖角色。
    • 点击 Done,然后 Save
    • 用户应当以 Member 身份出现在你的 Litefuse 组织中。
故障排查
  • 用户被以 NONE/VIEWER 权限创建,而不是预期的 role:通常是因为 roles 属性的 attribute type 被设置为 Group,而非 Personal
这个页面对你有帮助吗?