SAML API
SAML 기능에 액세스하기 위한 API.
GitLab.com 엔드포인트
그룹의 SAML 식별자 가져오기
GET /groups/:id/saml/identities
그룹의 SAML 식별자를 가져옵니다.
지원되는 속성:
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 그룹의 ID 또는 URL 인코딩된 경로 |
성공하면 200
및 다음 응답 속성이 반환됩니다:
속성 | 유형 | 설명 |
---|---|---|
extern_uid
| 문자열 | 사용자의 외부 UID |
user_id
| 문자열 | 사용자의 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 식별자 가져오기
GET /groups/:id/saml/:uid
지원되는 속성:
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 그룹의 ID 또는 URL 인코딩된 경로 |
uid
| 문자열 | 예 | 사용자의 외부 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 식별자의 extern_uid
필드 업데이트
SAML 식별자의 extern_uid
필드를 업데이트합니다:
SAML IdP 속성 | GitLab 필드 |
---|---|
id/externalId
| extern_uid
|
PATCH /groups/:id/saml/:uid
지원되는 속성:
속성 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
id
| 정수/문자열 | 예 | 그룹의 ID 또는 URL 인코딩된 경로 |
uid
| 문자열 | 예 | 사용자의 외부 UID |
예시 요청:
curl --location --request PATCH "https://gitlab.com/api/v4/groups/33/saml/yrnZW46BrtBFqM7xDzE7dddd" \
--header "PRIVATE-TOKEN: <PRIVATE TOKEN>" \
--form "extern_uid=be20d8dcc028677c931e04f387"
단일 SAML 식별자 삭제
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"
}
Self-managed GitLab 엔드포인트
단일 SAML 식별자 가져오기
사용자 API를 사용하여 단일 SAML 식별자를 가져옵니다.
SAML 식별자의 extern_uid
필드 업데이트
사용자 API를 사용하여 사용자의 extern_uid
필드를 업데이트합니다.
단일 SAML 식별자 삭제
사용자 API를 사용하여 사용자의 단일 식별자를 삭제합니다.
SAML 그룹 링크
- GitLab 15.3.0에서 도입됨.
- ‘access_level’ 유형이 GitLab 15.3.3에서
문자열
에서정수
로 변경되었습니다.member_role_id
유형이 GitLab 16.7에서어드민 역할 제외
로 도입되었습니다. 기본적으로 비활성화됨.member_role_id
유형이 GitLab 16.8에서일반적으로 제공되는
어드민 역할로 변경되었습니다. 피쳐 플래그custom_roles_for_saml_group_links
제거됨.
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
| 정수/문자열 | 예 | 그룹의 ID 또는 URL-encoded 경로 |
saml_group_name
| 문자열 | 예 | SAML 그룹의 이름 |
성공적인 경우 200
을 반환하며 다음과 같은 응답 속성을 제공합니다:
속성 | 유형 | 설명 |
---|---|---|
name
| 문자열 | SAML 그룹의 이름 |
access_level
| 정수 | SAML 그룹의 멤버들을 위한 역할 (access_level )
|
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/saml-group-1"
예시 응답:
{
"name": "saml-group-1",
"access_level": 10,
"member_role_id": 12
}
SAML 그룹 링크 추가하기
그룹에 SAML 그룹 링크를 추가합니다.
POST /groups/:id/saml_group_links
지원되는 속성:
속성 | 유형 | 필수 | 설명 |
---|---|---|---|
id
| 정수 또는 문자열 | 예 | 그룹의 ID 또는 URL-encoded 경로 |
saml_group_name
| 문자열 | 예 | SAML 그룹의 이름 |
access_level
| 정수 | 예 | SAML 그룹의 멤버들을 위한 역할 (access_level )
|
member_role_id
| 정수 | 아니오 | SAML 그룹의 멤버들을 위한 멤버 역할 ID (member_role_id )
|
성공적인 경우 201
을 반환하며 다음과 같은 응답 속성을 제공합니다:
속성 | 유형 | 설명 |
---|---|---|
name
| 문자열 | SAML 그룹의 이름 |
access_level
| 정수 | SAML 그룹의 멤버들을 위한 역할 (access_level )
|
member_role_id
| 정수 | 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-encoded 경로 |
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
상태 코드를 반환합니다.