Fil-SDK-e-postfilbearbetning
MIP SDK stöder dekryptering och kryptering för e-postmeddelanden. Både .msg filer som genereras av Outlook- eller Exchange-filer och .rpmsg-filer stöds av SDK:n, men med lite olika metoder.
Vanliga användningsfall för det här scenariot är:
- Dekryptera e-post och bifogade filer för granskning av dataförlustskydd (DLP).
- Publicera skyddade meddelanden direkt från verksamhetsspecifika program
- Dekryptera, ändra och skydda meddelanden på nytt under överföring.
- Använd etiketter för e-postmeddelanden från DLP- eller e-postgatewaytjänster.
MSG-filstödsats
MIP SDK stöder skyddsprogram och borttagning för MSG-filer. Med tanke på de olika kodningstyperna och variablerna i formatet genom åren går det inte att garantera att MIP SDK kan ta bort skyddet från alla MSG-filer. I följande avsnitt beskrivs support för MSG-filer från olika källor.
- Det finns fullt stöd för att ta bort skydd från MSG-filer som har skyddats med MIP SDK.
- Borttagning av skydd från MSG-filer som skapats av versioner av Outlook-klienten som stöds stöds fullt ut.
- Att ta bort skydd från MSG-filer som skapats av out-of-support-versioner av Outlook-klienten stöds på bästa sätt.
- Återaktivering av skydd av MSG-filer är inte tillgängligt med skyddade etiketter. Användarna måste ta bort skyddet och ta bort den skyddade etiketten explicit innan de skyddar filen igen med en annan etikett.
Etikettering av MSG-filer
MIP SDK stöder läsning och skrivning av etiketter på MSG-filer. Underordnade bifogade filer ärver inte etiketten, men ärver skyddsinställningarna. Mer information finns i Etikettering och skyddsåtgärder i Fil-SDK för .msg filer .
Etikettering och skyddsåtgärder i Fil-SDK för .msg filer
Fil-SDK stöder etikettering och skyddsåtgärder för .msg filer på ett sätt som är identiskt med alla andra filtyper, förutom att SDK:t behöver programmet för att aktivera MSG-funktionsflaggan.
Som tidigare nämnts kräver instansiering av ett inställningsobjekt FileEngine
, FileEngineSettings
.
FileEngineSettings
kan användas för att skicka in parametrar för anpassade inställningar för att uppfylla specifika programbehov. Om du vill aktivera MIP SDK för att bearbeta MSG-filer CustomSettings
används egenskapen FileEngineSettings
för objektet för att ange flaggan för att enable_msg_file_type
aktivera bearbetning av .msg filer.
Om du har skapat ett FileEngineSettings
objekt med namnet engineSettings anger du den här egenskapen i .NET på följande sätt:
engineSettings.CustomSettings = new List<KeyValuePair<string, string>>();
engineSettings.CustomSettings.Add(new KeyValuePair<string, string>("enable_msg_file_type", "true"));
Pseudokoden .msg filskyddsåtgärder kan se ut så här:
- Ange
enable_msg_file_type
flaggan imip::FileEngineSettings
och lägg tillmip::FileEngine
imip::FileProfile
. -
FileEngine
Använd för att hämta listan med etiketter för användaren. - Konstruera
mip::FileHandler
som pekar på filen som ska märkas. - Välj en etikett och använd
mip::FileHandler
metoden 'sSetLabel
för att tillämpa etiketten.
Se Snabbstart: Lista etiketter för information om hur du listar etiketter.
Ändra standardbeteenden för hantering av bifogade filer
Som standard försöker File SDK bearbeta alla bifogade filer som ingår i en MSG-fil eller en message.rpmsg-fil när du använder kontroll-API:erna. Endast rotnivåobjektet och den första nivån av bifogade filer dekrypteras som standard.
Om du vill ändra det här beteendet kan du använda den anpassade inställningen container_decryption_option
. I C++exponeras detta via en uppräkning, mip::ContainerDecryptionOption
.
Alternativnamn | Beskrivning |
---|---|
All |
Dekrypterar MSG-filen och bifogade filer. Om den bifogade filen är en MSG dekrypterar den rekursivt MSG och dess bifogade filer. Det kommer att rekursera högst tio nivåer innan mip::BadInputError("Max depth reached on nested msg attachments") kastas |
Default |
Samma som Msg . |
Msg |
Dekrypterar MSG och bifogade filer på första nivån. Rekursivt dekrypterar inte bifogade MSG-filer. |
Top |
Dekryptera endast MSG-filen och dekryptera inte bifogade filer. |
I följande exempel visas hur du anger att ett program i .NET endast ska dekryptera rot-MSG-filen.
engineSettings.CustomSettings.Add(new KeyValuePair<string, string>("container_decryption_option", "Top"));
Och i C++:
vector<pair<string, string>> customSettings;
customSettings.emplace_back(mip::GetCustomSettingContainerDecryptionOption(),
mip::ContainerDecryptionOptionString(mip::ContainerDecryptionOption::Top));
engineSettings.SetCustomSettings(customSettings);
Fil-SDK-åtgärder för .rpmsg-filer
MIP SDK exponerar en inspektionsfunktion som kan dekryptera filen embedded message.rpmsg och presentera en uppsättning byteströmmar som utdata. Det är upp till SDK-konsumenten att extrahera filen message.rpmsg och skicka den till kontroll-API:et. Varianter av det här filnamnet finns för Scenarier med Purview-meddelandekryptering och API:et accepterar även message_v2-, v3- eller v4-filer.
Viktigt!
Kontroll-API :et tillhandahåller inte några utdata som resulterar i en användbar fil, och du kan inte heller skydda indatafilen igen. Den matar ut strömmar med byte som ditt program sedan kan bearbeta ytterligare. Att återskapa MSG-filer från message.rpmsg-filer stöds inte av MIP SDK.
Vanligtvis hanterar tjänster för e-postgateway och dataförlustskydd (DLP) MIME-kompatibla meddelanden medan e-post överförs. När e-post skyddas lagras det krypterade innehållet i meddelandet i en bifogad fil, message.rpmsg. Den här bifogade filen innehåller det krypterade e-postmeddelandets brödtext och eventuella bifogade filer som ingick i det ursprungliga meddelandet. Rpmsg-filen kopplas sedan till ett e-postmeddelande med klartextomslutning och skickas till e-posttjänsten. När meddelandet lämnar Exchange- eller Exchange Online-gränsen är det i MIME-kompatibelt format så att det kan skickas till målet.
I de flesta fall måste DLP-tjänsten hämta bifogade filer och oformaterade byte från meddelandet för att inspektera och utvärdera mot DLP-principer. Kontroll-API:et tar message.rpmsg som indata och returnerar byteströmmar som utdata. Dessa byteströmmar innehåller meddelandets oformaterade byte och bifogade filer. Det är upp till programutvecklaren att hantera dessa strömmar och att göra något användbart med dem (inspektera, rekursivt dekryptera osv.).
API:et Inspect
implementeras via en klass, mip::FileInspector
, som exponerar åtgärder för att inspektera filtyper som stöds.
mip::MsgInspector
som utökar mip::FileInspector
, exponerar dekrypteringsåtgärder som är specifika för rpmsg-filformat. MIP SDK stöder inga publiceringsscenarier för message.rpmsg-filer . Dessutom stöder API:et FileHandler::RemoveProtection()
inte message.rpmsg-filer.
Message.rpmsg-filer kan endast dekrypteras för inspektion och kommer inte att mata ut en giltig, användbar fil. Om programmet kräver ett filutdata måste du skicka in en MSG-fil och ta bort skyddet från objektet.
mip::MsgInspector
klassen exponerar nedanstående medlemmar:
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
Mer information finns i Microsoft Information Protection (MIP) SDK för C++: Referens.
Nästa steg
- Granska snabbstarten File SDK – Process email .msg files (C++)
- Granska snabbstarten File SDK – Process email .msg files (C#)