그룹 액세스 토큰 API

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

그룹 액세스 토큰에 대해 더 읽어보세요.

그룹 액세스 토큰 디렉터리

그룹 액세스 토큰 디렉터리을 가져옵니다.

GET groups/:id/access_tokens
속성 유형 필수 설명
id integer 또는 string 그룹의 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
   }
]

그룹 액세스 토큰 가져오기

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
}

그룹 액세스 토큰 생성

  • GitLab 14.7에서 도입되었습니다.
  • expires_at 속성의 기본값은 GitLab 16.0에서 도입되었습니다.

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

POST groups/:id/access_tokens
속성 유형 필수 설명
id integer 또는 string 그룹의 ID 또는 URL 인코딩된 경로
name String 그룹 액세스 토큰의 이름
scopes Array[String] 그룹 액세스 토큰의 스코프 디렉터리
access_level Integer 아니오 액세스 레벨. 유효한 값은 10 (게스트), 20 (보고자), 30 (개발자), 40 (유지관리자), 50 (소유자)
expires_at Date 액세스 토큰의 만료 날짜. 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.6 이상에서는 expires_at 매개변수를 사용하여 다른 만료 날짜를 설정할 수 있습니다. 이 기본 이외의 만료 날짜는 회전 날짜로부터 최대 1년까지 설정할 수 있습니다.

POST /groups/:id/access_tokens/:token_id/rotate
속성 유형 필수 설명
id integer 또는 string 그룹의 ID 또는 URL 인코딩된 경로
token_id integer 액세스 토큰의 ID
expires_at date 아니오 액세스 토큰의 만료 날짜. ISO 형식 (YYYY-MM-DD)로 지정합니다. GitLab 16.6에서 도입되었습니다.
note
관리자가 아닌 사용자는 자신의 토큰을 회전할 수 있습니다. 관리자는 그룹의 모든 사용자의 토큰을 회전할 수 있습니다.
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를 반환합니다.
  • 해당 ID의 토큰에 대한 액세스 권한이 없는 경우 또는 해당 ID의 토큰이 존재하지 않는 경우 401: Unauthorized를 반환합니다.
  • 사용자가 관리자이지만 해당 ID의 토큰이 없는 경우 404: Not Found를 반환합니다.

자동 재사용 감지

추가 정보는 개인 액세스 토큰의 자동 재사용 감지를 참조하십시오.

그룹 액세스 토큰 폐기

그룹 액세스 토큰을 폐기합니다.

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 반환