이번에 더 배울 것
Ontology SDK(OSDK)는 개발 환경에서 온톨로지를 직접 쓰게 하는 SDK입니다. 문서에 따르면 TypeScript(npm), Python(pip·Conda), Java(Maven)를 지원하고, 그 밖의 언어는 OpenAPI 명세로 쓸 수 있습니다. OSDK 애플리케이션은 Developer Console에서 만들고 관리합니다. 타입이 지정된 코드로 객체를 조회하고 온톨로지에 다시 쓸 수 있으며, 온톨로지 구조에 대한 정보를 코드 편집기 안에서 바로 확인할 수 있습니다.
보안 모델이 핵심입니다. 문서는 OSDK가 애플리케이션이 접근하려는 온톨로지 엔티티로만 범위가 제한된 토큰을 쓰고, 여기에 사용자 자신의 데이터 권한이 더해진다고 설명합니다. 즉 앱이 실제로 보는 데이터는 ‘앱에 허용한 범위’와 ‘로그인한 사용자가 볼 수 있는 범위’의 교집합입니다. 행·열 접근 통제도 그대로 적용되어, 사용자가 권한 없는 데이터는 앱에서도 볼 수 없습니다.
외부 앱이나 에이전트에서도 쓰기는 액션을 통해 하도록 설계하는 편이 좋습니다. 그래야 액션의 제출 조건과 액션 로그가 앱 밖에서 들어온 편집에도 똑같이 적용됩니다. 문서는 AIP Chatbot도 Ontology SDK와 플랫폼 API로 외부에 배포할 수 있다고 밝힙니다. 한계로, 앱 범위를 넓게 열어 두면 권한이 넓은 사람이 쓸 때 노출 범위도 함께 넓어지므로, 앱 범위는 그 앱의 기능에 필요한 객체 타입으로 좁힙니다.
작은 예제로 따라가기
배송 추적 앱의 범위: Shipment와 Warehouse 객체 타입, ‘도착 예정 시각 갱신’ 액션만 허용합니다.
W-1 부산센터 직원(권한: W-1의 Shipment, Warehouse, Customer)이 로그인하면 앱은 W-1의 Shipment와 Warehouse만 보여 줍니다. Customer는 앱 범위 밖이라 보이지 않습니다.
외부 운송사 사용자(권한: 자기 운송 건 Shipment)가 같은 앱을 쓰면 자기 운송 건만 보이고, 도착 예정 시각 갱신도 액션의 제출 조건을 통과해야 실행됩니다.
앱 범위와 사용자 권한의 교집합
앱 범위가 {Shipment, Warehouse}일 때 사용자마다 앱에서 무엇이 보일지 먼저 적어 보세요.
사용자는 Customer도 볼 수 있지만 앱 범위 밖이라 앱에서는 보이지 않습니다.
학습을 시작하면 새 문제를 직접 풀고 확인 퀴즈를 마친 뒤 선택한 본과정 회차로 돌아갑니다.