이 문서에서는 ID 공급자(IdP)를 사용하여 사용자 및 사용자 그룹을 프로비저닝하기 위해 Cato의 SCIM API를 사용하는 방법을 설명합니다.
IdP 테넌트에서 사용자 지정 SCIM 앱에 대한 더 많은 정보는 IdP를 위한 사용자 지정 SCIM 앱 만들기를 참조하세요.
사용자 지정 네트워크 SCIM 앱
사용자 정의 SCIM 앱을 사용하여 사용자 및 사용자 그룹을 Cato 계정에 프로비저닝하려면 Cato 관리 애플리케이션(CMA)에 앱을 생성하십시오. 또한 IdP의 속성에 Cato SCIM 속성을 매핑해야 합니다.
CMA에서 사용자 지정 SCIM 앱 만들기
SCIM API를 사용하려면 먼저 CMA에서 사용자 정의 SCIM 앱을 만들어야 합니다. 이 앱을 사용하면 IdP와 Cato 플랫폼을 통합할 수 있습니다.
CMA에서 사용자 정의 SCIM 앱을 생성하려면:
네비게이션 메뉴에서 클라우드 액세스 > 디렉토리 서비스를 선택합니다.
SCIM 탭에서 새로 만들기를 클릭합니다.
앱의 이름을 입력하세요.
공급업체에서 사용자 정의를 선택합니다.
토큰 생성을 클릭하고 값을 복사하세요; 저장 후에는 사용할 수 없으므로 새 토큰을 생성해야 합니다.
저장을 클릭하십시오.
아래 설명된 SCIM API 엔드포인트를 호출할 때 인증을 위해 다음 값을 필요로 합니다:
SCIM Base URL: API 요청의 기본 경로로 사용됩니다.
Bearer Token: API 요청 검증에 사용됩니다.
Cato SCIM 속성
이것들은 Cato 사용자 및 사용자 그룹의 SCIM 속성으로서 IdP 속성에 매핑해야 합니다.
Cato 사용자 속성 | 설명 |
|---|---|
사용자 이름 | 인증을 위한 사용자 이름 |
user.firstName | 사용자의 이름 |
user.lastName | 사용자의 성 |
user.email | 이메일 주소 |
user.displayName | 사용자의 표시 이름 |
phoneNumbers[type eq "work"].value | 사용자의 업무 전화번호(접두어 포함) |
externalId | 사용자를 위한 ID (이벤트에서 사용됨) |
Cato 사용자 그룹 속성 | 설명 |
|---|---|
활성화됨 | 사용자가 SCIM 앱에 할당되고 활성화됨 |
displayName | 사용자 그룹의 이름 |
members | 사용자 그룹에 속하는 사용자 |
externalId | 사용자 그룹의 ID(이벤트에서 사용됨) |
Cato SCIM API 이해하기
Cato SCIM API 인증
클라이언트는 RFC 6750에 정의된 바와 같이 bearer 토큰 인증을 사용하여 SCIM API에 인증합니다. 모든 API 요청에는 다음 HTTP 헤더가 포함되어야 합니다:
Authorization: Bearer <access_token>
Content-Type: application/jsonCato 관리 애플리케이션에서 액세스 토큰을 얻을 수 있습니다.
SCIM 엔드포인트의 기본 경로
모든 SCIM API 엔드포인트는 다음 기본 경로를 사용합니다:
/scim/v2/{accountId}/{sourceId}경로 매개변수:
accountId(string): Cato 테넌트 계정의 고유 식별자sourceId(integer): 특정 IdP 통합을 고유하게 표현하기 위해 Cato에서 할당한 식별자
모든 요청에 이러한 매개변수가 필요하지만 이 문서에서는 간결함을 위해 개별 엔드포인트 경로에서 생략되었습니다.
사용자 관리
이 섹션에서는 Cato SCIM API를 사용하여 SCIM 사용자 엔티티를 생성, 업데이트, 삭제 및 검색하는 방법을 설명합니다.
사용자 만들기
HTTP 메서드: POST /사용자
필요한 필드:
userName(string): 고유 사용자 이름 (예: 이메일 주소)externalId(string): IdP의 외부 식별자active(boolean): 사용자를 활성화하려면true여야 합니다.
참고: id는 SCIM 서비스에 의해 반환되며 이후 API 호출에서 사용해야 합니다. externalId는 선택 사항이며 API 경로에서 사용할 수 없습니다.
응답:
상태:
201 Created
오류:
400 Bad Request: 잘못된 스키마401 Unauthorized409 Conflict:userName또는externalId중복
사용자 업데이트
PUT
HTTP 메서드: PUT /사용자/{id}
필요한 필드:
id: Cato의 내부 SCIM ID
응답:
상태:
200 OK
오류:
401 Unauthorized404 Not Found409 Conflict:userName또는externalId중복
PATCH
HTTP 메서드: PATCH /사용자/{id}
응답:
상태:
200 OK
오류:
400 잘못된 요청: 유효하지 않은 스키마 또는 패치 문법401 Unauthorized404 Not Found409 Conflict: 중복 식별자
사용자 삭제
HTTP 메서드:DELETE /Users/{id}
응답:
상태:
204 내용 없음
이것은 소프트 삭제입니다. 사용자는 시스템에 남아 있지만 검색에서는 반환되지 않습니다.
ID로 사용자 가져오기
HTTP 메서드:GET /Users/{id}
응답:
상태:
200 OK
오류:
401 Unauthorized404 Not Found
사용자 검색
HTTP 메서드:GET /Users
쿼리 매개변수:
filter: 사용자를 필터링하는 쿼리 (예:userName eq "user@domain.com")count(선택 사항)startIndex(선택 사항)
지원되는 필터:
eq만 지원됨지원되는 속성:
userName,email,givenName,familyName복합 필터는 이 형식만 지원됩니다:
filter=emails[type eq "work"] 그리고 email eq "bob@cato.com"
응답:
상태:
200 OK
오류:
401 Unauthorized
그룹 관리
이 섹션에서는 Cato 환경에서 그룹 엔터티를 생성, 업데이트, 삭제, 그리고 검색하기 위해 SCIM API를 사용하는 방법을 설명합니다.
그룹 생성
HTTP 메서드:POST /Groups
응답:
상태:
201 Created
오류:
401 Unauthorized409 Conflict: 중복된displayName또는 객체 ID
그룹 업데이트
PUT
HTTP 메서드:PUT /Groups/{id}
응답:
상태:
200 OK
오류:
401 Unauthorized404 Not Found409 충돌
PATCH
HTTP 메서드:PATCH /Groups/{id}
지원되는 패치 경로:
displayNamemembers
응답:
상태:
200 OK
오류:
400 잘못된 요청: 유효하지 않은 스키마 또는 패치 문법401 Unauthorized404 Not Found409 충돌
그룹 삭제
HTTP 메서드:DELETE /Groups/{id}
응답:
상태:
204 내용 없음
중요:
이것은 하드 삭제입니다. 그룹이 영구적으로 삭제됩니다.
ID로 그룹 가져오기
HTTP 메서드:GET /Groups/{id}
선택적 쿼리 매개변수:
excludeAttributes(예:members)
응답:
상태:
200 OK
오류:
401 Unauthorized404 Not Found
그룹 검색
HTTP 메서드:GET /Groups
쿼리 매개변수:
filter:displayName eq "Group Name"만 지원됩니다count(선택 사항)startIndex(선택 사항)
복합 필터 또는 지원되지 않는 연산자는 필터링 없이 모든 그룹을 반환합니다.
응답:
상태:
200 OK
오류:
401 Unauthorized
참고 사항
생성 시 id 필드의 동작
id필드는 사용자 및 그룹 생성 요청에서 선택 사항입니다.누락되면 SCIM 서비스가 고유한
id를 생성합니다.항상 후속 API 호출에서 반환된
id값을 사용하십시오.
중요:
필요하지 않은 경우 클라이언트 생성 ID 사용을 피하세요. SCIM id는 권위 있는 식별자입니다.
삭제 동작
사용자 삭제
DELETE /Users/{id}는 소프트 삭제를 수행하며,active필드를false로 설정합니다. 사용자는GET /Users/{id}를 통해 검색할 수 있지만GET /Users결과에는 제외됩니다.그룹 삭제
DELETE /Groups/{id}는 강제 삭제를 수행합니다. 그룹이 영구적으로 삭제됩니다.