Skip to main content

6) AIP Label Configuration

Convert general documents to AIP documents

API

MethodURL
POST/api/internal/protect

Request Header

NameRequiredDescription
AuthorizationrequiredUser authentication method, JWT value
Authorization: Bearer {JWT}
Note: The JWT value is issued through the authentication/authorization service.

Request Body

NameRequiredTypeDescription
companyIdrequiredstringCompany ID using the target document (used when retrieving key data by company)
labelIdrequired/optionalstringLabel ID to apply
labelNamerequired/optionalstringLabel name to apply
- Apply using labelName if labelId is not available.
srcFilePathrequiredstringOriginal general document path
- Only general documents can be converted.
dstFilePathrequiredstringConverted AIP document path
extraInfooptionalstringInput additional information in JSON format (refer to the extraInfo data description table and sample data below)
setProtectoptionalbooleanProtect setting status
extraInfo Data Description Table
KeyRequiredTypeDescription
sourcerequiredjson
namerequiredstringCall System Name
fromrequiredstringCall System URL
userjson
idstringUser ID
namestringUsername
departstringAll User Departments (Top Group/Middle Group/Lower Group)
dutystringUser Job Title
  • Sample Data
{
"source": {
"name": "EKMS",
"from": "https://devekms.softcamp.co.kr"
},
"user": {
"id": "ekmsTest@softcamp.co.kr",
"name": "ekmsTest",
"depart": "임직원/연구소/개발실/개발1팀",
"duty": "과장"
}
}

Response

NameTypeDescription
codeint0 : Success
Value other than 0: Error
messagestring"OK" : Success
Other Value Error Message

Examples

Request

  • Body
[labelId 사용]
{
"companyId": "gNzvLhk8-cVXfQ41A-FSfFVW0m-w4yc4M00",
"labelId": "070b7e3a-bb66-47e0-8196-7d030d54190d",
"srcFilePath" : "/opt/shieldrm/data/test.xlsx",
"dstFilePath" : "/opt/shieldrm/dataout_test.xlsx" ,
"extraInfo" : "{\"source\":{\"name\":\"EKMS\",\"from\":\"https://devekms.softcamp.co.kr\"},\"user\":{\"id\":\"ekmsTest@softcamp.co.kr\",\"name\":\"ekmsTest\",\"depart\":\"임직원/연구소/개발실/개발1팀\",\"duty\":\"과장\"}}"
}

[labelName 사용]
{
"companyId": "gNzvLhk8-cVXfQ41A-FSfFVW0m-w4yc4M00",
"labelName": "Protected by SHIELDRM(DEV)",
"srcFilePath" : "/opt/shieldrm/data/test.xlsx",
"dstFilePath" : "/opt/shieldrm/dataout_test.xlsx" ,
"extraInfo" : "{\"source\":{\"name\":\"EKMS\",\"from\":\"https://devekms.softcamp.co.kr\"},\"user\":{\"id\":\"ekmsTest@softcamp.co.kr\",\"name\":\"ekmsTest\",\"depart\":\"임직원/연구소/개발실/개발1팀\",\"duty\":\"과장\"}}"
}

Response

  • success
{
"code": 0,
"message" : "OK"
}
  • failure
  • Status code : 400 Bad Request
[필수 파라미터 없음]
{
"code": 40001,
"message": "Missing required input values"
}

[미지원 확장자 문서인 경우]
{
"code": 40010,
"message": "Unsupported file extension."
}

[비밀번호 설정된 일반 문서]
{
"code": 40010,
"message": "The file has been protected using non RMS technologies"
}

[원본 문서가 AIP 문서인 경우]
{
"code": 40010,
"message": "File is already Protected."
}
  • Status code : 401 UNAUTHORIZED
{
"code": 40001,
"message": "Invalid token"
}
  • Status code : 500 INTERNAL_SERVER_ERROR
[AIP SDK 에러]
{
"code": 60001,
"message": "com.microsoft.informationprotection.internal.gen.Error: NoAuthTokenError: Client application failed to provide authentication token for HTTP request., CorrelationId=a2d2f6b1-4265-482b-bc7d-18c88f8284bd, CorrelationId.Description=PolicyProfile"
}

[내부 서비스 에러]
{
"code": 50001,
"message": "400 : \"{\"code\":40011,\"message\":\"Unable to AzureInfo\",\"detail\":\"OpenidTenant is Empty\"}\""
}
{
"code": 50001,
"message": "No matching labelId found"
}