Help us learn about your current experience with the documentation. Take the survey.

SCIM API

  • 等级:Premium, Ultimate
  • 提供:GitLab.com

使用此 API 管理群组中的 SCIM 身份。

先决条件:

此 API 与 内部群组 SCIM API内部实例 SCIM API 不同,后两者都需要 SCIM 令牌。

  • 此 API:

    • 不实现 RFC7644 协议
    • 获取、检查、更新和删除群组内的 SCIM 身份。
  • 内部群组和实例 SCIM API:

    • 用于系统 SCIM 提供商集成。
    • 实现 RFC7644 协议
    • 获取群组或实例的 SCIM 预配用户列表。
    • 创建、删除和更新群组或实例的 SCIM 预配用户。

获取群组的 SCIM 身份

GET /groups/:id/scim/identities

支持的属性:

属性 类型 必需 描述
id integer/string 群组的 ID 或 URL 编码路径

如果成功,返回 200 和以下响应属性:

属性 类型 描述
extern_uid string 用户的外部 UID
user_id integer 用户的 ID
active boolean 身份的状态

示例响应:

[
    {
        "extern_uid": "be20d8dcc028677c931e04f387",
        "user_id": 48,
        "active": true
    }
]

示例请求:

curl --location --request GET \
  --url "https://gitlab.example.com/api/v4/groups/33/scim/identities" \
  --header "PRIVATE-TOKEN: <PRIVATE-TOKEN>"

获取单个 SCIM 身份

GET /groups/:id/scim/:uid

支持的属性:

属性 类型 必需 描述
id integer 群组的 ID 或 URL 编码路径
uid string 用户的外部 UID。

示例请求:

curl --location --request GET \
  --url "https://gitlab.example.com/api/v4/groups/33/scim/be20d8dcc028677c931e04f387" \
  --header "PRIVATE-TOKEN: <PRIVATE TOKEN>"

示例响应:

{
    "extern_uid": "be20d8dcc028677c931e04f387",
    "user_id": 48,
    "active": true
}

更新 SCIM 身份的 extern_uid 字段

可更新的字段有:

SCIM/IdP 字段 GitLab 字段
id/externalId extern_uid
PATCH /groups/:groups_id/scim/:uid

参数:

属性 类型 必需 描述
id integer/string 群组的 ID 或 URL 编码路径
uid string 用户的外部 UID。

示例请求:

curl --location --request PATCH \
  --url "https://gitlab.example.com/api/v4/groups/33/scim/be20d8dcc028677c931e04f387" \
  --header "PRIVATE-TOKEN: <PRIVATE TOKEN>" \
  --form "extern_uid=yrnZW46BrtBFqM7xDzE7dddd"

删除单个 SCIM 身份

DELETE /groups/:id/scim/:uid

支持的属性:

属性 类型 必需 描述
id integer 群组的 ID 或 URL 编码路径
uid string 用户的外部 UID。

示例请求:

curl --location --request DELETE \
  --url "https://gitlab.example.com/api/v4/groups/33/scim/yrnZW46BrtBFqM7xDzE7dddd" \
  --header "PRIVATE-TOKEN: <your_access_token>"

示例响应:

{
    "message" : "204 No Content"
}