그룹 엔터프라이즈 사용자 API
Offering: GitLab.com
이 API 엔드포인트를 사용하여 엔터프라이즈 사용자와 상호작용합니다. 이 API 엔드포인트는 최상위 그룹에만 작동합니다. 지정된 최상위 그룹의 모든 엔터프라이즈 사용자를 나열합니다. page 및 per_page 페이지네이션 매개변수를 사용하여 결과를 필터링합니다.
이 API 엔드포인트를 사용하여 엔터프라이즈 사용자와 상호작용합니다. 자세한 내용은 엔터프라이즈 사용자를 참조하세요.
이 API 엔드포인트는 최상위 그룹에만 작동합니다. 사용자가 그룹의 구성원일 필요는 없습니다.
사전 요구 사항:
- 최상위 그룹에서 Owner 역할이 있어야 합니다.
모든 엔터프라이즈 사용자 목록 조회#
히스토리
- GitLab 17.7에서 도입되었습니다.
지정된 최상위 그룹의 모든 엔터프라이즈 사용자를 나열합니다.
page 및 per_page 페이지네이션 매개변수를 사용하여 결과를 필터링합니다.
GET /groups/:id/enterprise_users
지원되는 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 최상위 그룹의 ID 또는 URL 인코딩된 경로. |
username |
문자열 | 아니요 | 지정된 사용자명을 가진 사용자를 반환합니다. |
search |
문자열 | 아니요 | 일치하는 이름, 이메일 또는 사용자명을 가진 사용자를 반환합니다. 부분 값을 사용하면 결과가 더 많이 반환됩니다. |
active |
불리언 | 아니요 | 활성 사용자만 반환합니다. |
blocked |
불리언 | 아니요 | 차단된 사용자만 반환합니다. |
created_after |
날짜시간 | 아니요 | 지정된 시간 이후에 생성된 사용자를 반환합니다. 형식: ISO 8601 (YYYY-MM-DDTHH:MM:SSZ). |
created_before |
날짜시간 | 아니요 | 지정된 시간 이전에 생성된 사용자를 반환합니다. 형식: ISO 8601 (YYYY-MM-DDTHH:MM:SSZ). |
two_factor |
문자열 | 아니요 | 이중 인증(2FA) 등록 상태를 기준으로 사용자를 반환합니다. 가능한 값: enabled, disabled. |
요청 예시:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/enterprise_users"
응답 예시:
[
{
"id": 66,
"username": "user22",
"name": "Sidney Jones22",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/xxx?s=80&d=identicon",
"web_url": "http://my.gitlab.com/user22",
"created_at": "2021-09-10T12:48:22.381Z",
"bio": "",
"location": null,
"public_email": "",
"linkedin": "",
"twitter": "",
"website_url": "",
"organization": null,
"job_title": "",
"pronouns": null,
"bot": false,
"work_information": null,
"followers": 0,
"following": 0,
"local_time": null,
"last_sign_in_at": null,
"confirmed_at": "2021-09-10T12:48:22.330Z",
"last_activity_on": null,
"email": "user22@example.org",
"theme_id": 1,
"color_scheme_id": 1,
"projects_limit": 100000,
"current_sign_in_at": null,
"identities": [
{
"provider": "group_saml",
"extern_uid": "2435223452345",
"saml_provider_id": 1
}
],
"can_create_group": true,
"can_create_project": true,
"two_factor_enabled": false,
"external": false,
"private_profile": false,
"commit_email": "user22@example.org",
"shared_runners_minutes_limit": null,
"extra_shared_runners_minutes_limit": null,
"scim_identities": [
{
"extern_uid": "2435223452345",
"group_id": 1,
"active": true
}
]
},
...
]
엔터프라이즈 사용자 조회#
히스토리
- GitLab 17.9에서 도입되었습니다.
지정된 엔터프라이즈 사용자를 조회합니다.
GET /groups/:id/enterprise_users/:user_id
지원되는 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 최상위 그룹의 ID 또는 URL 인코딩된 경로. |
user_id |
정수 | 예 | 사용자 계정의 ID. |
요청 예시:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/enterprise_users/:user_id"
응답 예시:
{
"id": 66,
"username": "user22",
"name": "Sidney Jones22",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/xxx?s=80&d=identicon",
"web_url": "http://my.gitlab.com/user22",
"created_at": "2021-09-10T12:48:22.381Z",
"bio": "",
"location": null,
"public_email": "",
"linkedin": "",
"twitter": "",
"website_url": "",
"organization": null,
"job_title": "",
"pronouns": null,
"bot": false,
"work_information": null,
"followers": 0,
"following": 0,
"local_time": null,
"last_sign_in_at": null,
"confirmed_at": "2021-09-10T12:48:22.330Z",
"last_activity_on": null,
"email": "user22@example.org",
"theme_id": 1,
"color_scheme_id": 1,
"projects_limit": 100000,
"current_sign_in_at": null,
"identities": [
{
"provider": "group_saml",
"extern_uid": "2435223452345",
"saml_provider_id": 1
}
],
"can_create_group": true,
"can_create_project": true,
"two_factor_enabled": false,
"external": false,
"private_profile": false,
"commit_email": "user22@example.org",
"shared_runners_minutes_limit": null,
"extra_shared_runners_minutes_limit": null,
"scim_identities": [
{
"extern_uid": "2435223452345",
"group_id": 1,
"active": true
}
]
}
엔터프라이즈 사용자 업데이트#
히스토리
- GitLab 18.6에서 도입되었습니다.
지정된 엔터프라이즈 사용자를 업데이트합니다.
PATCH /groups/:id/enterprise_users/:user_id
지원되는 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 최상위 그룹의 ID 또는 URL 인코딩된 경로. |
user_id |
정수 | 예 | 사용자 계정의 ID. |
name |
문자열 | 아니요 | 사용자 계정의 이름. |
email |
문자열 | 아니요 | 사용자 계정의 이메일 주소. 인증된 그룹 도메인의 이메일이어야 합니다. |
요청 예시:
curl --request PATCH --header "PRIVATE-TOKEN: <your_access_token>" --data "email=new-email@example.com" --data "name=New name" "https://gitlab.example.com/api/v4/groups/:id/enterprise_users/:user_id"
성공 시 200 OK를 반환합니다.
성공적인 응답 예시:
{
"id": 66,
"username": "user22",
"name": "New name",
"state": "active",
"avatar_url": "https://www.gravatar.com/avatar/xxx?s=80&d=identicon",
"web_url": "http://my.gitlab.com/user22",
"created_at": "2021-09-10T12:48:22.381Z",
"bio": "",
"location": null,
"public_email": "",
"linkedin": "",
"twitter": "",
"website_url": "",
"organization": null,
"job_title": "",
"pronouns": null,
"bot": false,
"work_information": null,
"followers": 0,
"following": 0,
"local_time": null,
"last_sign_in_at": null,
"confirmed_at": "2021-09-10T12:48:22.330Z",
"last_activity_on": null,
"email": "new-email@example.com",
"theme_id": 1,
"color_scheme_id": 1,
"projects_limit": 100000,
"current_sign_in_at": null,
"identities": [
{
"provider": "group_saml",
"extern_uid": "2435223452345",
"saml_provider_id": 1
}
],
"can_create_group": true,
"can_create_project": true,
"two_factor_enabled": false,
"external": false,
"private_profile": false,
"commit_email": "user22@example.org",
"shared_runners_minutes_limit": null,
"extra_shared_runners_minutes_limit": null,
"scim_identities": [
{
"extern_uid": "2435223452345",
"group_id": 1,
"active": true
}
]
}
기타 가능한 응답:
400 Bad Request: 유효성 검사 오류.403 Forbidden: 인증된 사용자가 Owner가 아닙니다.404 Not found: 사용자를 찾을 수 없습니다.
엔터프라이즈 사용자 삭제#
히스토리
- GitLab 18.3에서 도입되었습니다.
지정된 엔터프라이즈 사용자를 삭제합니다.
DELETE /groups/:id/enterprise_users/:user_id
지원되는 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 최상위 그룹의 ID 또는 URL 인코딩된 경로. |
user_id |
정수 | 예 | 사용자 계정의 ID. |
hard_delete |
불리언 | 아니요 | false이면 사용자를 삭제하고 기여 내용을 고스트 사용자로 이전합니다. true이면 사용자, 관련 기여 내용 및 사용자가 단독 소유한 그룹을 삭제합니다. 기본값: false. |
요청 예시:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/enterprise_users/:user_id"
성공 시 204 No content를 반환합니다.
기타 가능한 응답:
403 Forbidden: 인증된 사용자가 Owner가 아닙니다.404 Not found: 사용자를 찾을 수 없습니다.409 Conflict: 그룹의 단독 Owner인 사용자는 제거할 수 없습니다.
엔터프라이즈 사용자의 이중 인증 비활성화#
히스토리
- GitLab 17.9에서 도입되었습니다.
지정된 엔터프라이즈 사용자의 이중 인증(2FA)을 비활성화합니다.
PATCH /groups/:id/enterprise_users/:user_id/disable_two_factor
지원되는 속성:
| 속성 | 유형 | 필수 | 설명 |
|---|---|---|---|
id |
정수 또는 문자열 | 예 | 최상위 그룹의 ID 또는 URL 인코딩된 경로. |
user_id |
정수 | 예 | 사용자 계정의 ID. |
요청 예시:
curl --request PATCH --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/:id/enterprise_users/:user_id/disable_two_factor"
성공 시 204 No content를 반환합니다.
기타 가능한 응답:
400 Bad request: 지정된 사용자에게 2FA가 활성화되어 있지 않습니다.403 Forbidden: 인증된 사용자가 Owner가 아닙니다.404 Not found: 사용자를 찾을 수 없습니다.
