使用 SCIM 配置用户和群组

在此帮助文档中

你可以使用跨域身份管理系统 (SCIM) API 标准在 Notion 工作空间中配置和管理用户与群组 🔑


注意: 此功能仅适用于企业版用户。

Notion 的 SCIM API 允许你执行以下操作:

用户配置与管理

  • 在工作空间中创建和移除成员。

  • 更新成员的档案信息。

  • 检索工作空间中的成员。

  • 通过(电子)邮件或姓名查找成员。

群组配置与管理

  • 在工作空间中创建和移除群组。

  • 在群组中添加和移除成员。

  • 检索工作空间中的群组。

  • 按名称查找群组。

注意:目前,你无法使用 Notion 的 SCIM API 管理工作空间访客

我们目前支持 Okta、OneLogin、Rippling 和自定义 SCIM 应用程序。如果你使用其他身份提供商,请告知我们。查看特定应用程序的身份提供商设置指令 此处 →

Notion SCIM 的前置要求

要将 SCIM 与 Notion 配合使用:

  • 您的工作区必须使用企业版。

  • 你的身份提供商 (IdP) 必须支持 SAML 2.0 协议。查看特定应用程序的身份提供商设置指令 此处 →

  • 工作空间所有者必须为 Notion 工作空间配置 SCIM。

  • 如果你想使用 SCIM 修改用户的姓名或(电子)邮件地址,则必须验证对邮件域名的所有权。了解更多关于域名验证的信息 →

生成你的 SCIM API 令牌

只有企业版 组织所有者 才能生成和查看 SCIM API 令牌。若要创建 SCIM API 令牌:

  1. 打开工作空间切换(器)并选择 管理组织。如果您尚未设置组织,可能需要先执行 设置组织。点击 here → 了解更多。

  2. 在你的组织级控件的 常规 选项卡中,选择 SCIM 配置 旁边的 >

注意:对于你想通过 SCIM 管理的每个工作空间,必须生成一个单独的 SCIM API 令牌。

撤销令牌

当工作空间所有者离开工作空间或其角色发生变更时,其令牌将被撤销。发生这种情况时,系统会自动向其余工作空间所有者发送消息,通知他们替换已撤销的令牌。

此外,任何工作空间所有者均可撤销工作空间中的活动令牌。若要撤销令牌,请点击相应令牌旁边的 🗑

替换现有令牌

如果令牌被撤销,您需要在任何现有集成中对其进行替换。

任何依赖于已撤销令牌的 SCIM 集成和用户配置的操作都将被禁用,直到其被活动令牌替换为止。

注意:为避免中断现有集成,请确保在取消配置管理员之前替换所有与该管理员关联的令牌。

禁止发送邀请(电子)邮件

若要控制用户在通过 SCIM 进行配置时是否会通过(电子)邮件收到工作空间和群组的邀请,企业版组织所有者可以:

  1. 打开工作空间切换(器)并选择 管理组织

  2. 常规 选项卡中,如果你不想向用户发送(电子)邮件,请启用 禁止 SCIM 配置发送邀请(电子)邮件

通过 SCIM 配置受限成员

若要通过 SCIM 配置 受限成员,您必须将 SCIM 的“role”属性设置为“restricted_member”:

\"urn:ietf:params:scim:schemas:extension:notion:2.0:User\": { role: string // \"owner\" | \"membership_admin\" | \"member\" | \"restricted_member\" }

若要通过 SCIM 将页面访客转换为受限成员,你必须使用 POST /scim/v2/Users

下表概述了 SCIM 用户属性与 Notion 用户档案字段之间的映射。组织所有者可以选择要发送给 Notion 的属性,并可随时更新这些属性。Notion 会处理你通过 Notion SCIM API 发送的属性,以改善配置和管理用户及群组的体验。

SCIM 属性

Notion 用户档案字段

外部命名空间

userName

电子邮件(此项必填)

urn:ietf:params:scim:schemas:core:2.0:User

name.formatted

姓名(推荐的姓名字段。由于 Notion 只有一个姓名字段,你可以在 Okta 中创建一个表达式来组合任何姓名字段。)

urn:ietf:params:scim:schemas:core:2.0:User

name.familyName

姓名(可与 name.givenName 结合使用,作为 name.formatted 的替代方案。)

urn:ietf:params:scim:schemas:core:2.0:User

name.givenName

姓名(可与 name.familyName 结合使用,作为 name.formatted 的替代方案。)

urn:ietf:params:scim:schemas:core:2.0:User

照片

档案照片

urn:ietf:params:scim:schemas:core:2.0:User

职称

标题

urn:ietf:params:scim:schemas:core:2.0:User

phoneNumbers

电话号码

urn:ietf:params:scim:schemas:core:2.0:User

地址

地址

urn:ietf:params:scim:schemas:core:2.0:User

角色

角色

urn:ietf:params:scim:schemas:core:2.0:User

区域设置

区域设置

urn:ietf:params:scim:schemas:core:2.0:User

首选语言

首选语言

urn:ietf:params:scim:schemas:core:2.0:User

userType

用户类型

urn:ietf:params:scim:schemas:core:2.0:User

电子邮件

电子邮件地址

urn:ietf:params:scim:schemas:core:2.0:User

已启用

活跃

urn:ietf:params:scim:schemas:core:2.0:User

manager.value

经理(这应该是一个电子邮件地址)

urn:ietf:params:scim:schemas:extension:enterprise:2.0:User

manager.displayName

经理

urn:ietf:params:scim:schemas:extension:enterprise:2.0:User

部门

部门

urn:ietf:params:scim:schemas:extension:enterprise:2.0:User

部门

部门

urn:ietf:params:scim:schemas:extension:enterprise:2.0:User

costCenter

成本中心

urn:ietf:params:scim:schemas:extension:enterprise:2.0:User

组织

组织

urn:ietf:params:scim:schemas:extension:enterprise:2.0:User

employeeNumber

员工编号

urn:ietf:params:scim:schemas:extension:enterprise:2.0:User

职位

Notion 工作空间角色(“owner” | “membership_admin” | “member”)

urn:ietf:params:scim:schemas:extension:notion:2.0:Use

注意: Notion 仅存储 primary=true 的第一个 phoneNumbers 条目。所有其他条目都将被丢弃。type 字段会被完全忽略。请注意,primary 不属于 SCIM 2.0 规范的一部分——Notion 对其处理方式与标准不同。如果没有条目设置了 primary=true,则不会存储任何电话号码。

  • GET /Users

    • GET

    • 检索工作空间成员的分页列表。

    • 你可以使用 startIndexcount 参数进行分页。请注意,startIndex 从 1 开始计数,count 最大值为 100。

    • 你可以使用 filter 参数过滤结果。可用于过滤的有效属性包括 emailgiven_namefamily_name,例如 GET

    • 请注意,given_namefamily_name 区分大小写。电子邮件会被转换为小写。

  • GET /Users/

    • GET

    • 通过 Notion 用户 ID 检索特定的工作空间成员。这将是一个 32 字符的 UUID,格式如下:00000000-0000-0000-0000-000000000000

    • 请注意,meta.createdmeta.lastModified 不反映有意义的时间戳值。

  • POST /Users

    • POST

    • 如果你要添加的用户已经拥有相同电子邮件的 Notion 用户帐户,则他们将被添加到你的工作空间中。

    • 如果用户不存在,调用此接口将创建一个新的 Notion 用户,并将该用户添加到你的工作空间中;随后,他们会映射到所创建的 Notion 用户档案。

    • SCIM API 将在创建用户时读取档案照片属性,但在后续更新时不会读取。

  • PATCH /Users/

    • PATCH

    • 通过一系列操作进行更新,并返回更新后的用户记录。

注意:只有在验证了用户(电子)邮件域所有权后,你才能更新成员的档案信息(这通常与为 Notion 配置 SAML 单点登录所用的(电子)邮件域相同)。请按照此处的指令验证你的域 →

  • PUT /Users/

    • PUT

    • 更新,并返回更新后的用户记录。

  • DELETE /Users/

    • DELETE

    • 从你的工作空间中删除用户。该用户将从所有活动会话中注销。

      • 无法通过 SCIM 删除用户帐户。帐户删除必须手动完成。

      • 你也可以通过发送 PATCH /Users/PUT /Users/ 请求,将 active 用户属性设置为 false,从而将用户从你的工作空间中移除。

      • 创建 SCIM 机器人令牌的工作空间所有者无法通过 API 移除。当工作空间所有者通过 SCIM API 被移除时,他们创建的任何令牌都会被撤销,且使用该机器人的任何集成都将中断。

注意:你可以使用 role 属性为 用户 分配工作空间级别,该属性是现有用户架构的扩展。格式如下:

\"urn:ietf:params:scim:schemas:extension:notion:2.0:User\": { role: string // \"owner\" | \"membership_admin\" | \"member\" }

  • GET /Groups

    • GET

    • 检索工作空间群组的分页列表。

    • 你可以使用 startIndexcount 参数进行分页。请注意,startIndex 从 1 开始计数,count 的最大值为 100,例如 GET

      • 如果不使用分页,单次请求最多返回 100 个工作空间群组。

    • 你可以使用 filter 参数过滤结果。群组可以按其 displayName 属性进行过滤,例如 GET

  • GET /Groups/

    • GET

    • 通过 Notion 群组 ID 检索特定的工作空间群组。该 ID 为一个 32 字符的 UUID,格式如下:00000000-0000-0000-0000-000000000000

  • POST /Groups

    • POST

    • 创建新工作空间群组。

  • PATCH /Groups/

    • PATCH

    • 通过一系列操作更新工作空间群组。

  • PUT /Groups/

    • PUT

    • 更新工作空间群组。

  • DELETE /Groups/

    • DELETE

    • 删除工作空间群组。

注意:如果删除群组会导致无人对一个或多个页面拥有全部权限,则禁止删除该群组。


给予反馈

这个资源有帮助吗?


Powered by Fruition