InfoGrab DocsInfoGrab Docs

그룹 액세스 토큰 API

요약

이 API를 사용하여 그룹 액세스 토큰을 다룹니다. 지정한 그룹의 모든 그룹 액세스 토큰을 조회합니다. last_used_ips 속성은 이 토큰으로 인증한 고유 IP 주소를 최대 5개까지 조회합니다. 지정한 그룹 액세스 토큰의 상세 정보를 조회합니다.

이 API를 사용하여 그룹 액세스 토큰을 다룹니다. 자세한 내용은 그룹 액세스 토큰을 참고합니다.

모든 그룹 액세스 토큰 조회#

히스토리

지정한 그룹의 모든 그룹 액세스 토큰을 조회합니다.

GET /groups/:id/access_tokens
GET /groups/:id/access_tokens?state=inactive
속성 유형 필수 설명
id integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
created_after datetime (ISO 8601) 아니요 지정하면 해당 시각 이후에 생성된 토큰을 반환합니다.
created_before datetime (ISO 8601) 아니요 지정하면 해당 시각 이전에 생성된 토큰을 반환합니다.
expires_after date (ISO 8601) 아니요 지정하면 해당 시각 이후에 만료되는 토큰을 반환합니다.
expires_before date (ISO 8601) 아니요 지정하면 해당 시각 이전에 만료되는 토큰을 반환합니다.
last_used_after datetime (ISO 8601) 아니요 지정하면 해당 시각 이후에 마지막으로 사용된 토큰을 반환합니다.
last_used_before datetime (ISO 8601) 아니요 지정하면 해당 시각 이전에 마지막으로 사용된 토큰을 반환합니다.
revoked boolean 아니요 true 이면 취소된 토큰만 반환합니다.
search string 아니요 지정하면 이름에 해당 값이 포함된 토큰을 반환합니다.
sort string 아니요 지정하면 해당 값을 기준으로 결과를 정렬합니다. 가능한 값: created_asc, created_desc, expires_asc, expires_desc, last_used_asc, last_used_desc, name_asc, name_desc.
state string 아니요 지정하면 해당 상태의 토큰을 반환합니다. 가능한 값: active, inactive.
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "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",
      "description": "Test Token description",
      "revoked" : false,
      "last_used_at": null,
      "last_used_ips": [],
      "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",
      "description": "Test Token description",
      "revoked" : true,
      "last_used_at": "2021-02-13T10:34:57.178Z",
      "last_used_ips": ["192.0.2.10"],
      "access_level": 40
   }
]
Note

last_used_ips 속성은 이 토큰으로 인증한 고유 IP 주소를 최대 5개까지 조회합니다. 한도에 도달하면 가장 오래된 IP 주소가 제거됩니다. 이 목록은 토큰마다 1분에 한 번 갱신됩니다.

그룹 액세스 토큰 상세 조회#

지정한 그룹 액세스 토큰의 상세 정보를 조회합니다.

GET /groups/:id/access_tokens/:token_id
속성 유형 required 설명
id integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
token_id integer or string 예 ID 입니다.
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "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",
   "description": "Test Token description",
   "revoked" : false,
   "access_level": 40,
   "last_used_at": null,
   "last_used_ips": []
}

그룹 액세스 토큰 생성#

지정한 그룹에 그룹 액세스 토큰을 생성합니다.

사전 요구 사항:

  • 그룹에 대한 Owner 권한이 있어야 합니다.
POST /groups/:id/access_tokens
속성 유형 required 설명
id integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
name String 예 토큰의 이름입니다.
description string 아니요 그룹 액세스 토큰의 설명입니다. 최대 255자입니다.
scopes Array[String] 예 토큰에 사용할 수 있는 스코프 목록입니다.
access_level Integer 아니요 토큰의 권한입니다. 가능한 값: 10(Guest), 15(Planner), 20(Reporter), 25(Security Manager), 30(Developer), 40(Maintainer), 50(Owner). 기본값: 40.
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 }' \
  --url "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",
   "description": "Test Token description",
   "user_id" : 166,
   "id" : 58,
   "expires_at" : "2021-01-31",
   "token" : "D4y...Wzr",
   "access_level": 30
}

그룹 액세스 토큰 회전#

지정한 그룹 액세스 토큰을 회전합니다. 이전 토큰은 즉시 취소되고 새 토큰이 생성됩니다. 일반적으로 이 엔드포인트는 개인 액세스 토큰으로 인증하여 특정 그룹 액세스 토큰을 회전합니다. 그룹 액세스 토큰이 자기 자신을 회전하도록 할 수도 있습니다. 자세한 내용은 자체 회전을 참고합니다.

이전에 취소된 토큰을 이 엔드포인트로 회전하려고 하면, 같은 토큰 계열의 활성 토큰이 모두 취소됩니다. 자세한 내용은 자동 재사용 탐지를 참고합니다.

사전 요구 사항:

POST /groups/:id/access_tokens/:token_id/rotate
속성 유형 required 설명
id integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
token_id integer or string 예 그룹 액세스 토큰의 ID 또는 self 키워드입니다.
expires_at date 아니요 액세스 토큰의 만료일이며 ISO 형식(YYYY-MM-DD)으로 지정합니다. 토큰에 만료일이 필요하면 기본값은 1주일입니다. 필요하지 않으면 토큰에는 만료일이 없습니다.
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "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",
    "description": "Test group access token",
    "scopes": ["api"],
    "user_id": 1337,
    "last_used_at": null,
    "last_used_ips": [],
    "active": true,
    "expires_at": "2023-08-15",
    "access_level": 30,
    "token": "s3cr3t"
}

성공하면 200: OK를 반환합니다.

그 밖에 가능한 응답은 다음과 같습니다.

  • 회전에 실패하면 400: Bad Request 입니다.
  • 다음 조건 중 하나라도 해당하면 401: Unauthorized 입니다.
    • 토큰이 존재하지 않습니다.
    • 토큰이 만료되었습니다.
    • 토큰이 취소되었습니다.
    • 지정한 토큰에 접근할 수 없습니다.
    • 그룹 액세스 토큰으로 다른 그룹 액세스 토큰을 회전하려고 합니다. 이 경우 자체 회전을 참고합니다.
  • 토큰이 자기 자신을 회전할 수 없으면 403: Forbidden 입니다.
  • 사용자가 관리자이지만 토큰이 존재하지 않으면 404: Not Found 입니다.
  • 토큰이 액세스 토큰이 아니면 405: Method Not Allowed 입니다.

자체 회전#

특정 그룹 액세스 토큰을 회전하는 대신, 요청 인증에 사용한 그룹 액세스 토큰 자체를 회전할 수 있습니다. 그룹 액세스 토큰을 자체 회전하려면 다음 조건을 충족해야 합니다.

요청 예시:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_group_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/<group_id>/access_tokens/self/rotate"

그룹 액세스 토큰 취소#

지정한 그룹 액세스 토큰을 취소합니다.

DELETE /groups/:id/access_tokens/:token_id
속성 유형 required 설명
id integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
token_id integer 예 그룹 액세스 토큰의 ID 입니다.
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/<group_id>/access_tokens/<token_id>"

성공하면 204 No content를 반환합니다.

그 밖에 가능한 응답은 다음과 같습니다.

  • 취소에 실패하면 400: Bad Request 입니다.
  • 액세스 토큰이 존재하지 않으면 404: Not Found 입니다.

그룹 액세스 토큰 API

GitLab v19.5
Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기

요약

이 API를 사용하여 그룹 액세스 토큰을 다룹니다. 지정한 그룹의 모든 그룹 액세스 토큰을 조회합니다. last_used_ips 속성은 이 토큰으로 인증한 고유 IP 주소를 최대 5개까지 조회합니다. 지정한 그룹 액세스 토큰의 상세 정보를 조회합니다.

이 API를 사용하여 그룹 액세스 토큰을 다룹니다. 자세한 내용은 그룹 액세스 토큰을 참고합니다.

모든 그룹 액세스 토큰 조회#

히스토리

지정한 그룹의 모든 그룹 액세스 토큰을 조회합니다.

GET /groups/:id/access_tokens
GET /groups/:id/access_tokens?state=inactive
속성 유형 필수 설명
id integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
created_after datetime (ISO 8601) 아니요 지정하면 해당 시각 이후에 생성된 토큰을 반환합니다.
created_before datetime (ISO 8601) 아니요 지정하면 해당 시각 이전에 생성된 토큰을 반환합니다.
expires_after date (ISO 8601) 아니요 지정하면 해당 시각 이후에 만료되는 토큰을 반환합니다.
expires_before date (ISO 8601) 아니요 지정하면 해당 시각 이전에 만료되는 토큰을 반환합니다.
last_used_after datetime (ISO 8601) 아니요 지정하면 해당 시각 이후에 마지막으로 사용된 토큰을 반환합니다.
last_used_before datetime (ISO 8601) 아니요 지정하면 해당 시각 이전에 마지막으로 사용된 토큰을 반환합니다.
revoked boolean 아니요 true 이면 취소된 토큰만 반환합니다.
search string 아니요 지정하면 이름에 해당 값이 포함된 토큰을 반환합니다.
sort string 아니요 지정하면 해당 값을 기준으로 결과를 정렬합니다. 가능한 값: created_asc, created_desc, expires_asc, expires_desc, last_used_asc, last_used_desc, name_asc, name_desc.
state string 아니요 지정하면 해당 상태의 토큰을 반환합니다. 가능한 값: active, inactive.
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "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",
      "description": "Test Token description",
      "revoked" : false,
      "last_used_at": null,
      "last_used_ips": [],
      "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",
      "description": "Test Token description",
      "revoked" : true,
      "last_used_at": "2021-02-13T10:34:57.178Z",
      "last_used_ips": ["192.0.2.10"],
      "access_level": 40
   }
]
Note

last_used_ips 속성은 이 토큰으로 인증한 고유 IP 주소를 최대 5개까지 조회합니다. 한도에 도달하면 가장 오래된 IP 주소가 제거됩니다. 이 목록은 토큰마다 1분에 한 번 갱신됩니다.

그룹 액세스 토큰 상세 조회#

지정한 그룹 액세스 토큰의 상세 정보를 조회합니다.

GET /groups/:id/access_tokens/:token_id
속성 유형 required 설명
id integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
token_id integer or string 예 ID 입니다.
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "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",
   "description": "Test Token description",
   "revoked" : false,
   "access_level": 40,
   "last_used_at": null,
   "last_used_ips": []
}

그룹 액세스 토큰 생성#

지정한 그룹에 그룹 액세스 토큰을 생성합니다.

사전 요구 사항:

  • 그룹에 대한 Owner 권한이 있어야 합니다.
POST /groups/:id/access_tokens
속성 유형 required 설명
id integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
name String 예 토큰의 이름입니다.
description string 아니요 그룹 액세스 토큰의 설명입니다. 최대 255자입니다.
scopes Array[String] 예 토큰에 사용할 수 있는 스코프 목록입니다.
access_level Integer 아니요 토큰의 권한입니다. 가능한 값: 10(Guest), 15(Planner), 20(Reporter), 25(Security Manager), 30(Developer), 40(Maintainer), 50(Owner). 기본값: 40.
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 }' \
  --url "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",
   "description": "Test Token description",
   "user_id" : 166,
   "id" : 58,
   "expires_at" : "2021-01-31",
   "token" : "D4y...Wzr",
   "access_level": 30
}

그룹 액세스 토큰 회전#

지정한 그룹 액세스 토큰을 회전합니다. 이전 토큰은 즉시 취소되고 새 토큰이 생성됩니다. 일반적으로 이 엔드포인트는 개인 액세스 토큰으로 인증하여 특정 그룹 액세스 토큰을 회전합니다. 그룹 액세스 토큰이 자기 자신을 회전하도록 할 수도 있습니다. 자세한 내용은 자체 회전을 참고합니다.

이전에 취소된 토큰을 이 엔드포인트로 회전하려고 하면, 같은 토큰 계열의 활성 토큰이 모두 취소됩니다. 자세한 내용은 자동 재사용 탐지를 참고합니다.

사전 요구 사항:

POST /groups/:id/access_tokens/:token_id/rotate
속성 유형 required 설명
id integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
token_id integer or string 예 그룹 액세스 토큰의 ID 또는 self 키워드입니다.
expires_at date 아니요 액세스 토큰의 만료일이며 ISO 형식(YYYY-MM-DD)으로 지정합니다. 토큰에 만료일이 필요하면 기본값은 1주일입니다. 필요하지 않으면 토큰에는 만료일이 없습니다.
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "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",
    "description": "Test group access token",
    "scopes": ["api"],
    "user_id": 1337,
    "last_used_at": null,
    "last_used_ips": [],
    "active": true,
    "expires_at": "2023-08-15",
    "access_level": 30,
    "token": "s3cr3t"
}

성공하면 200: OK를 반환합니다.

그 밖에 가능한 응답은 다음과 같습니다.

  • 회전에 실패하면 400: Bad Request 입니다.
  • 다음 조건 중 하나라도 해당하면 401: Unauthorized 입니다.
    • 토큰이 존재하지 않습니다.
    • 토큰이 만료되었습니다.
    • 토큰이 취소되었습니다.
    • 지정한 토큰에 접근할 수 없습니다.
    • 그룹 액세스 토큰으로 다른 그룹 액세스 토큰을 회전하려고 합니다. 이 경우 자체 회전을 참고합니다.
  • 토큰이 자기 자신을 회전할 수 없으면 403: Forbidden 입니다.
  • 사용자가 관리자이지만 토큰이 존재하지 않으면 404: Not Found 입니다.
  • 토큰이 액세스 토큰이 아니면 405: Method Not Allowed 입니다.

자체 회전#

특정 그룹 액세스 토큰을 회전하는 대신, 요청 인증에 사용한 그룹 액세스 토큰 자체를 회전할 수 있습니다. 그룹 액세스 토큰을 자체 회전하려면 다음 조건을 충족해야 합니다.

요청 예시:

curl --request POST \
  --header "PRIVATE-TOKEN: <your_group_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/<group_id>/access_tokens/self/rotate"

그룹 액세스 토큰 취소#

지정한 그룹 액세스 토큰을 취소합니다.

DELETE /groups/:id/access_tokens/:token_id
속성 유형 required 설명
id integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
token_id integer 예 그룹 액세스 토큰의 ID 입니다.
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/<group_id>/access_tokens/<token_id>"

성공하면 204 No content를 반환합니다.

그 밖에 가능한 응답은 다음과 같습니다.

  • 취소에 실패하면 400: Bad Request 입니다.
  • 액세스 토큰이 존재하지 않으면 404: Not Found 입니다.