InfoGrab Docs

SAML API

요약

이 API를 사용하여 SAML 기능과 상호 작용합니다. 그룹의 모든 SAML ID를 나열합니다. 성공하면 200과 다음 응답 속성을 반환합니다: SAML ID의 extern_uid 필드를 업데이트합니다: Users API를 사용하여 단일 SAML ID를 가져옵니다.

히스토리

이 API를 사용하여 SAML 기능과 상호 작용합니다.

GitLab.com 엔드포인트#

그룹의 모든 SAML ID 나열#

GET /groups/:id/saml/identities

그룹의 모든 SAML ID를 나열합니다.

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로

성공하면 200과 다음 응답 속성을 반환합니다:

속성 유형 설명
extern_uid 문자열 사용자의 외부 UID
user_id 문자열 사용자의 ID

요청 예시:

curl --location --request GET \
  --header "PRIVATE-TOKEN: " \
  --url "https://gitlab.com/api/v4/groups/33/saml/identities"

응답 예시:

[
    {
        "extern_uid": "yrnZW46BrtBFqM7xDzE7dddd",
        "user_id": 48
    }
]

단일 SAML ID 검색#

히스토리

단일 SAML ID를 검색합니다.

GET /groups/:id/saml/:uid

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
uid 문자열 사용자의 외부 UID.

요청 예시:

curl --location --request GET \
  --header "PRIVATE-TOKEN: " \
  --url "https://gitlab.com/api/v4/groups/33/saml/yrnZW46BrtBFqM7xDzE7dddd"

응답 예시:

{
    "extern_uid": "yrnZW46BrtBFqM7xDzE7dddd",
    "user_id": 48
}

SAML ID의 extern_uid 필드 업데이트#

SAML ID의 extern_uid 필드를 업데이트합니다:

SAML IdP 속성 GitLab 필드
id/externalId extern_uid
PATCH /groups/:id/saml/:uid

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
uid 문자열 사용자의 외부 UID.

요청 예시:

curl --request PATCH \
  --location \
  --header "PRIVATE-TOKEN: " \
  --url "https://gitlab.com/api/v4/groups/33/saml/yrnZW46BrtBFqM7xDzE7dddd" \
  --form "extern_uid=be20d8dcc028677c931e04f387"

단일 SAML ID 삭제#

히스토리
DELETE /groups/:id/saml/:uid

지원되는 속성:

속성 유형 필수 설명
id 정수 그룹의 ID 또는 URL 인코딩된 경로.
uid 문자열 사용자의 외부 UID.

요청 예시:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.com/api/v4/groups/33/saml/be20d8dcc028677c931e04f387"

응답 예시:

{
    "message" : "204 No Content"
}

GitLab Self-Managed 엔드포인트#

단일 SAML ID 검색#

Users API를 사용하여 단일 SAML ID를 가져옵니다.

SAML ID의 extern_uid 필드 업데이트#

Users API를 사용하여 사용자의 extern_uid 필드를 업데이트합니다.

단일 SAML ID 삭제#

Users API를 사용하여 사용자의 단일 ID를 삭제합니다.

SAML 그룹 링크#

히스토리

REST API를 사용하여 SAML 그룹 링크를 나열, 가져오기, 추가, 삭제합니다.

모든 SAML 그룹 링크 나열#

그룹의 모든 SAML 그룹 링크를 나열합니다.

GET /groups/:id/saml_group_links

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로.

성공하면 200과 다음 응답 속성을 반환합니다:

속성 유형 설명
[].name 문자열 SAML 그룹의 이름.
[].access_level 정수 SAML 그룹 구성원의 기본 액세스 수준. 가능한 값: 0 (액세스 없음), 5 (최소 액세스), 10 (게스트), 15 (플래너), 20 (리포터), 25 (보안 관리자), 30 (개발자), 40 (메인테이너), 50 (소유자).
[].member_role_id 정수 SAML 그룹 구성원의 멤버 역할 ID(member_role_id).
[].provider 문자열 이 그룹 링크가 적용되려면 일치해야 하는 고유한 공급자 이름.

요청 예시:

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

응답 예시:

[
  {
    "name": "saml-group-1",
    "access_level": 10,
    "member_role_id": 12,
    "provider": null
  },
  {
    "name": "saml-group-2",
    "access_level": 40,
    "member_role_id": 99,
    "provider": "saml_provider_1"
  }
]

SAML 그룹 링크 검색#

그룹의 SAML 그룹 링크를 검색합니다.

GET /groups/:id/saml_group_links/:saml_group_name

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로.
saml_group_name 문자열 SAML 그룹의 이름.
provider 문자열 아니오 같은 이름으로 여러 링크가 있을 때 명확히 하기 위한 고유한 공급자 이름. 동일한 saml_group_name으로 여러 링크가 있을 때 필수.

성공하면 200과 다음 응답 속성을 반환합니다:

속성 유형 설명
name 문자열 SAML 그룹의 이름.
access_level 정수 SAML 그룹 구성원의 기본 액세스 수준. 가능한 값: 0 (액세스 없음), 5 (최소 액세스), 10 (게스트), 15 (플래너), 20 (리포터), 25 (보안 관리자), 30 (개발자), 40 (메인테이너), 50 (소유자).
member_role_id 정수 SAML 그룹 구성원의 멤버 역할 ID(member_role_id).
provider 문자열 이 그룹 링크가 적용되려면 일치해야 하는 고유한 공급자 이름.

동일한 이름이지만 다른 공급자를 가진 여러 SAML 그룹 링크가 있고 provider 파라미터가 지정되지 않은 경우, 명확성을 위해 provider 파라미터가 필요하다는 오류 메시지와 함께 422를 반환합니다.

요청 예시:

curl \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/saml_group_links/saml-group-1"

공급자 파라미터가 있는 요청 예시:

curl \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/saml_group_links/saml-group-1?provider=saml_provider_1"

응답 예시:

{
"name": "saml-group-1",
"access_level": 10,
"member_role_id": 12,
"provider": "saml_provider_1"
}

SAML 그룹 링크 추가#

그룹에 SAML 그룹 링크를 추가합니다.

POST /groups/:id/saml_group_links

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로.
saml_group_name 문자열 SAML 그룹의 이름.
access_level 정수 SAML 그룹 구성원의 기본 액세스 수준. 가능한 값: 0 (액세스 없음), 5 (최소 액세스), 10 (게스트), 15 (플래너), 20 (리포터), 25 (보안 관리자), 30 (개발자), 40 (메인테이너), 50 (소유자).
member_role_id 정수 아니오 SAML 그룹 구성원의 멤버 역할 ID(member_role_id).
provider 문자열 아니오 이 그룹 링크가 적용되려면 일치해야 하는 고유한 공급자 이름.

성공하면 201과 다음 응답 속성을 반환합니다:

속성 유형 설명
name 문자열 SAML 그룹의 이름.
access_level 정수 SAML 그룹 구성원의 기본 액세스 수준. 가능한 값: 0 (액세스 없음), 5 (최소 액세스), 10 (게스트), 15 (플래너), 20 (리포터), 25 (보안 관리자), 30 (개발자), 40 (메인테이너), 50 (소유자).
member_role_id 정수 SAML 그룹 구성원의 멤버 역할 ID(member_role_id).
provider 문자열 이 그룹 링크가 적용되려면 일치해야 하는 고유한 공급자 이름.

요청 예시:

curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" --data '{ "saml_group_name": "<your_saml_group_name`>", "access_level": <chosen_access_level>, "member_role_id": <chosen_member_role_id>, "provider": "<your_provider>" }' --url  "https://gitlab.example.com/api/v4/groups/1/saml_group_links"

응답 예시:

{
"name": "saml-group-1",
"access_level": 10,
"member_role_id": 12,
"provider": "saml_provider_1"
}

SAML 그룹 링크 삭제#

그룹의 SAML 그룹 링크를 삭제합니다.

DELETE /groups/:id/saml_group_links/:saml_group_name

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로.
saml_group_name 문자열 SAML 그룹의 이름.
provider 문자열 아니오 같은 이름으로 여러 링크가 있을 때 명확히 하기 위한 고유한 공급자 이름. 동일한 saml_group_name으로 여러 링크가 있을 때 필수.

요청 예시:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/saml_group_links/saml-group-1"

공급자 파라미터가 있는 요청 예시:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/saml_group_links/saml-group-1?provider=saml_provider_1"

성공하면 응답 본문 없이 204 상태 코드를 반환합니다.

동일한 이름이지만 다른 공급자를 가진 여러 SAML 그룹 링크가 있고 provider 파라미터가 지정되지 않은 경우, 명확성을 위해 provider 파라미터가 필요하다는 오류 메시지와 함께 422를 반환합니다.

SAML API

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

이 API를 사용하여 SAML 기능과 상호 작용합니다. 그룹의 모든 SAML ID를 나열합니다. 성공하면 200과 다음 응답 속성을 반환합니다: SAML ID의 extern_uid 필드를 업데이트합니다: Users API를 사용하여 단일 SAML ID를 가져옵니다.

히스토리

이 API를 사용하여 SAML 기능과 상호 작용합니다.

GitLab.com 엔드포인트#

그룹의 모든 SAML ID 나열#

GET /groups/:id/saml/identities

그룹의 모든 SAML ID를 나열합니다.

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로

성공하면 200과 다음 응답 속성을 반환합니다:

속성 유형 설명
extern_uid 문자열 사용자의 외부 UID
user_id 문자열 사용자의 ID

요청 예시:

curl --location --request GET \
  --header "PRIVATE-TOKEN: " \
  --url "https://gitlab.com/api/v4/groups/33/saml/identities"

응답 예시:

[
    {
        "extern_uid": "yrnZW46BrtBFqM7xDzE7dddd",
        "user_id": 48
    }
]

단일 SAML ID 검색#

히스토리

단일 SAML ID를 검색합니다.

GET /groups/:id/saml/:uid

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
uid 문자열 사용자의 외부 UID.

요청 예시:

curl --location --request GET \
  --header "PRIVATE-TOKEN: " \
  --url "https://gitlab.com/api/v4/groups/33/saml/yrnZW46BrtBFqM7xDzE7dddd"

응답 예시:

{
    "extern_uid": "yrnZW46BrtBFqM7xDzE7dddd",
    "user_id": 48
}

SAML ID의 extern_uid 필드 업데이트#

SAML ID의 extern_uid 필드를 업데이트합니다:

SAML IdP 속성 GitLab 필드
id/externalId extern_uid
PATCH /groups/:id/saml/:uid

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로
uid 문자열 사용자의 외부 UID.

요청 예시:

curl --request PATCH \
  --location \
  --header "PRIVATE-TOKEN: " \
  --url "https://gitlab.com/api/v4/groups/33/saml/yrnZW46BrtBFqM7xDzE7dddd" \
  --form "extern_uid=be20d8dcc028677c931e04f387"

단일 SAML ID 삭제#

히스토리
DELETE /groups/:id/saml/:uid

지원되는 속성:

속성 유형 필수 설명
id 정수 그룹의 ID 또는 URL 인코딩된 경로.
uid 문자열 사용자의 외부 UID.

요청 예시:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.com/api/v4/groups/33/saml/be20d8dcc028677c931e04f387"

응답 예시:

{
    "message" : "204 No Content"
}

GitLab Self-Managed 엔드포인트#

단일 SAML ID 검색#

Users API를 사용하여 단일 SAML ID를 가져옵니다.

SAML ID의 extern_uid 필드 업데이트#

Users API를 사용하여 사용자의 extern_uid 필드를 업데이트합니다.

단일 SAML ID 삭제#

Users API를 사용하여 사용자의 단일 ID를 삭제합니다.

SAML 그룹 링크#

히스토리

REST API를 사용하여 SAML 그룹 링크를 나열, 가져오기, 추가, 삭제합니다.

모든 SAML 그룹 링크 나열#

그룹의 모든 SAML 그룹 링크를 나열합니다.

GET /groups/:id/saml_group_links

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로.

성공하면 200과 다음 응답 속성을 반환합니다:

속성 유형 설명
[].name 문자열 SAML 그룹의 이름.
[].access_level 정수 SAML 그룹 구성원의 기본 액세스 수준. 가능한 값: 0 (액세스 없음), 5 (최소 액세스), 10 (게스트), 15 (플래너), 20 (리포터), 25 (보안 관리자), 30 (개발자), 40 (메인테이너), 50 (소유자).
[].member_role_id 정수 SAML 그룹 구성원의 멤버 역할 ID(member_role_id).
[].provider 문자열 이 그룹 링크가 적용되려면 일치해야 하는 고유한 공급자 이름.

요청 예시:

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

응답 예시:

[
  {
    "name": "saml-group-1",
    "access_level": 10,
    "member_role_id": 12,
    "provider": null
  },
  {
    "name": "saml-group-2",
    "access_level": 40,
    "member_role_id": 99,
    "provider": "saml_provider_1"
  }
]

SAML 그룹 링크 검색#

그룹의 SAML 그룹 링크를 검색합니다.

GET /groups/:id/saml_group_links/:saml_group_name

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로.
saml_group_name 문자열 SAML 그룹의 이름.
provider 문자열 아니오 같은 이름으로 여러 링크가 있을 때 명확히 하기 위한 고유한 공급자 이름. 동일한 saml_group_name으로 여러 링크가 있을 때 필수.

성공하면 200과 다음 응답 속성을 반환합니다:

속성 유형 설명
name 문자열 SAML 그룹의 이름.
access_level 정수 SAML 그룹 구성원의 기본 액세스 수준. 가능한 값: 0 (액세스 없음), 5 (최소 액세스), 10 (게스트), 15 (플래너), 20 (리포터), 25 (보안 관리자), 30 (개발자), 40 (메인테이너), 50 (소유자).
member_role_id 정수 SAML 그룹 구성원의 멤버 역할 ID(member_role_id).
provider 문자열 이 그룹 링크가 적용되려면 일치해야 하는 고유한 공급자 이름.

동일한 이름이지만 다른 공급자를 가진 여러 SAML 그룹 링크가 있고 provider 파라미터가 지정되지 않은 경우, 명확성을 위해 provider 파라미터가 필요하다는 오류 메시지와 함께 422를 반환합니다.

요청 예시:

curl \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/saml_group_links/saml-group-1"

공급자 파라미터가 있는 요청 예시:

curl \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/saml_group_links/saml-group-1?provider=saml_provider_1"

응답 예시:

{
"name": "saml-group-1",
"access_level": 10,
"member_role_id": 12,
"provider": "saml_provider_1"
}

SAML 그룹 링크 추가#

그룹에 SAML 그룹 링크를 추가합니다.

POST /groups/:id/saml_group_links

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로.
saml_group_name 문자열 SAML 그룹의 이름.
access_level 정수 SAML 그룹 구성원의 기본 액세스 수준. 가능한 값: 0 (액세스 없음), 5 (최소 액세스), 10 (게스트), 15 (플래너), 20 (리포터), 25 (보안 관리자), 30 (개발자), 40 (메인테이너), 50 (소유자).
member_role_id 정수 아니오 SAML 그룹 구성원의 멤버 역할 ID(member_role_id).
provider 문자열 아니오 이 그룹 링크가 적용되려면 일치해야 하는 고유한 공급자 이름.

성공하면 201과 다음 응답 속성을 반환합니다:

속성 유형 설명
name 문자열 SAML 그룹의 이름.
access_level 정수 SAML 그룹 구성원의 기본 액세스 수준. 가능한 값: 0 (액세스 없음), 5 (최소 액세스), 10 (게스트), 15 (플래너), 20 (리포터), 25 (보안 관리자), 30 (개발자), 40 (메인테이너), 50 (소유자).
member_role_id 정수 SAML 그룹 구성원의 멤버 역할 ID(member_role_id).
provider 문자열 이 그룹 링크가 적용되려면 일치해야 하는 고유한 공급자 이름.

요청 예시:

curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --header "Content-Type: application/json" --data '{ "saml_group_name": "<your_saml_group_name`>", "access_level": <chosen_access_level>, "member_role_id": <chosen_member_role_id>, "provider": "<your_provider>" }' --url  "https://gitlab.example.com/api/v4/groups/1/saml_group_links"

응답 예시:

{
"name": "saml-group-1",
"access_level": 10,
"member_role_id": 12,
"provider": "saml_provider_1"
}

SAML 그룹 링크 삭제#

그룹의 SAML 그룹 링크를 삭제합니다.

DELETE /groups/:id/saml_group_links/:saml_group_name

지원되는 속성:

속성 유형 필수 설명
id 정수 또는 문자열 그룹의 ID 또는 URL 인코딩된 경로.
saml_group_name 문자열 SAML 그룹의 이름.
provider 문자열 아니오 같은 이름으로 여러 링크가 있을 때 명확히 하기 위한 고유한 공급자 이름. 동일한 saml_group_name으로 여러 링크가 있을 때 필수.

요청 예시:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/saml_group_links/saml-group-1"

공급자 파라미터가 있는 요청 예시:

curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/1/saml_group_links/saml-group-1?provider=saml_provider_1"

성공하면 응답 본문 없이 204 상태 코드를 반환합니다.

동일한 이름이지만 다른 공급자를 가진 여러 SAML 그룹 링크가 있고 provider 파라미터가 지정되지 않은 경우, 명확성을 위해 provider 파라미터가 필요하다는 오류 메시지와 함께 422를 반환합니다.