Service - 서비스 생성
회사에서 SHIELDrive 서비스를 사용하기 위해 사용한다.
- 인증/인가 서비스에 SHIELDrive을 생성한다.
- 서비스 사용을 위해 연관 서비스의 BuiltIn 정책을 등록한다.
- SHIELDrive 서비스에 해당 회사가 서비스 시작했음을 알리는 Notify 를 발생시킨다.
멱등성을 제공하므로 실패 시 원인 분석 후 재요청을 통해 서비스 생성 완료 가능
동작 플로우
앱서비스 설치
a. 해당 태넌트에 SHIELDrive 앱서비스가 설치되어 있는지 확인
a-1. 이미 설치 되어 있을 경우 해당 정보를 사용 a-2. 설치되어 있지 않을 경우 신규 설치
빌트인 정책 업데이트
a. 해당 태넌트의 빌트인 정보 조회
b. cssb, teams-event-collector, shieldrm-broker 용 빌트인 정책 각각 업데이트
notify 설정 업데이트
a. 해당 태넌트의 SHIELDrive 앱서비스 조회
b. 앱서비스에 notifyBaseURL 정보가 등록되어 있는지 확인
b-1. notifyBaseURL 가 이미 등록되어 있을 경우 업데이트 진행 안함 b-2. notifyBaseURL 가 없을 경우 업데이트 진행
c. 앱서비스 정보 업데이트 시 notify 전송이 실패될 경우 notifyBaseURL 초기화하고 오류 리턴
Method
POST
{{url}}/api-directory/service
Request Headers
KEY VALUE AuthorizationSecurity365 CLIENT_CREDENTIALS_JWT토큰
Request Body (json)
KEY OBJECT DESC userIdString 관리자 아이디 (필수)companyIdString 회사 extra (필수)companyName String 회사명 clientIdString 공용 MS SHIELDrive App client id (필수)secretString 공용 MS SHIELDrive App client secret (필수)targetAzureTenantId String MS 태넌트 id, MS를 사용하는 고객사의 경우 (필수)teamsAppId String 고객사에 설치된 SHIELDrive Teams App Id, MS를 사용하는 고객사의 경우 (필수)azureShieldrmCloudMipLabelGuid String MIP 라벨 아이디, MIP 사용하는 고객사의 경우 (필수) - 대표 라벨인거 같은데 추후 SHIELDRM을 통해 처리한다면 필요없어질듯azureShieldrmCloudMipUnprotectLabelGuid String MIP 해제 라벨 아이디, MIP 사용하는 고객사의 경우 (필수) - 대표 라벨인거 같은데 추후 SHIELDRM을 통해 처리한다면 필요없어질듯googleServiceaccountJsonkey String 구글 드라이브 연동을 위한 키, Google을 사용하는 고객사의 경우 (필수)
Response Body (json)
KEY OBJECT DESC clientId String 등록된 앱서비스 client id clientName String 등록된 앱서비스 이름 companyId String 회사 extra accessTokenValiditySeconds Integer access 토큰 유효 시간 refreshTokenValiditySeconds Integer refresh 토큰 유효 시간 tokenLifetimePolicy String 토큰생명 주기 설정 정책 authorizedGrantTypes List(String) 앱서비스 권한 타입 use Boolean 앱서비스 사용 여부 registeredRedirectUri List(String) RedirectUri scope List(String) 권한 notifyBaseURL String notify 받을 서비스 url notifyTarget List(String) notify 받을 범위 customSetting List(CustomSettingDto) 설정된 커스텀값 userCustomJWT Boolean 토큰내 커스텀 정보 표현 여부
Response Body CustomSettingDto (json)
KEY OBJECT DESC settingKey String 설정 Key settingValue String 설정 Value use boolean 사용여부
Exception Response Body (json)
KEY OBJECT DESC status int HTTP 리턴 코드 code int 오류 코드 message String 오류 메시지
Exception Code (HTTP - 500)
CODE MESSAGE DESC 1003 auth interface error 인증/인가 API 연동 실패 9100 failed get service information 앱서비스 조회 실패 9101 failed create service information 앱서비스 등록 실패 9102 failed update service notify information 앱서비스 Notify 설정 업데이트 실패 9110 failed get service builtin information