InfoGrab Docs

사용자 SSH 및 GPG 키 API

요약

이 API를 사용하여 사용자의 SSH 키와 GPG 키와 상호 작용합니다. 사용자 계정의 모든 SSH 키를 나열합니다. page 및 per_page 페이지네이션 매개변수를 사용하여 결과를 필터링합니다. 지정된 사용자 계정의 모든 SSH 키를 나열합니다.

이 API를 사용하여 사용자의 SSH 키GPG 키와 상호 작용합니다.

모든 SSH 키 목록#

사용자 계정의 모든 SSH 키를 나열합니다.

pageper_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",
    "usage_type": "auth"
  },
  {
    "id": 3,
    "title": "Another Public key",
    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
    "created_at": "2014-08-01T14:47:39.080Z",
    "usage_type": "signing"
  }
]

사용자의 모든 SSH 키 목록#

지정된 사용자 계정의 모든 SSH 키를 나열합니다. 이 엔드포인트는 인증이 필요하지 않습니다.

GET /users/:id_or_username/keys

지원되는 속성:

속성 유형 필수 설명
id_or_username string 사용자 계정의 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 string 기존 키의 ID

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/user/keys/1"

응답 예시:

{
  "id": 1,
  "title": "Public key",
  "key": "",
  "created_at": "2014-08-01T14:47:39.080Z",
  "usage_type": "auth"
}

사용자의 SSH 키 조회#

지정된 사용자 계정의 SSH 키를 조회합니다. 이 엔드포인트는 인증이 필요하지 않습니다.

GET /users/:id/keys/:key_id

지원되는 속성:

속성 유형 필수 설명
id integer 사용자 계정의 ID 또는 사용자 이름
key_id integer 기존 키의 ID

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/users/1/keys/1"

응답 예시:

{
  "id": 1,
  "title": "Public key",
  "key": "",
  "created_at": "2014-08-01T14:47:39.080Z",
  "usage_type": "auth"
}

SSH 키 추가#

히스토리
  • usage_type 매개변수가 GitLab 15.7에서 도입.

사용자 계정에 SSH 키를 추가합니다.

사전 조건:

  • 인증되어 있어야 합니다.
POST /user/keys

지원되는 속성:

속성 유형 필수 설명
title string 키 제목
key string 공개 키 값
expires_at string 아니요 ISO 형식(YYYY-MM-DD)의 키 만료 날짜.
usage_type string 아니요 키의 사용 범위. 가능한 값: 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": "",
  "expires_at": "2016-01-21T00:00:00.000Z",
  "usage_type": "auth"
}

사용자에게 SSH 키 추가#

히스토리
  • usage_type 매개변수가 GitLab 15.7에서 도입.

지정된 사용자 계정에 SSH 키를 추가합니다.

Note

이 작업은 감사 이벤트도 추가합니다.

사전 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.
POST /users/:id/keys

지원되는 속성:

속성 유형 필수 설명
id integer 사용자 계정의 ID
title string 키 제목
key string 공개 키 값
expires_at string 아니요 ISO 형식(YYYY-MM-DD)의 키 만료 날짜.
usage_type string 아니요 키의 사용 범위. 가능한 값: 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": "",
  "expires_at": "2016-01-21T00:00:00.000Z",
  "usage_type": "auth"
}

SSH 키 삭제#

사용자 계정에서 SSH 키를 삭제합니다.

사전 조건:

  • 인증되어 있어야 합니다.
DELETE /user/keys/:key_id

지원되는 속성:

속성 유형 필수 설명
key_id integer 기존 키의 ID

반환 값:

  • 작업이 성공한 경우 204 No Content 상태 코드.
  • 리소스를 찾을 수 없는 경우 404 상태 코드.

사용자의 SSH 키 삭제#

지정된 사용자 계정에서 SSH 키를 삭제합니다.

사전 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.
DELETE /users/:id/keys/:key_id

지원되는 속성:

속성 유형 필수 설명
id integer 사용자 계정의 ID
key_id integer 기존 키의 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": "",
    "created_at": "2017-09-05T09:17:46.264Z"
  }
]

사용자의 모든 GPG 키 목록#

지정된 사용자 계정의 모든 GPG 키를 나열합니다. 이 엔드포인트는 인증이 필요하지 않습니다.

GET /users/:id/gpg_keys

지원되는 속성:

속성 유형 필수 설명
id integer 사용자 계정의 ID

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/users/2/gpg_keys"

응답 예시:

[
  {
    "id": 1,
    "key": "",
    "created_at": "2017-09-05T09:17:46.264Z"
  }
]

GPG 키 조회#

사용자 계정의 GPG 키를 조회합니다.

사전 조건:

  • 인증되어 있어야 합니다.
GET /user/gpg_keys/:key_id

지원되는 속성:

속성 유형 필수 설명
key_id integer 기존 키의 ID

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/user/gpg_keys/1"

응답 예시:

{
  "id": 1,
  "key": "",
  "created_at": "2017-09-05T09:17:46.264Z"
}

사용자의 GPG 키 조회#

지정된 사용자 계정의 GPG 키를 조회합니다. 이 엔드포인트는 인증이 필요하지 않습니다.

GET /users/:id/gpg_keys/:key_id

지원되는 속성:

속성 유형 필수 설명
id integer 사용자 계정의 ID
key_id integer 기존 키의 ID

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/users/2/gpg_keys/1"

응답 예시:

{
  "id": 1,
  "key": "",
  "created_at": "2017-09-05T09:17:46.264Z"
}

GPG 키 추가#

사용자 계정에 GPG 키를 추가합니다.

사전 조건:

  • 인증되어 있어야 합니다.
POST /user/gpg_keys

지원되는 속성:

속성 유형 필수 설명
key string 공개 키 값

요청 예시:

export KEY="$(gpg --armor --export <your_gpg_key_id>)"

curl --data-urlencode "key=" \
     --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/gpg_keys"

응답 예시:

[
  {
    "id": 1,
    "key": "",
    "created_at": "2017-09-05T09:17:46.264Z"
  }
]

사용자에게 GPG 키 추가#

지정된 사용자 계정에 GPG 키를 추가합니다.

사전 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.
POST /users/:id/gpg_keys

지원되는 속성:

속성 유형 필수 설명
id integer 사용자 계정의 ID
key integer 공개 키 값

요청 예시:

curl --data-urlencode "key=" \
     --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys"

응답 예시:

[
  {
    "id": 1,
    "key": "",
    "created_at": "2017-09-05T09:17:46.264Z"
  }
]

GPG 키 삭제#

사용자 계정에서 GPG 키를 삭제합니다.

사전 조건:

  • 인증되어 있어야 합니다.
DELETE /user/gpg_keys/:key_id

지원되는 속성:

속성 유형 필수 설명
key_id integer 기존 키의 ID

반환 값:

  • 성공 시 204 No Content.
  • 키를 찾을 수 없는 경우 404 Not Found.

사용자의 GPG 키 삭제#

지정된 사용자 계정에서 GPG 키를 삭제합니다.

사전 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.
DELETE /users/:id/gpg_keys/:key_id

지원되는 속성:

속성 유형 필수 설명
id integer 사용자 계정의 ID
key_id integer 기존 키의 ID

사용자 SSH 및 GPG 키 API

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

이 API를 사용하여 사용자의 SSH 키와 GPG 키와 상호 작용합니다. 사용자 계정의 모든 SSH 키를 나열합니다. page 및 per_page 페이지네이션 매개변수를 사용하여 결과를 필터링합니다. 지정된 사용자 계정의 모든 SSH 키를 나열합니다.

이 API를 사용하여 사용자의 SSH 키GPG 키와 상호 작용합니다.

모든 SSH 키 목록#

사용자 계정의 모든 SSH 키를 나열합니다.

pageper_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",
    "usage_type": "auth"
  },
  {
    "id": 3,
    "title": "Another Public key",
    "key": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAiPWx6WM4lhHNedGfBpPJNPpZ7yKu+dnn1SJejgt4596k6YjzGGphH2TUxwKzxcKDKKezwkpfnxPkSMkuEspGRt/aZZ9wa++Oi7Qkr8prgHc4soW6NUlfDzpvZK2H5E7eQaSeP3SAwGmQKUFHCddNaP0L+hM7zhFNzjFvpaMgJw0=",
    "created_at": "2014-08-01T14:47:39.080Z",
    "usage_type": "signing"
  }
]

사용자의 모든 SSH 키 목록#

지정된 사용자 계정의 모든 SSH 키를 나열합니다. 이 엔드포인트는 인증이 필요하지 않습니다.

GET /users/:id_or_username/keys

지원되는 속성:

속성 유형 필수 설명
id_or_username string 사용자 계정의 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 string 기존 키의 ID

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/user/keys/1"

응답 예시:

{
  "id": 1,
  "title": "Public key",
  "key": "",
  "created_at": "2014-08-01T14:47:39.080Z",
  "usage_type": "auth"
}

사용자의 SSH 키 조회#

지정된 사용자 계정의 SSH 키를 조회합니다. 이 엔드포인트는 인증이 필요하지 않습니다.

GET /users/:id/keys/:key_id

지원되는 속성:

속성 유형 필수 설명
id integer 사용자 계정의 ID 또는 사용자 이름
key_id integer 기존 키의 ID

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/users/1/keys/1"

응답 예시:

{
  "id": 1,
  "title": "Public key",
  "key": "",
  "created_at": "2014-08-01T14:47:39.080Z",
  "usage_type": "auth"
}

SSH 키 추가#

히스토리
  • usage_type 매개변수가 GitLab 15.7에서 도입.

사용자 계정에 SSH 키를 추가합니다.

사전 조건:

  • 인증되어 있어야 합니다.
POST /user/keys

지원되는 속성:

속성 유형 필수 설명
title string 키 제목
key string 공개 키 값
expires_at string 아니요 ISO 형식(YYYY-MM-DD)의 키 만료 날짜.
usage_type string 아니요 키의 사용 범위. 가능한 값: 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": "",
  "expires_at": "2016-01-21T00:00:00.000Z",
  "usage_type": "auth"
}

사용자에게 SSH 키 추가#

히스토리
  • usage_type 매개변수가 GitLab 15.7에서 도입.

지정된 사용자 계정에 SSH 키를 추가합니다.

Note

이 작업은 감사 이벤트도 추가합니다.

사전 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.
POST /users/:id/keys

지원되는 속성:

속성 유형 필수 설명
id integer 사용자 계정의 ID
title string 키 제목
key string 공개 키 값
expires_at string 아니요 ISO 형식(YYYY-MM-DD)의 키 만료 날짜.
usage_type string 아니요 키의 사용 범위. 가능한 값: 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": "",
  "expires_at": "2016-01-21T00:00:00.000Z",
  "usage_type": "auth"
}

SSH 키 삭제#

사용자 계정에서 SSH 키를 삭제합니다.

사전 조건:

  • 인증되어 있어야 합니다.
DELETE /user/keys/:key_id

지원되는 속성:

속성 유형 필수 설명
key_id integer 기존 키의 ID

반환 값:

  • 작업이 성공한 경우 204 No Content 상태 코드.
  • 리소스를 찾을 수 없는 경우 404 상태 코드.

사용자의 SSH 키 삭제#

지정된 사용자 계정에서 SSH 키를 삭제합니다.

사전 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.
DELETE /users/:id/keys/:key_id

지원되는 속성:

속성 유형 필수 설명
id integer 사용자 계정의 ID
key_id integer 기존 키의 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": "",
    "created_at": "2017-09-05T09:17:46.264Z"
  }
]

사용자의 모든 GPG 키 목록#

지정된 사용자 계정의 모든 GPG 키를 나열합니다. 이 엔드포인트는 인증이 필요하지 않습니다.

GET /users/:id/gpg_keys

지원되는 속성:

속성 유형 필수 설명
id integer 사용자 계정의 ID

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/users/2/gpg_keys"

응답 예시:

[
  {
    "id": 1,
    "key": "",
    "created_at": "2017-09-05T09:17:46.264Z"
  }
]

GPG 키 조회#

사용자 계정의 GPG 키를 조회합니다.

사전 조건:

  • 인증되어 있어야 합니다.
GET /user/gpg_keys/:key_id

지원되는 속성:

속성 유형 필수 설명
key_id integer 기존 키의 ID

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/user/gpg_keys/1"

응답 예시:

{
  "id": 1,
  "key": "",
  "created_at": "2017-09-05T09:17:46.264Z"
}

사용자의 GPG 키 조회#

지정된 사용자 계정의 GPG 키를 조회합니다. 이 엔드포인트는 인증이 필요하지 않습니다.

GET /users/:id/gpg_keys/:key_id

지원되는 속성:

속성 유형 필수 설명
id integer 사용자 계정의 ID
key_id integer 기존 키의 ID

요청 예시:

curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/users/2/gpg_keys/1"

응답 예시:

{
  "id": 1,
  "key": "",
  "created_at": "2017-09-05T09:17:46.264Z"
}

GPG 키 추가#

사용자 계정에 GPG 키를 추가합니다.

사전 조건:

  • 인증되어 있어야 합니다.
POST /user/gpg_keys

지원되는 속성:

속성 유형 필수 설명
key string 공개 키 값

요청 예시:

export KEY="$(gpg --armor --export <your_gpg_key_id>)"

curl --data-urlencode "key=" \
     --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/user/gpg_keys"

응답 예시:

[
  {
    "id": 1,
    "key": "",
    "created_at": "2017-09-05T09:17:46.264Z"
  }
]

사용자에게 GPG 키 추가#

지정된 사용자 계정에 GPG 키를 추가합니다.

사전 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.
POST /users/:id/gpg_keys

지원되는 속성:

속성 유형 필수 설명
id integer 사용자 계정의 ID
key integer 공개 키 값

요청 예시:

curl --data-urlencode "key=" \
     --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/2/gpg_keys"

응답 예시:

[
  {
    "id": 1,
    "key": "",
    "created_at": "2017-09-05T09:17:46.264Z"
  }
]

GPG 키 삭제#

사용자 계정에서 GPG 키를 삭제합니다.

사전 조건:

  • 인증되어 있어야 합니다.
DELETE /user/gpg_keys/:key_id

지원되는 속성:

속성 유형 필수 설명
key_id integer 기존 키의 ID

반환 값:

  • 성공 시 204 No Content.
  • 키를 찾을 수 없는 경우 404 Not Found.

사용자의 GPG 키 삭제#

지정된 사용자 계정에서 GPG 키를 삭제합니다.

사전 조건:

  • 인스턴스에 대한 관리자 접근 권한이 있어야 합니다.
DELETE /users/:id/gpg_keys/:key_id

지원되는 속성:

속성 유형 필수 설명
id integer 사용자 계정의 ID
key_id integer 기존 키의 ID