그룹 서비스 계정
REST API를 사용하여 서비스 계정과 상호작용합니다.
필수 조건:
- 당신은 Self-managed 인스턴스의 관리자이거나, GitLab.com 그룹의 소유자 역할을 가져야 합니다.
서비스 계정 사용자 목록
- GitLab 17.1에서 도입됨.
그룹에서 프로비저닝한 모든 서비스 계정 사용자를 나열합니다.
이 함수는 사용자 목록을 제한하기 위해 page
및 per_page
페이지 매개변수를 사용합니다.
GET /groups/:id/service_accounts
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
integer/string | 예 | 대상 그룹의 ID 또는 URL 인코딩 경로. |
order_by |
string | 아니요 | 사용자를 username 또는 id 로 정렬합니다. 기본값은 id 입니다. |
sort |
string | 아니요 |
asc 또는 desc 로 정렬을 지정합니다. 기본값은 desc 입니다. |
예제 요청:
curl --request GET --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/345/service_accounts"
예제 응답:
[
{
"id": 57,
"username": "service_account_group_345_<random_hash>",
"name": "Service account user"
},
{
"id": 58,
"username": "service_account_group_346_<random_hash>",
"name": "Service account user"
}
]
서비스 계정 사용자 생성
서비스 계정 사용자를 생성합니다.
이 API 엔드포인트는 최상위 그룹에서만 작동합니다. 하위 그룹에서는 작동하지 않습니다.
POST /groups/:id/service_accounts
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
integer/string | 예 | 대상 그룹의 ID 또는 URL 인코딩 경로. |
name |
string | 아니요 | 사용자의 이름. 지정되지 않은 경우 기본 Service account user 이름이 사용됩니다. |
username |
string | 아니요 | 사용자의 사용자 이름. 지정되지 않은 경우 자동으로 생성됩니다. |
예제 요청:
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/345/service_accounts"
예제 응답:
{
"id": 57,
"username": "service_account_group_345_6018816a18e515214e0c34c2b33523fc",
"name": "Service account user"
}
서비스 계정 사용자 삭제
- 도입됨 GitLab 17.1에서.
서비스 계정 사용자를 삭제합니다.
이 API 엔드포인트는 최상위 그룹에서만 작동합니다. 하위 그룹에서는 작동하지 않습니다.
DELETE /groups/:id/service_accounts/:user_id
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
integer/string | 예 | 대상 그룹의 ID 또는 URL 인코딩 경로입니다. |
user_id |
integer | 예 | 서비스 계정 사용자의 ID입니다. |
hard_delete |
boolean | 아니요 | true인 경우, 일반적으로 Ghost 사용자로 이동되는 기여가 삭제되며, 이 서비스 계정 사용자가 단독으로 소유한 그룹도 삭제됩니다. |
예제 요청:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/345/service_accounts/181"
서비스 계정 사용자에 대한 개인 액세스 토큰 생성
- 도입됨 GitLab 16.1에서.
이 API 엔드포인트는 최상위 그룹에서만 작동합니다. 하위 그룹에서는 작동하지 않습니다.
POST /groups/:id/service_accounts/:user_id/personal_access_tokens
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
integer/string | 예 | 대상 그룹의 ID 또는 URL 인코딩 경로입니다. |
user_id |
integer | 예 | 서비스 계정 사용자의 ID입니다. |
name |
string | 예 | 개인 액세스 토큰의 이름입니다. |
scopes |
array | 예 | 개인 액세스 토큰의 범위 배열입니다. 개인 액세스 토큰 범위를 참조하여 가능한 값을 확인하세요. |
expires_at |
date | 아니요 | 개인 액세스 토큰 만료 날짜입니다. 비워두면, 토큰은 개인 액세스 토큰에 대한 표준 만료 규칙을 따릅니다. 만료일이 없도록 지정하려면 이 값을 null 로 설정하세요. |
예제 요청:
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/35/service_accounts/71/personal_access_tokens" --data "scopes[]=api,read_user,read_repository" --data "name=service_accounts_token"
예제 응답:
{
"id":6,
"name":"service_accounts_token",
"revoked":false,
"created_at":"2023-06-13T07:47:13.900Z",
"scopes":["api"],
"user_id":71,
"last_used_at":null,
"active":true,
"expires_at":"2024-06-12",
"token":"<token_value>"
}
서비스 계정 사용자의 개인 액세스 토큰 회전
- GitLab 16.1에서 도입됨.
이 API 엔드포인트는 최상위 그룹에서만 작동합니다. 하위 그룹에서는 작동하지 않습니다.
POST /groups/:id/service_accounts/:user_id/personal_access_tokens/:token_id/rotate
매개변수:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수/문자열 | 예 | 대상 그룹의 ID 또는 URL 인코딩된 경로입니다. |
user_id |
정수 | 예 | 서비스 계정 사용자의 ID입니다. |
token_id |
정수 | 예 | 토큰의 ID입니다. |
예시 요청:
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/35/service_accounts/71/personal_access_tokens/6/rotate"
예시 응답:
{
"id":7,
"name":"service_accounts_token",
"revoked":false,
"created_at":"2023-06-13T07:54:49.962Z",
"scopes":["api"],
"user_id":71,
"last_used_at":null,
"active":true,
"expires_at":"2023-06-20",
"token":"<token_value>"
}