SAML API
SAML 기능에 접근하기 위한 API입니다.
GitLab.com 엔드포인트
그룹의 SAML ID 가져오기
GET /groups/:id/saml/identities
그룹의 SAML ID를 가져옵니다.
지원되는 속성:
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer/string | yes | 그룹의 ID 또는 URL-encoded path |
성공적으로 요청되면 200
과 다음 응답 속성이 반환됩니다:
Attribute | Type | Description |
---|---|---|
extern_uid |
string | 사용자의 외부 UID |
user_id |
string | 사용자의 ID |
예시 요청:
curl --location --request GET "https://gitlab.com/api/v4/groups/33/saml/identities" --header "PRIVATE-TOKEN: <PRIVATE-TOKEN>"
예시 응답:
[
{
"extern_uid": "yrnZW46BrtBFqM7xDzE7dddd",
"user_id": 48
}
]
단일 SAML ID 가져오기
GET /groups/:id/saml/:uid
지원되는 속성:
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer/string | yes | 그룹의 ID 또는 URL-encoded path |
uid |
string | yes | 사용자의 외부 UID. |
예시 요청:
curl --location --request GET "https://gitlab.com/api/v4/groups/33/saml/yrnZW46BrtBFqM7xDzE7dddd" --header "PRIVATE-TOKEN: <PRIVATE TOKEN>"
예시 응답:
{
"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
지원되는 속성:
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer/string | yes | 그룹의 ID 또는 URL-encoded path |
uid |
string | yes | 사용자의 외부 UID. |
예시 요청:
curl --location --request PATCH "https://gitlab.com/api/v4/groups/33/saml/yrnZW46BrtBFqM7xDzE7dddd" \
--header "PRIVATE-TOKEN: <PRIVATE TOKEN>" \
--form "extern_uid=be20d8dcc028677c931e04f387"
SAML IDENTITY 단일 삭제
- GitLab 16.5에서 도입됨.
DELETE /groups/:id/saml/:uid
지원하는 속성:
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id |
정수 | 예 | 그룹의 ID 또는 URL-인코딩 경로. |
uid |
문자열 | 예 | 사용자의 외부 UID. |
예시 요청:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.com/api/v4/groups/33/saml/be20d8dcc028677c931e04f387"
예시 응답:
{
"message" : "204 No Content"
}
자체 관리 GitLab 엔드 포인트
단일 SAML IDENTITY 가져오기
Users API를 사용하여 단일 SAML IDENTITY 가져오기.
SAML IDENTITY의 extern_uid
필드 업데이트
Users API를 사용하여 사용자의 extern_uid
필드 업데이트.
단일 SAML IDENTITY 삭제
Users API를 사용하여 사용자의 단일 IDENTITY 삭제.
SAML 그룹 링크
REST API를 사용하여 SAML 그룹 링크를 나열, 가져오기, 추가 및 삭제합니다.
SAML 그룹 링크 나열
그룹의 SAML 그룹 링크를 나열합니다.
GET /groups/:id/saml_group_links
지원하는 속성:
속성 | 타입 | 필수 | 설명 |
---|---|---|---|
id |
정수/문자열 | 예 | 그룹의 ID 또는 URL-인코딩 경로. |
성공할 경우 200
를 반환하며, 다음 응답 속성이 포함됩니다:
속성 | 타입 | 설명 |
---|---|---|
[].name |
문자열 | SAML 그룹의 이름. |
[].access_level |
정수 | SAML 그룹의 구성원에 대한 역할(access_level ). 이 속성은 GitLab 15.3.0부터 GitLab 15.3.3까지 문자열 타입이었습니다. |
[].member_role_id |
정수 | SAML 그룹 구성원에 대한 구성원 역할 ID(member_role_id ). |
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/saml_group_links"
예시 응답:
[
{
"name": "saml-group-1",
"access_level": 10,
"member_role_id": 12
},
{
"name": "saml-group-2",
"access_level": 40,
"member_role_id": 99
}
]
SAML 그룹 링크 가져오기
그룹에 대한 SAML 그룹 링크를 가져옵니다.
GET /groups/:id/saml_group_links/:saml_group_name
지원하는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
integer/string | 예 | 그룹의 ID 또는 URL 인코딩된 경로입니다. |
saml_group_name |
string | 예 | SAML 그룹의 이름입니다. |
성공하면 200
을 반환하고 다음 응답 속성을 포함합니다:
속성 | 유형 | 설명 |
---|---|---|
name |
string | SAML 그룹의 이름입니다. |
access_level |
integer | SAML 그룹의 구성원에 대한 역할(access_level )입니다. 이 속성은 GitLab 15.3.0부터 GitLab 15.3.3까지 문자열 유형이었습니다. |
member_role_id |
integer | SAML 그룹의 구성원에 대한 회원 역할 ID(member_role_id )입니다. |
예시 요청:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/saml_group_links/saml-group-1"
예시 응답:
{
"name": "saml-group-1",
"access_level": 10,
"member_role_id": 12
}
SAML 그룹 링크 추가하기
그룹에 대한 SAML 그룹 링크를 추가합니다.
POST /groups/:id/saml_group_links
지원하는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
integer or string | 예 | 그룹의 ID 또는 URL 인코딩된 경로입니다. |
saml_group_name |
string | 예 | SAML 그룹의 이름입니다. |
access_level |
integer | 예 | SAML 그룹의 구성원에 대한 역할(access_level )입니다. |
member_role_id |
integer | 아니요 | SAML 그룹의 구성원에 대한 회원 역할 ID(member_role_id )입니다. |
성공하면 201
을 반환하고 다음 응답 속성을 포함합니다:
속성 | 유형 | 설명 |
---|---|---|
name |
string | SAML 그룹의 이름입니다. |
access_level |
integer | SAML 그룹의 구성원에 대한 역할(access_level )입니다. 이 속성은 GitLab 15.3.0부터 GitLab 15.3.3까지 문자열 유형이었습니다. |
member_role_id |
integer | SAML 그룹의 구성원에 대한 회원 역할 ID(member_role_id )입니다. |
예시 요청:
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> }' --url "https://gitlab.example.com/api/v4/groups/1/saml_group_links"
예시 응답:
{
"name": "saml-group-1",
"access_level": 10,
"member_role_id": 12
}
SAML 그룹 링크 삭제
그룹에 대한 SAML 그룹 링크를 삭제합니다.
DELETE /groups/:id/saml_group_links/:saml_group_name
지원하는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id |
정수/문자열 | 예 | 그룹의 ID 또는 URL 인코딩된 경로입니다. |
saml_group_name |
문자열 | 예 | SAML 그룹의 이름입니다. |
예제 요청:
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/1/saml_group_links/saml-group-1"
성공하면 응답 본체 없이 204
상태 코드를 반환합니다.