MIP SDK는 이메일 메시지에 대한 암호 해독 및 암호화를 지원합니다. SDK는 Outlook 또는 Exchange 의해 생성된 .msg 파일과 약간 다른 메서드를 통해 .rpmsg 파일을 모두 지원합니다.
비고
MIP SDK 1.17을 기준으로 .eml 파일이 지원됩니다. 처리 방식은 컨테이너 형식에 따라 레이블 지정/보호 시나리오의 경우 .msg와 유사하고, 검사 시나리오의 경우 .rpmsg와 유사합니다.
.msg 파일의 일반적인 사용 사례는 다음과 같습니다.
- DLP 또는 메일 게이트웨이 서비스의 이메일에 레이블을 적용합니다.
- eDiscovery를 사용하여 검사할 중요한 문서의 암호를 해독합니다.
- 전송 중인 메시지의 암호를 해독, 수정 및 다시 보호합니다.
- LOB(기간 업무) 애플리케이션에서 직접 보호된 메시지를 게시합니다.
.msg 파일을 입력으로 지정하면 MIP SDK는 레이블이 지정되거나 보호되거나 보호되지 않은 .msg 파일을 출력합니다.
.rpmsg 파일의 일반적인 사용 사례는 다음과 같습니다.
- DLP(데이터 손실 방지) 검사를 위해 메일 및 첨부 파일의 암호를 해독합니다.
.rpmsg 파일을 입력으로 지정하면 MIP SDK는 본문 바이트 및 첨부 파일을 검사합니다. .rpmsg 파일의 암호를 해독해도 .rpmsg 파일이 출력으로 생성되지 않습니다.
MSG 파일 지원 안내
MIP SDK는 MSG 파일에 대한 보호 애플리케이션 및 제거를 지원합니다. 수년에 걸쳐 다양한 형식의 인코딩 형식 및 변수를 고려할 때 MIP SDK가 모든 MSG 파일에서 보호를 제거할 수 있다고 보장할 수 없습니다. 다음 섹션에서는 다양한 원본의 MSG 파일에 대한 지원 가능성을 설명합니다.
- MIP SDK로 보호된 MSG 파일에서 보호를 제거하는 기능이 완전히 지원됩니다.
- 현재 지원되는 버전의 Outlook 클라이언트에서 만든 MSG 파일에서 보호를 제거하는 기능이 완전히 지원됩니다.
- 지원되지 않는 버전의 Outlook 클라이언트에서 만든 MSG 파일에서 보호를 제거하는 기능이 최상의 노력으로 지원됩니다.
- MIP SDK는 보호된 레이블이 있는 MSG 파일의 다시 보호를 지원하지 않습니다. 사용자는 다른 레이블로 파일을 다시 보호하기 전에 보호된 레이블의 보호를 해제하고 명시적으로 제거해야 합니다.
MSG 파일의 레이블 지정
MIP SDK는 MSG 파일에서 레이블 읽기 및 쓰기를 지원합니다. 자식 첨부 파일은 레이블을 상속하지 않지만 보호 설정을 상속합니다. 자세한 내용은 .msg 파일에 대한 파일 SDK의 레이블 지정 및 보호 작업을 참조하세요.
.msg 파일에 대한 파일 SDK의 레이블 지정 및 보호 작업
파일 SDK는 MSG 기능 플래그를 사용하도록 설정하기 위해 애플리케이션이 필요하다는 점을 제외하고 다른 파일 형식과 동일한 방식으로 .msg 파일에 대한 레이블 지정 및 보호 작업을 지원합니다.
앞서 설명한 것처럼 FileEngine의 인스턴스화에는 설정 개체 FileEngineSettings가 필요합니다.
FileEngineSettings 는 특정 애플리케이션 요구 사항을 충족하기 위해 사용자 지정 설정에 대한 매개 변수를 전달합니다. MIP SDK가 MSG 파일을 처리할 수 있도록 CustomSettings 개체의 FileEngineSettings 속성은 enable_msg_file_type에 대한 플래그를 설정합니다.
FileEngineSettings라는 개체를 만드는 경우 .NET에서 이 속성을 다음과 같이 설정합니다:
engineSettings.CustomSettings = new List<KeyValuePair<string, string>>();
engineSettings.CustomSettings.Add(new KeyValuePair<string, string>("enable_msg_file_type", "true"));
.msg 파일 보호 작업 의사 코드는 다음과 같습니다.
-
enable_msg_file_type플래그를mip::FileEngineSettings에 설정하고mip::FileEngine을mip::FileProfile에 추가합니다. -
FileEngine을 사용하여 사용자에 대한 레이블 목록을 가져옵니다. - 레이블이 지정될 파일을 가리키는
mip::FileHandler를 구성합니다. - 레이블을 선택하고
mip::FileHandler의SetLabel메서드를 사용하여 레이블을 적용합니다.
레이블을 나열하는 방법에 대한 자세한 내용은 빠른 시작: 레이블 나열을 참조하세요.
기본 첨부 파일 처리 동작 변경
기본적으로 파일 SDK는 검사 API를 사용할 때 MSG 파일의 일부인 모든 첨부 파일 또는 message.rpmsg 파일을 처리하려고 시도합니다. 루트 수준 항목과 첨부 파일의 첫 번째 수준만 기본적으로 암호 해독됩니다.
이 동작을 수정하려면 사용자 지정 설정을 container_decryption_option사용합니다. C++에서 SDK는 열거형 mip::ContainerDecryptionOption을 통해 이 설정을 노출합니다.
| 옵션 이름 | 묘사 |
|---|---|
All |
MSG 파일 및 첨부 파일의 암호를 해독합니다. 첨부 파일이 MSG인 경우 MSG 및 해당 첨부 파일을 재귀적으로 해독합니다. 최대 10단계까지 재귀적으로 호출된 후 mip::BadInputError("Max depth reached on nested msg attachments")를 발생시킵니다. |
Default |
Msg와 동일합니다. |
Msg |
MSG 및 첫 번째 수준 첨부 파일의 암호를 해독합니다. 연결된 MSG 파일의 암호를 재귀적으로 해독하지 않습니다. |
Top |
MSG 파일만 암호 해독하고 첨부 파일의 암호를 해독하지 않습니다. |
다음 예제에서는 루트 MSG 파일만 암호 해독하도록 .NET 애플리케이션을 구성하는 방법을 보여줍니다.
engineSettings.CustomSettings.Add(new KeyValuePair<string, string>("container_decryption_option", "Top"));
그리고 C++에서:
vector<pair<string, string>> customSettings;
customSettings.emplace_back(mip::GetCustomSettingContainerDecryptionOption(),
mip::ContainerDecryptionOptionString(mip::ContainerDecryptionOption::Top));
engineSettings.SetCustomSettings(customSettings);
.rpmsg 파일에 대한 파일 SDK 작업
MIP SDK는 포함된 message.rpmsg 파일의 암호를 해독하고 일련의 바이트 스트림을 출력으로 표시할 수 있는 검사 함수를 노출합니다. SDK 소비자는 message.rpmsg 파일을 추출하여 검사 API에 전달해야 합니다. 이 파일 이름의 변형은 Purview 메시지 암호화 시나리오에 대해 존재하며 API는 message_v2, v3 또는 v4 파일도 허용합니다.
중요
검사 API는 사용 가능한 파일을 생성하는 출력을 제공하지 않으며 입력 파일을 다시 보호할 수도 없습니다. 애플리케이션에서 추가로 처리할 수 있는 바이트 스트림을 출력합니다. MIP SDK는 message.rpmsg 파일에서 MSG 파일 다시 만들기를 지원하지 않습니다.
대부분의 경우 DLP 서비스는 DLP 정책을 검사하고 평가하기 위해 메시지에서 첨부 파일 및 일반 텍스트 바이트를 가져와야 합니다. 검사 API는 message.rpmsg를 입력으로 사용하고 바이트 스트림을 출력으로 반환합니다. 이러한 바이트 스트림에는 메시지 및 첨부 파일의 일반 텍스트 바이트가 포함됩니다. 애플리케이션 개발자는 이러한 스트림을 처리하고 추가로 처리합니다(검사, 재귀 암호 해독 등).
Inspect API는 지원되는 파일 형식을 검사하는 작업을 제공하는 mip::FileInspector 클래스를 사용합니다.
mip::FileInspector를 확장하는 mip::MsgInspector는 rpmsg 파일 형식에 특화된 암호 해독 작업을 제공합니다. MIP SDK는 message.rpmsg 파일에 대한 게시 시나리오를 지원하지 않습니다. 또한 API는 FileHandler::RemoveProtection() message.rpmsg 파일을 지원하지 않습니다. 검사용 으로만 message.rpmsg 파일의 암호를 해독할 수 있으며 API는 유효한 사용 가능한 파일을 출력하지 않습니다. 애플리케이션에 파일 출력이 필요한 경우 MSG 파일을 전달하고 해당 개체에서 보호를 제거합니다.
mip::MsgInspector 클래스는 다음 멤버를 노출합니다.
public const std::vector<uint8_t>& GetBody()
public BodyType GetBodyType() const
public BodyType GetBodyType() const
public InspectorType GetInspectorType() const
public std::shared_ptr<Stream> GetFileStream() const
자세한 내용은 C++용 MIP(Microsoft Information Protection) SDK: 참조를 참조하세요.