Dosya SDK'sı e-posta iletisi dosyası işleme

MIP SDK,e-posta iletileri için şifre çözmeyi ve şifrelemeyi destekler. SDK hem Outlook veya Exchange tarafından oluşturulan .msg dosyalarını hem de biraz farklı yöntemlerle .rpmsg dosyalarını destekler.

Uyarı

MIP SDK 1.17 itibarıyla .eml dosyaları desteklenir. İşleme, kapsayıcı biçimine bağlı olarak etiketleme/koruma senaryoları için .msg ve inceleme senaryoları için .rpmsg'ye benzer.

.msg dosyaları için yaygın kullanım örnekleri şunlardır:

  • DLP veya posta ağ geçidi hizmetlerinden gelen e-postalara etiket uygulama.
  • eBulma ile taranacak hassas belgelerin şifresini çözme.
  • Aktarımdaki iletilerin şifresini çözme, değiştirme ve yeniden koruma.
  • Korumalı iletileri doğrudan iş kolu uygulamalarından yayımlayın.

Giriş olarak bir .msg dosyası verildiğinde, MIP SDK etiketli, korumalı veya korumasız bir .msg dosyası oluşturur.

.rpmsg dosyaları için yaygın kullanım örnekleri şunlardır:

  • Veri kaybı önleme (DLP) incelemesi için posta ve eklerin şifresini çözme.

Giriş olarak bir .rpmsg dosyası verildiğinde, MIP SDK'sı gövde baytlarını ve eklerini inceler. .rpmsg dosyasının şifresi çözülürse çıkış olarak bir .rpmsg dosyası üretilmez.

MSG dosya destek bildirimi

MIP SDK'sı, MSG dosyaları için koruma uygulamasını ve kaldırılmasını destekler. Yıllar içinde çeşitli kodlama türleri ve değişkenleri göz önünde bulundurulduğunda, MIP SDK'sının tüm MSG dosyalarından korumayı kaldırabileceğini garanti etmek mümkün değildir. Aşağıdaki bölümde çeşitli kaynaklardan GELEN MSG dosyaları için desteklenebilirlik açıklanmaktadır.

  • MIP SDK ile korunan MSG dosyalarından korumanın kaldırılması tam olarak desteklenir.
  • Outlook istemcisinin şu anda desteklenen sürümleri tarafından oluşturulan MSG dosyalarından korumanın kaldırılması tam olarak desteklenir.
  • Outlook istemcisinin destek dışı sürümleri tarafından oluşturulan MSG dosyalarından korumanın kaldırılması en iyi çaba temelinde desteklenir.
  • MIP SDK, korumalı etiketlere sahip MSG dosyalarının yeniden korunmasını desteklemez. Kullanıcılar, dosyayı başka bir etiketle yeniden korumadan önce, etiketin korumasını açıkça kaldırmalıdır.

MSG dosyalarını etiketleme

MIP SDK'sı, MSG dosyalarında etiket okumayı ve yazmayı destekler. Alt ekler etiketi devralmazlar, ancak koruma ayarlarını devralırlar. Daha fazla ayrıntı için bkz. .msg dosyaları için Dosya SDK'sında etiketleme ve koruma işlemleri.

.msg dosyaları için Dosya SDK'sında etiketleme ve koruma işlemleri

Dosya SDK'sı, .msg dosyalar için etiketleme ve koruma işlemlerini, SDK'nın MSG özellik bayrağını etkinleştirmek için uygulamaya ihtiyacı olması dışında diğer tüm dosya türleriyle aynı şekilde destekler.

Daha önce tartışıldığı üzere, FileEngine örneğinin oluşturulması için bir ayarlar nesnesi, FileEngineSettings, gereklidir. FileEngineSettings belirli uygulama gereksinimlerini karşılamak için özel ayarlar için parametreleri geçirir. MIP SDK'sının MSG dosyalarını işlemesini etkinleştirmek için nesnesinin CustomSettingsFileEngineSettings özelliği için enable_msg_file_typebayrağını ayarlar.

engineSettings adlı bir FileEngineSettings nesne oluşturursanız, bu özelliği .NET'de aşağıdaki gibi ayarlayın:

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

.msg dosya koruma işlemleri sözde kodu aşağıdaki gibidir:

  • enable_msg_file_type bayrağını mip::FileEngineSettings ayarlayın ve mip::FileEngine öğesini mip::FileProfile ekleyin.
  • FileEngine öğesini kullanıcının etiket listesini getirmek için kullanın.
  • mip::FileHandler Etiketlenecek dosyaya işaret eden yapı.
  • Bir etiket seçin ve etiketi uygulamak için 'nin mip::FileHandler yöntemini kullanınSetLabel.

Etiketleri listeleme hakkında bilgi için Hızlı Başlangıç: Liste etiketleri bölümüne bakın.

Varsayılan ek işleme davranışlarını değiştirme

Varsayılan olarak, Dosya SDK'sı inceleme API'lerini kullanırken bir MSG dosyasının veya message.rpmsg dosyasının parçası olan tüm ekleri işlemeye çalışır. Varsayılan olarak yalnızca kök düzeyi öğesinin ve eklerin ilk düzeyinin şifresi çözülür.

Bu davranışı değiştirmek için özel ayarını container_decryption_optionkullanın. C++'ta SDK, bu ayarı bir sabit listesi mip::ContainerDecryptionOptionaracılığıyla kullanıma sunar.

Seçenek adı Açıklama
All MSG dosyasının ve eklerinin şifresini çözer. Ekli bir MSG ise, MSG ve eklerinin şifrelerini özyinelemeli olarak çözer. mip::BadInputError("Max depth reached on nested msg attachments") fırlatmadan önce en fazla on seviyeye kadar özyineleme yapar.
Default Msgile aynıdır.
Msg MSG ve birinci düzey eklerin şifresini çözer. Ekli MSG dosyalarının şifresini yinelemeli olarak çözmez.
Top Yalnızca MSG dosyasının şifresini çözerek eklerin şifresini çözmeyin.

Aşağıdaki örnekte, .NET'da bir uygulamanın yalnızca kök MSG dosyasının şifresini çözecek şekilde nasıl yapılandırılır gösterilmektedir.

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

C++'ta ise:

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

.rpmsg dosyaları için Dosya SDK'sı işlemleri

MIP SDK, embedded message.rpmsg dosyasının şifresini çözebilen ve çıkış olarak bir bayt akışı kümesi sunabilen bir inceleme işlevi sunar. SDK tüketicisinin message.rpmsg dosyasını ayıklaması ve inceleme API'sine geçirmesi gerekir. Purview İleti Şifrelemesi senaryolarında bu dosya adının varyasyonları vardır ve API message_v2, v3 veya v4 dosyalarını da kabul eder.

Önemli

İnceleme API'si kullanılabilir bir dosyayla sonuçlanabilecek bir çıkış sağlamaz ve giriş dosyasını yeniden korumanıza izin vermez. Uygulamanızın daha sonra işleyebileceği bayt akışlarını oluşturur. MIP SDK'sı , MSG dosyalarını message.rpmsg dosyalarından yeniden oluşturmayı desteklemez.

Çoğu durumda DLP hizmetinin DLP ilkelerini incelemek ve değerlendirmek için iletiden ekleri ve düz metin baytlarını alması gerekir. İnceleme API'si message.rpmsg dosyasını giriş olarak alır ve bayt akışlarını çıkış olarak döndürür. Bu bayt akışları, iletinin ve eklerin düz metin baytlarını içerir. Uygulama geliştiricisi bu akışları ele alır ve bunları daha ileri işlemlerden geçirir (inceleme, özyinelemeli şifre çözme vb.).

Inspect API, desteklenen dosya türlerini incelemeye yönelik işlemleri sunan mip::FileInspector sınıfını kullanır. mip::MsgInspector, mip::FileInspector sınıfını genişleten ve rpmsg dosya biçimine özgü şifre çözme işlemlerini sağlayan bir yapıdır. MIP SDK'sı message.rpmsg dosyaları için yayımlama senaryolarını desteklemez. Ayrıca API, FileHandler::RemoveProtection() message.rpmsg dosyalarını desteklemez. Message.rpmsg dosyalarının şifresini yalnızca inceleme için çözebilirsiniz ve API geçerli, kullanılabilir bir dosya çıkışı vermez. Uygulamanız bir dosya çıkışı gerektiriyorsa, bir MSG dosyası geçirin ve bu nesneden korumayı kaldırın.

mip::MsgInspector sınıfı aşağıdaki üyeleri kullanıma sunar:

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

Daha fazla bilgi için Microsoft Information Protection (MIP) SDK'sı: C++ için Referans bölümüne bakın.

Sonraki Adımlar