- SSH 키 목록 가져오기
- 사용자 SSH 키 목록 가져오기
- 단일 SSH 키 가져오기
- 사용자에 대한 단일 SSH 키 가져오기
- 계정에 SSH 키 추가하기
- 사용자에 대한 SSH 키 추가하기
- 계정에서 SSH 키 삭제
- 사용자에 대한 SSH 키 삭제
- GPG 키 목록 가져오기
- 사용자에 대한 GPG 키 목록 가져오기
- 단일 GPG 키 가져오기
- 사용자에 대한 단일 GPG 키 가져오기
- 계정에 GPG 키 추가하기
- 사용자에 대한 GPG 키 추가하기
- 계정에서 GPG 키 삭제하기
- 사용자의 GPG 키 삭제
사용자 SSH 및 GPG 키 API
REST API를 사용하여 사용자 SSH 키 및 사용자 GPG 키를 관리할 수 있습니다.
SSH 키 목록 가져오기
SSH 키 목록을 가져옵니다.
필수 조건:
- 인증되어 있어야 합니다.
이 엔드포인트는 키 목록을 제한하기 위해 페이지 매김 매개변수 page
및 per_page
를 사용합니다.
GET /user/keys
지원되는 속성:
- 없음
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/user/keys"
예시 응답:
[
{
"id": 1,
"title": "Public key",
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
"created_at": "2014-08-01T14:47:39.080Z"
},
{
"id": 3,
"title": "Another Public key",
"key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
"created_at": "2014-08-01T14:47:39.080Z"
}
]
사용자 SSH 키 목록 가져오기
지정된 사용자의 SSH 키 목록을 가져옵니다.
GET /users/:id_or_username/keys
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id_or_username |
문자열 | 예 | SSH 키를 가져올 사용자의 ID 또는 사용자 이름. |
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/users/1/keys"
단일 SSH 키 가져오기
단일 SSH 키를 가져옵니다.
GET /user/keys/:key_id
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
key_id |
문자열 | 예 | SSH 키의 ID |
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/user/keys/1"
예시 응답:
{
"id": 1,
"title": "Public key",
"key": "<SSH_KEY>",
"created_at": "2014-08-01T14:47:39.080Z"
}
사용자에 대한 단일 SSH 키 가져오기
지정된 사용자에 대한 단일 SSH 키를 가져옵니다.
GET /users/:id/keys/:key_id
지원되는 속성:
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id |
정수 | 예 | 지정된 사용자의 ID |
key_id |
정수 | 예 | SSH 키 ID |
예제 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/users/1/keys/1"
예제 응답:
{
"id": 1,
"title": "Public key",
"key": "<SSH_KEY>",
"created_at": "2014-08-01T14:47:39.080Z"
}
계정에 SSH 키 추가하기
usage_type
매개변수는 GitLab 15.7에서 도입되었습니다.
계정에 대한 새 SSH 키를 만듭니다.
전제 조건:
- 인증되어 있어야 합니다.
POST /user/keys
지원되는 속성:
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
title |
문자열 | 예 | 새 SSH 키의 제목 |
key |
문자열 | 예 | 새 SSH 키 |
expires_at |
문자열 | 아니요 | ISO 8601 형식(YYYY-MM-DDTHH:MM:SSZ )의 SSH 키 만료일 |
usage_type |
문자열 | 아니요 | SSH 키 사용 범위: auth , signing 또는 auth_and_signing . 기본값: auth_and_signing
|
다음 중 하나를 반환합니다:
-
성공 시 상태가
201 Created
인 생성된 키. -
오류 메시지와 함께
400 Bad Request
오류:{ "message": { "fingerprint": [ "has already been taken" ], "key": [ "has already been taken" ] } }
예제 응답:
{
"title": "ABC",
"key": "<SSH_KEY>",
"expires_at": "2016-01-21T00:00:00.000Z",
"usage_type": "auth"
}
사용자에 대한 SSH 키 추가하기
usage_type
매개변수는 GitLab 15.7에서 도입되었습니다.
지정된 사용자가 소유한 새 키를 만듭니다.
참고: 이것은 감사 이벤트도 추가합니다.
전제 조건:
- 관리자가 되어야 합니다.
POST /users/:id/keys
지원되는 속성:
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id |
정수 | 예 | 지정된 사용자의 ID |
title |
문자열 | 예 | 새 SSH 키의 제목 |
key |
문자열 | 예 | 새 SSH 키 |
expires_at |
문자열 | 아니요 | ISO 8601 형식(YYYY-MM-DDTHH:MM:SSZ )의 SSH 키 만료일 |
usage_type |
문자열 | 아니요 | SSH 키 사용 범위: auth , signing 또는 auth_and_signing . 기본값: auth_and_signing
|
다음 중 하나를 반환합니다:
-
성공 시 상태가
201 Created
인 생성된 키. -
오류 메시지와 함께
400 Bad Request
오류:{ "message": { "fingerprint": [ "has already been taken" ], "key": [ "has already been taken" ] } }
예제 응답:
{
"title": "ABC",
"key": "<SSH_KEY>",
"expires_at": "2016-01-21T00:00:00.000Z",
"usage_type": "auth"
}
계정에서 SSH 키 삭제
계정에서 SSH 키를 삭제합니다.
사전 요구 사항:
- 인증을 받아야 합니다.
DELETE /user/keys/:key_id
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
key_id |
정수 | 예 | SSH 키 ID |
다음 중 하나를 반환합니다:
- 작업이 성공적일 경우
204 No Content
상태 코드. - 리소스를 찾을 수 없는 경우
404
상태 코드.
사용자에 대한 SSH 키 삭제
지정된 사용자가 소유한 SSH 키를 삭제합니다.
사전 요구 사항:
- 관리자인 경우에만 가능합니다.
DELETE /users/:id/keys/:key_id
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 | 예 | 지정된 사용자 ID |
key_id |
정수 | 예 | SSH 키 ID |
GPG 키 목록 가져오기
자신의 GPG 키 목록을 가져옵니다.
사전 요구 사항:
- 인증을 받아야 합니다.
GET /user/gpg_keys
지원되는 속성:
- 없음
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/user/gpg_keys"
예시 응답:
[
{
"id": 1,
"key": "<PGP_PUBLIC_KEY_BLOCK>",
"created_at": "2017-09-05T09:17:46.264Z"
}
]
사용자에 대한 GPG 키 목록 가져오기
지정된 사용자의 GPG 키 목록을 가져옵니다. 이 엔드포인트는 인증 없이 접근할 수 있습니다.
GET /users/:id/gpg_keys
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 | 예 | 사용자 ID |
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/users/2/gpg_keys"
예시 응답:
[
{
"id": 1,
"key": "<PGP_PUBLIC_KEY_BLOCK>",
"created_at": "2017-09-05T09:17:46.264Z"
}
]
단일 GPG 키 가져오기
자신의 GPG 키 중 하나의 세부 정보를 가져옵니다.
사전 요구 사항:
- 인증을 받아야 합니다.
GET /user/gpg_keys/:key_id
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
key_id |
정수 | 예 | GPG 키 ID |
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/user/gpg_keys/1"
예시 응답:
{
"id": 1,
"key": "<PGP_PUBLIC_KEY_BLOCK>",
"created_at": "2017-09-05T09:17:46.264Z"
}
사용자에 대한 단일 GPG 키 가져오기
지정된 사용자의 특정 GPG 키를 가져옵니다. 이 엔드포인트는 관리자 인증 없이 접근할 수 있습니다.
GET /users/:id/gpg_keys/:key_id
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 | 예 | 사용자 ID |
key_id |
정수 | 예 | GPG 키 ID |
예제 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/users/2/gpg_keys/1"
예제 응답:
{
"id": 1,
"key": "<PGP_PUBLIC_KEY_BLOCK>",
"created_at": "2017-09-05T09:17:46.264Z"
}
계정에 GPG 키 추가하기
계정을 위한 새로운 GPG 키를 생성합니다.
전제조건:
- 인증을 받아야 합니다.
POST /user/gpg_keys
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
key |
문자열 | 예 | 새 GPG 키 |
예제 요청:
export KEY="$(gpg --armor --export <your_gpg_key_id>)"
curl --data-urlencode "key=<PGP_PUBLIC_KEY_BLOCK>" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/gpg_keys"
예제 응답:
[
{
"id": 1,
"key": "<PGP_PUBLIC_KEY_BLOCK>",
"created_at": "2017-09-05T09:17:46.264Z"
}
]
사용자에 대한 GPG 키 추가하기
지정된 사용자의 새로운 GPG 키를 생성합니다.
전제조건:
- 관리자가 되어야 합니다.
POST /users/:id/gpg_keys
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수 | 예 | 사용자 ID |
key_id |
정수 | 예 | GPG 키 ID |
예제 요청:
curl --data-urlencode "key=<PGP_PUBLIC_KEY_BLOCK>" \
--header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys"
예제 응답:
[
{
"id": 1,
"key": "<PGP_PUBLIC_KEY_BLOCK>",
"created_at": "2017-09-05T09:17:46.264Z"
}
]
계정에서 GPG 키 삭제하기
계정에서 GPG 키를 삭제합니다.
전제조건:
- 인증을 받아야 합니다.
DELETE /user/gpg_keys/:key_id
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
key_id |
정수 | 예 | GPG 키 ID |
반환값:
- 성공 시
204 No Content
. - 키를 찾을 수 없는 경우
404 Not Found
.
사용자의 GPG 키 삭제
지정된 사용자가 소유한 GPG 키를 삭제합니다.
전제 조건:
- 관리자가 되어야 합니다.
DELETE /users/:id/gpg_keys/:key_id
지원되는 속성:
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id |
정수 | 예 | 사용자의 ID |
key_id |
정수 | 예 | GPG 키의 ID |