- 개인 엑세스 토큰 생성
- 사용자 계정에 제한된 범위로 개인 엑세스 토큰 생성
- 사용자의 가장하기 토큰 모두 가져오기
- 사용자의 표시 토큰 가져오기
- 표시 토큰 생성하기
- 표시 토큰 폐기하기
사용자 토큰 API
개인 엑세스 토큰 및 가장하 토큰을 REST API를 사용하여 관리할 수 있습니다.
개인 엑세스 토큰 생성
expires_at
속성의 기본값은 GitLab 16.0에 도입되었습니다.
새로운 개인 엑세스 토큰을 생성합니다. 토큰 값은 한 번만 반환되므로 반드시 저장해야 합니다. 다시 액세스할 수 없습니다.
전제 조건:
- 관리자여야 합니다.
POST /users/:user_id/personal_access_tokens
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
user_id
| 정수 | 예 | 사용자 ID입니다. |
name
| 문자열 | 예 | 개인 엑세스 토큰의 이름입니다. |
expires_at
| 날짜 | 아니오 | ISO 형식(YYYY-MM-DD )의 엑세스 토큰 만료 날짜입니다. 날짜가 설정되지 않으면, 만료 기간은 액세스 토큰의 최대 허용 수명으로 설정됩니다.
|
scopes
| 배열 | 예 | 개인 엑세스 토큰의 스코프 배열입니다. 가능한 값은 개인 엑세스 토큰 스코프를 참조하세요. |
예시 요청:
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "name=mytoken" --data "expires_at=2017-04-04" \
--data "scopes[]=api" "https://gitlab.example.com/api/v4/users/42/personal_access_tokens"
예시 응답:
{
"id": 3,
"name": "mytoken",
"revoked": false,
"created_at": "2020-10-14T11:58:53.526Z",
"scopes": [
"api"
],
"user_id": 42,
"active": true,
"expires_at": "2020-12-31",
"token": "<your_new_access_token>"
}
사용자 계정에 제한된 범위로 개인 엑세스 토큰 생성
- GitLab 16.5에 도입되었습니다.
사용자 계정에 새로운 개인 엑세스 토큰을 생성합니다.
전제 조건:
- 인증되어야 합니다.
보안을 위해 토큰은 다음과 같습니다:
-
k8s_proxy
범위에 제한됩니다. 이 범위는 Kubernetes 에이전트를 사용하여 Kubernetes API 호출을 수행할 수 있는 권한을 부여합니다. - 기본적으로 만들어진 날의 끝에 만료됩니다.
토큰 값은 한 번만 반환되므로 토큰을 반드시 저장해야 합니다. 다시 액세스할 수 없습니다.
POST /user/personal_access_tokens
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
name
| 문자열 | 예 | 개인 엑세스 토큰의 이름입니다. |
scopes
| 배열 | 예 | 개인 엑세스 토큰의 스코프 배열입니다. 가능한 값은 k8s_proxy 입니다.
|
expires_at
| 배열 | 아니오 | ISO 형식(YYYY-MM-DD )의 액세스 토큰 만료 날짜입니다. 날짜가 설정되지 않으면, 만료 기간은 현재 날의 끝으로 설정됩니다. 만료 기간은 액세스 토큰의 최대 허용 수명에 따릅니다.
|
예시 요청:
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "name=mytoken" --data "scopes[]=k8s_proxy" "https://gitlab.example.com/api/v4/user/personal_access_tokens"
예시 응답:
{
"id": 3,
"name": "mytoken",
"revoked": false,
"created_at": "2020-10-14T11:58:53.526Z",
"scopes": [
"k8s_proxy"
],
"user_id": 42,
"active": true,
"expires_at": "2020-10-15",
"token": "<your_new_access_token>"
}
사용자의 가장하기 토큰 모두 가져오기
사용자의 모든 가장하기 토큰을 검색합니다. offset 기반 분할 매개변수 page
와 per_page
를 사용하여 가장하기 토큰 목록을 제한할 수 있습니다.
전제 조건:
- 관리자여야 합니다.
GET /users/:user_id/impersonation_tokens
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
user_id
| 정수 | 예 | 사용자 ID입니다. |
state
| 문자열 | 아니오 | 상태에 기반하여 토큰을 필터링합니다: all , active , 또는 inactive .
|
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens"
예시 응답:
[
{
"active" : true,
"user_id" : 2,
"scopes" : [
"api"
],
"revoked" : false,
"name" : "mytoken",
"id" : 2,
"created_at" : "2017-03-17T17:18:09.283Z",
"impersonation" : true,
"expires_at" : "2017-04-04",
"last_used_at": "2017-03-24T09:44:21.722Z"
},
{
"active" : false,
"user_id" : 2,
"scopes" : [
"read_user"
],
"revoked" : true,
"name" : "mytoken2",
"created_at" : "2017-03-17T17:19:28.697Z",
"id" : 3,
"impersonation" : true,
"expires_at" : "2017-04-14",
"last_used_at": "2017-03-24T09:44:21.722Z"
}
]
사용자의 표시 토큰 가져오기
사용자의 표시 토큰을 가져옵니다.
필수 사항:
- 관리자여야 합니다.
GET /users/:user_id/impersonation_tokens/:impersonation_token_id
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
user_id
| 정수 | 예 | 사용자의 ID입니다. |
impersonation_token_id
| 정수 | 예 | 표시 토큰의 ID입니다. |
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens/2"
예시 응답:
{
"active" : true,
"user_id" : 2,
"scopes" : [
"api"
],
"revoked" : false,
"name" : "mytoken",
"id" : 2,
"created_at" : "2017-03-17T17:18:09.283Z",
"impersonation" : true,
"expires_at" : "2017-04-04"
}
표시 토큰 생성하기
새로운 표시 토큰을 생성합니다. 사용자를 표시하고 API 호출 및 Git 읽기 및 쓰기를 수행하는 데만 표시 토큰을 만들 수 있습니다. 사용자는 자신의 프로필 설정 페이지에서 이러한 토큰들을 볼 수 없습니다.
토큰 값은 한 번만 반환됩니다. 다시 액세스할 수 없으므로 저장해 두세요.
필수 사항:
- 관리자여야 합니다.
POST /users/:user_id/impersonation_tokens
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
user_id
| 정수 | 예 | 사용자의 ID입니다. |
name
| 문자열 | 예 | 표시 토큰의 이름입니다. |
expires_at
| 날짜 | 예 | ISO 형식(YYYY-MM-DD )의 표시 토큰 만료 날짜입니다.
|
scopes
| 배열 | 예 | 표시 토큰의 스코프 배열입니다(api , read_user ).
|
예시 요청:
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "name=mytoken" --data "expires_at=2017-04-04" \
--data "scopes[]=api" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens"
예시 응답:
{
"id" : 2,
"revoked" : false,
"user_id" : 2,
"scopes" : [
"api"
],
"token" : "<impersonation_token>",
"active" : true,
"impersonation" : true,
"name" : "mytoken",
"created_at" : "2017-03-17T17:18:09.283Z",
"expires_at" : "2017-04-04"
}
표시 토큰 폐기하기
표시 토큰을 폐기합니다.
필수 사항:
- 관리자여야 합니다.
DELETE /users/:user_id/impersonation_tokens/:impersonation_token_id
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
user_id
| 정수 | 예 | 사용자의 ID입니다. |
impersonation_token_id
| 정수 | 예 | 표시 토큰의 ID입니다. |
예시 요청:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/42/impersonation_tokens/1"