Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El SDK de MIP admite el descifrado y el cifrado de mensajes de correo electrónico. El SDK admite archivos .msg, generados por Outlook o Exchange, y archivos .rpmsg a través de métodos ligeramente diferentes.
Nota:
A partir del SDK de MIP 1.17, se admiten .eml archivos. El control es similar a .msg para escenarios de etiquetado y protección y a .rpmsg para escenarios de inspección, en función del formato de contenedor.
Los casos de uso comunes para los archivos de .msg son:
- Aplicar etiquetas a los correos electrónicos procedentes de servicios DLP o de servicios de puerta de enlace de correo.
- Descifra documentos confidenciales que se van a examinar con eDiscovery.
- Descifrar, modificar y volver a proteger los mensajes en tránsito.
- Publique mensajes protegidos directamente desde aplicaciones de línea de negocio.
Cuando se proporciona un archivo .msg como entrada, el SDK de MIP genera un archivo .msg etiquetado, protegido o desprotegido.
Los casos de uso comunes para archivos .rpmsg son:
- Descifrar el correo electrónico y los datos adjuntos para la inspección de prevención de pérdida de datos (DLP).
Cuando se le proporciona un archivo .rpmsg como entrada, el SDK de MIP inspecciona los bytes del cuerpo del mensaje y los archivos adjuntos. El descifrado de un archivo .rpmsg no genera un archivo .rpmsg como salida.
Declaración de compatibilidad con archivos MSG
El SDK de MIP admite la aplicación de protección y la eliminación de archivos MSG. Dada la variedad de tipos de cifrado y variables en el formato a lo largo de los años, no es posible garantizar que el SDK de MIP pueda quitar la protección de todos los archivos MSG. En la sección siguiente se describe la compatibilidad con archivos MSG de varios orígenes.
- La eliminación de la protección de los archivos MSG protegidos con el SDK de MIP es un proceso totalmente compatible.
- La eliminación de la protección de los archivos MSG creados por las versiones compatibles del cliente de Outlook también es proceso totalmente compatible.
- La eliminación de la protección de los archivos MSG creados por versiones no compatibles del cliente de Outlook se trata de procesar siempre dentro de lo posible.
- EL SDK de MIP no admite la reprotección de archivos MSG con etiquetas protegidas. Los usuarios deben desproteger y quitar la etiqueta protegida explícitamente antes de volver a proteger el archivo con otra etiqueta.
Etiquetado de archivos MSG
El SDK de MIP admite la lectura y escritura de etiquetas en archivos MSG. Los adjuntos secundarios no heredan la etiqueta, pero sí la configuración de protección. Para obtener más información, consulte Operaciones de etiquetado y de protección en el SDK de File para archivos .msg.
Operaciones de etiquetado y protección en el SDK de archivos para archivos .msg
El SDK de archivos admite operaciones de etiquetado y protección para .msg archivos de una manera idéntica a cualquier otro tipo de archivo, excepto que el SDK necesita la aplicación para habilitar la marca de característica MSG.
Como se ha comentado anteriormente, la creación de instancias de FileEngine requiere un objeto de configuración, FileEngineSettings.
FileEngineSettings pasa parámetros para la configuración personalizada para satisfacer necesidades específicas de la aplicación. Para habilitar el SDK de MIP para procesar archivos MSG, la CustomSettings propiedad del FileEngineSettings objeto establece la marca para enable_msg_file_type.
Si crea un FileEngineSettings objeto denominado engineSettings, establezca esta propiedad en .NET como se indica a continuación:
engineSettings.CustomSettings = new List<KeyValuePair<string, string>>();
engineSettings.CustomSettings.Add(new KeyValuePair<string, string>("enable_msg_file_type", "true"));
El pseudocódigo de las operaciones de protección del archivo .msg es el siguiente:
- Establezca la marca
enable_msg_file_typeenmip::FileEngineSettingsy agreguemip::FileEngineamip::FileProfile. - Use
FileEnginepara capturar la lista de etiquetas del usuario. - Genere
mip::FileHandlerde manera que apunte al archivo que se va a etiquetar. - Seleccione una etiqueta y use el método
mip::FileHandlerdeSetLabelpara aplicar la etiqueta.
Consulte Inicio rápido: Enumeración de etiquetas para obtener información sobre cómo enumerar etiquetas.
Cambio de los comportamientos de control de datos adjuntos predeterminados
De forma predeterminada, al usar las API de inspección, el SDK de archivos intenta procesar todos los datos adjuntos que forman parte de un archivo MSG o un archivo message.rpmsg. De forma predeterminada, solo se descifra el elemento de nivel raíz y el primer nivel de datos adjuntos.
Para modificar este comportamiento, use la configuración container_decryption_optionpersonalizada . En C++, el SDK expone esta configuración a través de una enumeración, mip::ContainerDecryptionOption.
| Nombre de la opción | Descripción |
|---|---|
All |
Descifra el archivo MSG y los datos adjuntos. Si los datos adjuntos son un MSG, descifra de forma recursiva el MSG y sus datos adjuntos. Hace recursión un máximo de diez niveles antes de generar mip::BadInputError("Max depth reached on nested msg attachments"). |
Default |
Igual a Msg. |
Msg |
Descifra los archivos MSG y los adjuntos de primer nivel. No descifra de forma recursiva los archivos MSG adjuntos. |
Top |
Descifra solo el archivo MSG y no descifra los datos adjuntos. |
En el ejemplo siguiente se muestra cómo configurar una aplicación en .NET para descifrar solo el archivo MSG raíz.
engineSettings.CustomSettings.Add(new KeyValuePair<string, string>("container_decryption_option", "Top"));
Y en C++:
vector<pair<string, string>> customSettings;
customSettings.emplace_back(mip::GetCustomSettingContainerDecryptionOption(),
mip::ContainerDecryptionOptionString(mip::ContainerDecryptionOption::Top));
engineSettings.SetCustomSettings(customSettings);
Operaciones del SDK de archivos para archivos .rpmsg
El SDK de MIP incluye una función de inspección que puede descifrar el archivo message.rpmsg integrado y presentar un conjunto de secuencias de bytes como salida. El consumidor del SDK debe extraer el archivo message.rpmsg y pasarlo a la API de inspección. Existen variaciones de este nombre de archivo para escenarios de cifrado de mensajes de Purview y la API también acepta message_v2, v3 o v4 archivos.
Importante
La API de inspección no proporciona una salida que da como resultado un archivo utilizable, ni permite volver a proteger el archivo de entrada. Emite secuencias de bytes que tu aplicación puede seguir procesando. EL SDK de MIP no admite la recreación de archivos MSG desde archivos message.rpmsg .
En la mayoría de los casos, el servicio DLP debe obtener los datos adjuntos y bytes de texto no cifrado del mensaje para inspeccionarlos y evaluarlos en comparación con las directivas DLP. La API de inspección toma message.rpmsg como entrada y devuelve secuencias de bytes como salida. Estas secuencias de bytes contienen los bytes de texto no cifrado del mensaje y los datos adjuntos. El desarrollador de aplicaciones controla estos flujos y los procesa más (inspeccionar, descifrar de forma recursiva, etc.).
La Inspect API usa la mip::FileInspector clase , que expone las operaciones para inspeccionar los tipos de archivo admitidos.
mip::MsgInspector, que extiende mip::FileInspector, expone operaciones de descifrado específicas del formato de archivo rpmsg. El SDK de MIP no admite ningún escenario de publicación para archivos message.rpmsg. Además, la API FileHandler::RemoveProtection() no admite archivos message.rpmsg. Puede descifrar los archivos message.rpmsg solo para la inspección y la API no genera un archivo válido y utilizable. Si la aplicación requiere una salida de archivo, pase un archivo MSG y quite la protección de ese objeto.
La clase mip::MsgInspector expone los siguientes miembros:
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
Para obtener más información, consulte El SDK de Microsoft Information Protection (MIP) para C++: Referencia.