그룹 액세스 토큰 API
Offering: GitLab.com, Self-managed, GitLab Dedicated
그룹 액세스 토큰에 대해 자세히 알아보세요.
그룹 액세스 토큰 목록
state
속성이 GitLab 17.2에서 도입되었습니다.
그룹 액세스 토큰 목록을 가져옵니다.
GitLab 17.2 및 이후 버전에서 state
속성을 사용하여 지정된 상태의 그룹 액세스 토큰으로 응답을 제한할 수 있습니다.
GET /groups/:id/access_tokens
GET /groups/:id/access_tokens?state=inactive
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
integer 또는 string | 예 | 그룹의 ID 또는 URL 인코딩된 경로 |
state |
string | 아니오 | 지정된 상태의 토큰으로 결과를 제한합니다. 유효한 값은 active 및 inactive 입니다. 기본적으로 두 상태 모두 반환됩니다. |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/<group_id>/access_tokens"
[
{
"user_id" : 141,
"scopes" : [
"api"
],
"name" : "token",
"expires_at" : "2021-01-31",
"id" : 42,
"active" : true,
"created_at" : "2021-01-20T22:11:48.151Z",
"revoked" : false,
"last_used_at": null,
"access_level": 40
},
{
"user_id" : 141,
"scopes" : [
"read_api"
],
"name" : "token-2",
"expires_at" : "2021-01-31",
"id" : 43,
"active" : false,
"created_at" : "2021-01-21T12:12:38.123Z",
"revoked" : true,
"last_used_at": "2021-02-13T10:34:57.178Z",
"access_level": 40
}
]
그룹 액세스 토큰 가져오기
ID로 그룹 액세스 토큰을 가져옵니다.
GET /groups/:id/access_tokens/:token_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
integer 또는 string | 예 | 그룹의 ID 또는 URL 인코딩된 경로 |
token_id |
integer | 예 | 그룹 액세스 토큰의 ID |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/<group_id>/access_tokens/<token_id>"
{
"user_id" : 141,
"scopes" : [
"api"
],
"name" : "token",
"expires_at" : "2021-01-31",
"id" : 42,
"active" : true,
"created_at" : "2021-01-20T22:11:48.151Z",
"revoked" : false,
"access_level": 40
}
그룹 접근 토큰 생성
expires_at
속성 기본값은 도입됨 GitLab 16.0에서.
그룹 접근 토큰을 생성합니다. 그룹의 소유자 역할이 있어야 그룹 접근 토큰을 생성할 수 있습니다.
POST /groups/:id/access_tokens
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 또는 문자열 | 예 | 그룹의 ID 또는 URL 인코딩된 경로 |
name |
문자열 | 예 | 그룹 접근 토큰의 이름 |
scopes |
Array[String] |
예 | 범위 목록 |
access_level |
정수 | 아니오 | 접근 수준. 유효한 값은 10 (Guest), 20 (Reporter), 30 (Developer), 40 (Maintainer), 50 (Owner)입니다. |
expires_at |
날짜 | 예 | ISO 형식(YYYY-MM-DD )의 접근 토큰 만료 날짜. 날짜는 접근 토큰의 최대 허용 수명보다 늦게 설정할 수 없습니다. |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" \
--header "Content-Type:application/json" \
--data '{ "name":"test_token", "scopes":["api", "read_repository"], "expires_at":"2021-01-31", "access_level": 30 }' \
"https://gitlab.example.com/api/v4/groups/<group_id>/access_tokens"
{
"scopes" : [
"api",
"read_repository"
],
"active" : true,
"name" : "test",
"revoked" : false,
"created_at" : "2021-01-21T19:35:37.921Z",
"user_id" : 166,
"id" : 58,
"expires_at" : "2021-01-31",
"token" : "D4y...Wzr",
"access_level": 30
}
그룹 접근 토큰 회전
- 도입됨 GitLab 16.0에서
선행 조건:
- API 범위를 가진 개인 접근 토큰을 가져야 합니다.
그룹 접근 토큰을 회전합니다. 이전 토큰을 무효화하고 일주일 후 만료되는 새 토큰을 생성합니다.
GitLab 16.6 이상에서는 expires_at
매개변수를 사용하여 다른 만료 날짜를 설정할 수 있습니다. 이 비기본 만료 날짜는 회전 날짜로부터 최대 1년이 될 수 있습니다.
POST /groups/:id/access_tokens/:token_id/rotate
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 또는 문자열 | 예 | 그룹의 ID 또는 URL 인코딩된 경로 |
token_id |
정수 | 예 | 접근 토큰의 ID |
expires_at |
날짜 | 아니오 | ISO 형식(YYYY-MM-DD )의 접근 토큰 만료 날짜. 도입됨 GitLab 16.6에서. |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/<group_id>/access_tokens/<token_id>/rotate"
예시 응답:
{
"id": 42,
"name": "Rotated Token",
"revoked": false,
"created_at": "2023-08-01T15:00:00.000Z",
"scopes": ["api"],
"user_id": 1337,
"last_used_at": null,
"active": true,
"expires_at": "2023-08-15",
"access_level": 30,
"token": "s3cr3t"
}
응답
-
200: OK
기존 토큰이 성공적으로 철회되고 새 토큰이 생성된 경우. -
400: Bad Request
성공적으로 회전되지 않은 경우. -
401: Unauthorized
다음 중 하나일 경우:- 사용자가 지정된 ID의 토큰에 접근할 수 없습니다.
- 지정된 ID의 토큰이 존재하지 않습니다.
-
404: Not Found
사용자가 관리자인 경우지만 지정된 ID의 토큰이 존재하지 않습니다.
자동 재사용 감지
개인 액세스 토큰의 자동 재사용 감지에 대한 자세한 내용은 여기에서 확인하세요.
그룹 액세스 토큰 철회
그룹 액세스 토큰을 철회합니다.
DELETE /groups/:id/access_tokens/:token_id
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 또는 문자열 | 예 | 그룹의 ID 또는 URL 인코딩된 경로 |
token_id |
정수 | 예 | 그룹 액세스 토큰의 ID |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/<group_id>/access_tokens/<token_id>"
응답
-
204: No Content
성공적으로 철회된 경우. -
400 Bad Request
또는404 Not Found
성공적으로 철회되지 않은 경우.