InfoGrab Docs

그룹 액세스 토큰 API

요약

이 API를 사용하여 그룹 액세스 토큰을 관리합니다. 그룹의 모든 그룹 액세스 토큰을 나열합니다. 그룹 액세스 토큰의 세부 정보를 조회합니다. 지정된 그룹에 대한 그룹 액세스 토큰을 생성합니다. 그룹 액세스 토큰을 교체합니다.

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

모든 그룹 액세스 토큰 목록#

히스토리

그룹의 모든 그룹 액세스 토큰을 나열합니다.

GET /groups/:id/access_tokens
GET /groups/:id/access_tokens?state=inactive
속성 유형 필수 설명
id integer 또는 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 아니오 정의된 경우 지정된 상태의 토큰을 반환합니다. 가능한 값: activeinactive.
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,
      "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",
      "access_level": 40
   }
]

그룹 액세스 토큰 세부 정보 조회#

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

GET /groups/:id/access_tokens/:token_id
속성 유형 필수 설명
id integer 또는 string 그룹의 ID 또는 URL 인코딩된 경로.
token_id integer 또는 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
}

그룹 액세스 토큰 생성#

히스토리
  • expires_at 속성 기본값이 GitLab 16.0에서 도입됨.

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

사전 요구사항:

  • 그룹에 대한 Owner 역할이 있어야 합니다.
POST /groups/:id/access_tokens
속성 유형 필수 설명
id integer 또는 string 그룹의 ID 또는 URL 인코딩된 경로.
name String 토큰의 이름.
description string 아니오 그룹 액세스 토큰의 설명. 최대: 255자.
scopes Array[String] 토큰에 사용 가능한 스코프 목록.
access_level Integer 아니오 토큰의 역할. 가능한 값: 10(Guest), 15(Planner), 20(Reporter), 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
속성 유형 필수 설명
id integer 또는 string 그룹의 ID 또는 URL 인코딩된 경로.
token_id integer 또는 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,
    "active": true,
    "expires_at": "2023-08-15",
    "access_level": 30,
    "token": "s3cr3t"
}

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

다른 가능한 응답:

  • 성공적으로 교체되지 않은 경우 400: Bad Request.
  • 다음 조건 중 하나가 true인 경우 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
속성 유형 필수 설명
id integer 또는 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

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

이 API를 사용하여 그룹 액세스 토큰을 관리합니다. 그룹의 모든 그룹 액세스 토큰을 나열합니다. 그룹 액세스 토큰의 세부 정보를 조회합니다. 지정된 그룹에 대한 그룹 액세스 토큰을 생성합니다. 그룹 액세스 토큰을 교체합니다.

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

모든 그룹 액세스 토큰 목록#

히스토리

그룹의 모든 그룹 액세스 토큰을 나열합니다.

GET /groups/:id/access_tokens
GET /groups/:id/access_tokens?state=inactive
속성 유형 필수 설명
id integer 또는 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 아니오 정의된 경우 지정된 상태의 토큰을 반환합니다. 가능한 값: activeinactive.
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,
      "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",
      "access_level": 40
   }
]

그룹 액세스 토큰 세부 정보 조회#

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

GET /groups/:id/access_tokens/:token_id
속성 유형 필수 설명
id integer 또는 string 그룹의 ID 또는 URL 인코딩된 경로.
token_id integer 또는 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
}

그룹 액세스 토큰 생성#

히스토리
  • expires_at 속성 기본값이 GitLab 16.0에서 도입됨.

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

사전 요구사항:

  • 그룹에 대한 Owner 역할이 있어야 합니다.
POST /groups/:id/access_tokens
속성 유형 필수 설명
id integer 또는 string 그룹의 ID 또는 URL 인코딩된 경로.
name String 토큰의 이름.
description string 아니오 그룹 액세스 토큰의 설명. 최대: 255자.
scopes Array[String] 토큰에 사용 가능한 스코프 목록.
access_level Integer 아니오 토큰의 역할. 가능한 값: 10(Guest), 15(Planner), 20(Reporter), 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
속성 유형 필수 설명
id integer 또는 string 그룹의 ID 또는 URL 인코딩된 경로.
token_id integer 또는 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,
    "active": true,
    "expires_at": "2023-08-15",
    "access_level": 30,
    "token": "s3cr3t"
}

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

다른 가능한 응답:

  • 성공적으로 교체되지 않은 경우 400: Bad Request.
  • 다음 조건 중 하나가 true인 경우 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
속성 유형 필수 설명
id integer 또는 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.