그룹 액세스 토큰 API

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

그룹 액세스 토큰에 대해 더 알아보세요.

그룹 액세스 토큰 목록

  • GitLab 14.7에 도입됨.

그룹 액세스 토큰 목록을 가져옵니다.

GET groups/:id/access_tokens
속성 유형 필수여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL-인코딩된 경로
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,
      "access_level": 40
   }
]

그룹 액세스 토큰 가져오기

  • GitLab 14.10에 도입됨.

ID로 그룹 액세스 토큰을 가져옵니다.

GET groups/:id/access_tokens/:token_id
속성 유형 필수여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL-인코딩된 경로
token_id 정수 그룹 액세스 토큰의 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
}

그룹 액세스 토큰 생성

그룹 액세스 토큰을 생성합니다. 그룹 소유자 역할이어야만 그룹 액세스 토큰을 생성할 수 있습니다.

POST groups/:id/access_tokens
속성 유형 필수여부 설명
id 정수 또는 문자열 그룹의 ID 또는 URL-인코딩된 경로
name 문자열 그룹 액세스 토큰의 이름
scopes Array[String] 그룹 액세스 토큰의 스코프 목록
access_level 정수 아니요 액세스 레벨. 유효한 값은 10 (게스트), 20 (기록자), 30 (개발자), 40 (유지관리자), 50 (소유자)입니다.
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
}

그룹 접근 토큰 회전

전제 조건:

그룹 접근 토큰을 회전합니다. 이전 토큰을 폐기하고 1주일 후에 만료되는 새 토큰을 생성합니다.

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 : 폐기에 실패한 경우