Help us learn about your current experience with the documentation. Take the survey.
SCIM API
- 等级:Premium, Ultimate
- 提供:GitLab.com
使用此 API 管理群组中的 SCIM 身份。
先决条件:
- 必须启用 群组 SSO。
- 必须启用 群组 SSO 的 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"
}