Pemrosesan file pesan email SDK

MIP SDK mendukung dekripsi dan enkripsi untuk pesan email. File .msg, yang dihasilkan oleh Outlook atau Exchange, dan file .rpmsg didukung oleh SDK meskipun melalui metode yang sedikit berbeda.

Nota

Pada MIP SDK 1.17, file .eml didukung. Penanganan mirip dengan .msg untuk skenario pelabelan/perlindungan dan ke .rpmsg untuk skenario inspeksi, tergantung pada format kontainer.

Kasus penggunaan umum untuk file .msg adalah:

  • Terapkan label ke email dari DLP atau layanan gateway email.
  • Dekripsikan dokumen sensitif agar dapat dipindai dengan eDiscovery.
  • Dekripsi, ubah, dan lindungi kembali pesan saat transit.
  • Terbitkan pesan yang dilindungi langsung dari aplikasi lini bisnis.

Saat diberikan file .msg sebagai input, MIP SDK menghasilkan file .msg berlabel, dilindungi, atau tidak terlindungi.

Kasus penggunaan umum untuk file .rpmsg adalah:

  • Dekripsi email dan lampiran untuk inspeksi pencegahan kehilangan data (DLP).

Saat menerima file .rpmsg sebagai input, MIP SDK memeriksa byte isi pesan dan lampiran. Mendekripsi file .rpmsg tidak menghasilkan file .rpmsg sebagai output.

Pernyataan Dukungan File MSG

MIP SDK mendukung aplikasi perlindungan dan penghapusan untuk file MSG. Mengingat berbagai jenis dan variabel pengodean dalam format selama bertahun-tahun, tidak mungkin untuk menjamin bahwa MIP SDK dapat menghapus perlindungan dari semua file MSG. Bagian berikut menjelaskan dukungan untuk file MSG dari berbagai sumber.

  • Menghapus perlindungan dari file MSG yang dilindungi dengan MIP SDK didukung sepenuhnya.
  • Menghapus perlindungan dari file MSG yang dibuat oleh versi klien Outlook yang saat ini didukung didukung sepenuhnya.
  • Menghapus perlindungan dari file MSG yang dibuat oleh versi klien Outlook yang tidak lagi didukung berdasarkan usaha terbaik.
  • Perlindungan ulang file MSG tidak tersedia dengan label yang dilindungi. Pengguna harus membuka proteksi dan menghapus label yang dilindungi secara eksplisit sebelum melindungi file lagi dengan label lain.

Pelabelan File Pesan MSG

MIP SDK mendukung label baca dan tulis pada file MSG. Lampiran anak tidak mewarisi label, tetapi mewarisi pengaturan perlindungan. Tinjau Operasi Pelabelan dan Perlindungan di File SDK untuk file .msg untuk detail selengkapnya.

Operasi Pelabelan dan Perlindungan di File SDK untuk file .msg

File SDK mendukung operasi pelabelan dan perlindungan untuk file .msg dengan cara yang identik dengan jenis file lain, kecuali bahwa SDK memerlukan aplikasi untuk mengaktifkan bendera fitur MSG.

Seperti yang dibahas sebelumnya, instansiasi FileEngine memerlukan objek pengaturan, FileEngineSettings. FileEngineSettings meneruskan parameter untuk pengaturan kustom untuk memenuhi kebutuhan aplikasi tertentu. Agar MIP SDK dapat memproses berkas MSG, properti CustomSettings dari objek FileEngineSettings menetapkan bendera untuk enable_msg_file_type.

Jika Anda telah membuat objek yang FileEngineSettings disebut engineSettings, Anda akan mengatur properti ini di .NET sebagai berikut:

engineSettings.CustomSettings = new List<KeyValuePair<string, string>>();
engineSettings.CustomSettings.Add(new KeyValuePair<string, string>("enable_msg_file_type", "true"));

Pseudocode operasi perlindungan file .msg mungkin terlihat seperti:

  • Atur enable_msg_file_type tanda di mip::FileEngineSettings dan tambahkan mip::FileEngine ke mip::FileProfile.
  • Gunakan FileEngine untuk mengambil daftar label untuk pengguna.
  • Buat mip::FileHandler yang menunjuk ke file yang akan diberi label.
  • Pilih label dan gunakan metode mip::FileHandler dari SetLabel untuk menerapkan label tersebut.

Referensi Panduan Memulai Cepat: Daftar label untuk informasi tentang cara mendaftarkan label.

Mengubah Perilaku Penanganan Lampiran Default

Secara default, File SDK mencoba memproses semua lampiran yang merupakan bagian dari file MSG, atau file message.rpmsg saat menggunakan API inspeksi. Hanya item tingkat akar dan tingkat lampiran pertama yang didekripsi secara default.

Untuk mengubah perilaku ini, pengaturan kustom container_decryption_option dapat digunakan. Di C++, ini diekspos melalui enum, mip::ContainerDecryptionOption.

Nama Opsi Deskripsi
All Mendekripsi file dan lampiran MSG. Jika lampiran adalah MSG, maka MSG dan lampirannya akan didekripsi secara rekursif. Ini berulang maksimum sepuluh tingkat sebelum melemparkan mip::BadInputError("Max depth reached on nested msg attachments").
Default Sama seperti Msg.
Msg Mendekripsi pesan MSG dan lampiran pada tingkat pertama. Tidak mendekripsi file MSG terlampir secara rekursif.
Top Dekripsi hanya file MSG dan jangan dekripsi lampiran.

Contoh berikut menunjukkan cara mengatur aplikasi di .NET untuk mendekripsi hanya file MSG akar.

engineSettings.CustomSettings.Add(new KeyValuePair<string, string>("container_decryption_option", "Top"));

Dan di C++:

vector<pair<string, string>> customSettings;
customSettings.emplace_back(mip::GetCustomSettingContainerDecryptionOption(),
        mip::ContainerDecryptionOptionString(mip::ContainerDecryptionOption::Top));
engineSettings.SetCustomSettings(customSettings);

Operasi File SDK untuk file .rpmsg

MIP SDK mengekspos fungsi inspeksi yang dapat mendekripsi file message.rpmsg yang disematkan dan menyajikan serangkaian aliran byte sebagai output. Konsumen SDK harus mengekstrak file message.rpmsg dan meneruskannya ke API inspeksi. Variasi nama file ini ada untuk skenario Enkripsi Pesan Purview dan API juga menerima file message_v2, v3, atau v4.

Penting

API inspeksi tidak menyediakan output yang akan menghasilkan file yang dapat digunakan, juga tidak memungkinkan Anda untuk melindungi kembali file input. Ini menghasilkan aliran byte yang kemudian dapat diproses aplikasi Anda lebih lanjut. Membuat ulang file MSG dari file message.rpmsg tidak didukung oleh MIP SDK.

Dalam kebanyakan kasus, layanan DLP perlu mendapatkan lampiran dan byte teks biasa dari pesan untuk memeriksa dan mengevaluasi terhadap kebijakan DLP. API inspect menggunakan message.rpmsg sebagai input dan mengembalikan aliran byte sebagai output. Aliran byte ini berisi byte teks biasa dari pesan dan lampiran. Pengembang aplikasi menangani aliran ini dan memprosesnya lebih lanjut (memeriksa, mendekripsi secara rekursif, dll.).

Inspect API diimplementasikan melalui kelas , mip::FileInspectoryang mengekspos operasi untuk memeriksa jenis file yang didukung. mip::MsgInspector yang memperluas mip::FileInspector, mengekspos operasi dekripsi khusus untuk format file rpmsg. MIP SDK tidak mendukung skenario penerbitan apa pun untuk file message.rpmsg . Selain itu, FileHandler::RemoveProtection() API tidak mendukung file message.rpmsg. File Message.rpmsg hanya dapat didekripsi untuk inspeksi dan tidak akan menghasilkan file yang valid dan dapat digunakan. Jika aplikasi Anda memerlukan output file, Anda harus menyediakan file MSG dan kemudian menghapus perlindungan dari objek tersebut.

mip::MsgInspector kelas mengekspos anggota berikut:

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

Untuk informasi selengkapnya, lihat Microsoft Information Protection (MIP) SDK untuk C++: Referensi.

Langkah berikutnya