InfoGrab DocsInfoGrab Docs

SAML API

요약

이 API를 사용하여 SAML 기능을 다룹니다. 그룹의 모든 SAML ID를 나열합니다. 요청이 성공하면 200을 반환하며, 다음과 같은 응답 속성을 포함합니다. SAML ID의 extern_uid 필드를 업데이트합니다.

이 API를 사용하여 SAML 기능을 다룹니다.

GitLab.com 엔드포인트#

그룹의 모든 SAML ID 나열#

GET /groups/:id/saml/identities

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

지원되는 속성:

속성 유형 필수 설명
id integer or string 예 그룹의 ID 또는 URL 인코딩된 경로

요청이 성공하면 200을 반환하며, 다음과 같은 응답 속성을 포함합니다.

속성 유형 설명
extern_uid string 사용자의 외부 UID
user_id string 사용자의 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 integer or string 예 그룹의 ID 또는 URL 인코딩된 경로
uid string 예 사용자의 외부 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 필드 업데이트#

히스토리
  • GitLab 19.4에서 ID를 신뢰할 수 없음으로 표시하거나 이메일 알림을 보내지 않도록 변경되었습니다.

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

SAML IdP(ID 공급자) 속성 GitLab 필드
id/externalId extern_uid
PATCH /groups/:id/saml/:uid

지원되는 속성:

속성 유형 필수 설명
id integer or string 예 그룹의 ID 또는 URL 인코딩된 경로
uid string 예 사용자의 외부 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 integer 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
uid string 예 사용자의 외부 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 integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.

요청이 성공하면 200을 반환하며, 다음과 같은 응답 속성을 포함합니다.

속성 유형 설명
[].name string SAML 그룹의 이름입니다.
[].access_level integer SAML 그룹 멤버의 기본 액세스 레벨입니다. 가능한 값: 0(No access), 5(Minimal access), 10(Guest), 15(Planner), 20(Reporter), 25(Security Manager), 30(Developer), 40(Maintainer), 50(Owner).
[].member_role_id integer SAML 그룹 멤버의 멤버 역할 ID(member_role_id)입니다.
[].provider string 이 그룹 링크가 적용되려면 일치해야 하는 고유 공급자 이름입니다.

요청 예시:

curl --request GET \
  --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 integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
saml_group_name string 예 SAML 그룹의 이름입니다.
provider string 아니요 이름이 같은 링크가 여러 개 있을 때 이를 구분하기 위한 고유 공급자 이름입니다. 같은 saml_group_name을 가진 링크가 여러 개 있으면 필수입니다.

요청이 성공하면 200을 반환하며, 다음과 같은 응답 속성을 포함합니다.

속성 유형 설명
name string SAML 그룹의 이름입니다.
access_level integer SAML 그룹 멤버의 기본 액세스 레벨입니다. 가능한 값: 0(No access), 5(Minimal access), 10(Guest), 15(Planner), 20(Reporter), 25(Security Manager), 30(Developer), 40(Maintainer), 50(Owner).
member_role_id integer SAML 그룹 멤버의 멤버 역할 ID(member_role_id)입니다.
provider string 이 그룹 링크가 적용되려면 일치해야 하는 고유 공급자 이름입니다.

이름이 같고 공급자가 다른 SAML 그룹 링크가 여러 개 있는 상태에서 provider 매개변수를 지정하지 않으면, 구분을 위해 provider 매개변수가 필요하다는 오류 메시지와 함께 422를 반환합니다.

요청 예시:

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

provider 매개변수를 사용한 요청 예시:

curl --request GET \
  --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 integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
saml_group_name string 예 SAML 그룹의 이름입니다.
access_level integer 예 SAML 그룹 멤버의 기본 액세스 레벨입니다. 가능한 값: 0(No access), 5(Minimal access), 10(Guest), 15(Planner), 20(Reporter), 25(Security Manager), 30(Developer), 40(Maintainer), 50(Owner).
member_role_id integer 아니요 SAML 그룹 멤버의 멤버 역할 ID(member_role_id)입니다.
provider string 아니요 이 그룹 링크가 적용되려면 일치해야 하는 고유 공급자 이름입니다.

요청이 성공하면 201을 반환하며, 다음과 같은 응답 속성을 포함합니다.

속성 유형 설명
name string SAML 그룹의 이름입니다.
access_level integer SAML 그룹 멤버의 기본 액세스 레벨입니다. 가능한 값: 0(No access), 5(Minimal access), 10(Guest), 15(Planner), 20(Reporter), 25(Security Manager), 30(Developer), 40(Maintainer), 50(Owner).
member_role_id integer SAML 그룹 멤버의 멤버 역할 ID(member_role_id)입니다.
provider string 이 그룹 링크가 적용되려면 일치해야 하는 고유 공급자 이름입니다.

요청 예시:

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 integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
saml_group_name string 예 SAML 그룹의 이름입니다.
provider string 아니요 이름이 같은 링크가 여러 개 있을 때 이를 구분하기 위한 고유 공급자 이름입니다. 같은 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"

provider 매개변수를 사용한 요청 예시:

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 상태 코드를 반환합니다.

요청이 실패하면 응답 본문에 오류 메시지를 담아 400 상태 코드를 반환합니다.

이름이 같고 공급자가 다른 SAML 그룹 링크가 여러 개 있는 상태에서 provider 매개변수를 지정하지 않으면, 구분을 위해 provider 매개변수가 필요하다는 오류 메시지와 함께 422를 반환합니다.

SAML API

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

요약

이 API를 사용하여 SAML 기능을 다룹니다. 그룹의 모든 SAML ID를 나열합니다. 요청이 성공하면 200을 반환하며, 다음과 같은 응답 속성을 포함합니다. SAML ID의 extern_uid 필드를 업데이트합니다.

이 API를 사용하여 SAML 기능을 다룹니다.

GitLab.com 엔드포인트#

그룹의 모든 SAML ID 나열#

GET /groups/:id/saml/identities

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

지원되는 속성:

속성 유형 필수 설명
id integer or string 예 그룹의 ID 또는 URL 인코딩된 경로

요청이 성공하면 200을 반환하며, 다음과 같은 응답 속성을 포함합니다.

속성 유형 설명
extern_uid string 사용자의 외부 UID
user_id string 사용자의 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 integer or string 예 그룹의 ID 또는 URL 인코딩된 경로
uid string 예 사용자의 외부 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 필드 업데이트#

히스토리
  • GitLab 19.4에서 ID를 신뢰할 수 없음으로 표시하거나 이메일 알림을 보내지 않도록 변경되었습니다.

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

SAML IdP(ID 공급자) 속성 GitLab 필드
id/externalId extern_uid
PATCH /groups/:id/saml/:uid

지원되는 속성:

속성 유형 필수 설명
id integer or string 예 그룹의 ID 또는 URL 인코딩된 경로
uid string 예 사용자의 외부 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 integer 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
uid string 예 사용자의 외부 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 integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.

요청이 성공하면 200을 반환하며, 다음과 같은 응답 속성을 포함합니다.

속성 유형 설명
[].name string SAML 그룹의 이름입니다.
[].access_level integer SAML 그룹 멤버의 기본 액세스 레벨입니다. 가능한 값: 0(No access), 5(Minimal access), 10(Guest), 15(Planner), 20(Reporter), 25(Security Manager), 30(Developer), 40(Maintainer), 50(Owner).
[].member_role_id integer SAML 그룹 멤버의 멤버 역할 ID(member_role_id)입니다.
[].provider string 이 그룹 링크가 적용되려면 일치해야 하는 고유 공급자 이름입니다.

요청 예시:

curl --request GET \
  --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 integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
saml_group_name string 예 SAML 그룹의 이름입니다.
provider string 아니요 이름이 같은 링크가 여러 개 있을 때 이를 구분하기 위한 고유 공급자 이름입니다. 같은 saml_group_name을 가진 링크가 여러 개 있으면 필수입니다.

요청이 성공하면 200을 반환하며, 다음과 같은 응답 속성을 포함합니다.

속성 유형 설명
name string SAML 그룹의 이름입니다.
access_level integer SAML 그룹 멤버의 기본 액세스 레벨입니다. 가능한 값: 0(No access), 5(Minimal access), 10(Guest), 15(Planner), 20(Reporter), 25(Security Manager), 30(Developer), 40(Maintainer), 50(Owner).
member_role_id integer SAML 그룹 멤버의 멤버 역할 ID(member_role_id)입니다.
provider string 이 그룹 링크가 적용되려면 일치해야 하는 고유 공급자 이름입니다.

이름이 같고 공급자가 다른 SAML 그룹 링크가 여러 개 있는 상태에서 provider 매개변수를 지정하지 않으면, 구분을 위해 provider 매개변수가 필요하다는 오류 메시지와 함께 422를 반환합니다.

요청 예시:

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

provider 매개변수를 사용한 요청 예시:

curl --request GET \
  --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 integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
saml_group_name string 예 SAML 그룹의 이름입니다.
access_level integer 예 SAML 그룹 멤버의 기본 액세스 레벨입니다. 가능한 값: 0(No access), 5(Minimal access), 10(Guest), 15(Planner), 20(Reporter), 25(Security Manager), 30(Developer), 40(Maintainer), 50(Owner).
member_role_id integer 아니요 SAML 그룹 멤버의 멤버 역할 ID(member_role_id)입니다.
provider string 아니요 이 그룹 링크가 적용되려면 일치해야 하는 고유 공급자 이름입니다.

요청이 성공하면 201을 반환하며, 다음과 같은 응답 속성을 포함합니다.

속성 유형 설명
name string SAML 그룹의 이름입니다.
access_level integer SAML 그룹 멤버의 기본 액세스 레벨입니다. 가능한 값: 0(No access), 5(Minimal access), 10(Guest), 15(Planner), 20(Reporter), 25(Security Manager), 30(Developer), 40(Maintainer), 50(Owner).
member_role_id integer SAML 그룹 멤버의 멤버 역할 ID(member_role_id)입니다.
provider string 이 그룹 링크가 적용되려면 일치해야 하는 고유 공급자 이름입니다.

요청 예시:

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 integer or string 예 그룹의 ID 또는 URL 인코딩된 경로입니다.
saml_group_name string 예 SAML 그룹의 이름입니다.
provider string 아니요 이름이 같은 링크가 여러 개 있을 때 이를 구분하기 위한 고유 공급자 이름입니다. 같은 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"

provider 매개변수를 사용한 요청 예시:

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 상태 코드를 반환합니다.

요청이 실패하면 응답 본문에 오류 메시지를 담아 400 상태 코드를 반환합니다.

이름이 같고 공급자가 다른 SAML 그룹 링크가 여러 개 있는 상태에서 provider 매개변수를 지정하지 않으면, 구분을 위해 provider 매개변수가 필요하다는 오류 메시지와 함께 422를 반환합니다.