Aracılığıyla paylaş


Microsoft Information Protection SDK - Profil ve Altyapı nesne kavramları

Profiller

MipContext BURADA, SDK'ya özgü ayarları depolamak için kullanılan sınıf, profil MIP SDK'sı içindeki tüm MIP etiketleme ve korumaya özgü işlemlerin kök sınıfıdır. Üç API kümesinden herhangi birini kullanmadan önce istemci uygulamasının bir profil oluşturması gerekir. Gelecekteki işlemler profil tarafından veya profile eklenen diğer nesneler tarafından gerçekleştirilir. İşlem başına yalnızca tek bir profil nesnesi önerilir. Birden fazla oluşturma beklenmeyen davranışlara neden olabilir.

MIP SDK'sında üç tür profil vardır:

Tüketen uygulamada kullanılan API, hangi profil sınıfının kullanılması gerektiğini belirler.

Profilin kendisi aşağıdaki işlevleri sağlar:

  • Durumun belleğe yüklenmesi veya diske kalıcı olması ve diskte kalıcı olması durumunda şifrelenmesi gerekip gerekmediğini tanımlar.
  • mip::ConsentDelegate Onay işlemleri için kullanılması gereken öğesini tanımlar.
  • mip::FileProfile::Observer Profil işlemleri için zaman uyumsuz geri çağırmalar için kullanılacak uygulamayı tanımlar.

Profil Ayarları

  • MipContextMipContext: Uygulama bilgilerini, durum yolunu vb. depolamak için başlatılan nesne.
  • CacheStorageType: Durumu depolamayı tanımlar: Bellekte, diskte veya diskte ve şifrelenmiş.
  • consentDelegate: sınıfının mip::ConsentDelegatepaylaşılan işaretçisi.
  • observer: Profil Observer uygulamasının paylaşılan işaretçisi (, ProtectionProfileve FileProfileiçindePolicyProfile).
  • applicationInfo: Bir mip::ApplicationInfo nesne. Microsoft Entra uygulama kayıt kimliğiniz ve adınız ile eşleşen SDK'yı kullanan uygulama hakkında bilgiler.

Motor

Dosya, Profil ve Koruma SDK'sı altyapıları, belirli bir kimlik tarafından gerçekleştirilen işlemler için bir arabirim sağlar. Uygulamada oturum açmış her kullanıcı veya hizmet sorumlusu için Profil nesnesine bir altyapı eklenir. ve dosya veya koruma işleyicisi aracılığıyla mip::ProtectionSettings temsilcili işlemler gerçekleştirmek mümkündür. Daha fazla ayrıntı için FileHandler kavramlarındaki koruma ayarları bölümüne bakın.

SDK'da her API için bir tane olan üç altyapı sınıfı vardır. Aşağıdaki listede altyapı sınıfları ve her biriyle ilişkili işlevlerden birkaçı gösterilmektedir:

  • mip::ProtectionEngine
  • mip::PolicyEngine
    • ListSensitivityLabels(): Yüklenen altyapı için etiketlerin listesini alır.
    • GetSensitivityLabel(): Etiketi mevcut içerikten alır.
    • ComputeActions(): Etiket kimliği ve isteğe bağlı meta veriler ile birlikte sağlanan, belirli bir öğe için gerçekleşmesi gereken eylemlerin listesini döndürür.
  • mip::FileEngine
    • ListSensitivityLabels(): Yüklenen altyapı için etiketlerin listesini alır.
    • CreateFileHandler(): Belirli bir dosya veya akış için bir mip::FileHandler oluşturur.

Altyapı oluşturmak için, oluşturulacak altyapı türü için ayarları içeren belirli bir altyapı ayarları nesnesinin geçirilmesi gerekir. ayarlar nesnesi, geliştiricinin altyapı tanımlayıcısı, uygulama, yerel ayar ve özel ayarların mip::AuthDelegate yanı sıra API'ye özgü diğer ayrıntılarla ilgili ayrıntıları belirtmesine olanak tanır.

Altyapı Durumları

Bir altyapı iki durumdan birine sahip olabilir:

  • CREATED: Oluşturuldu, gerekli arka uç hizmetleri çağrıldıktan sonra SDK'nın yeterli yerel durum bilgisi olduğunu gösterir.
  • LOADED: SDK, altyapının çalışır durumda olması için gerekli veri yapılarını oluşturms.

Herhangi bir işlemi gerçekleştirmek için bir altyapının hem oluşturulması hem de yüklenmesi gerekir. Profile sınıfı birkaç altyapı yönetim yöntemini kullanıma sunar: AddEngineAsync, DeleteEngineAsync, ve UnloadEngineAsync.

Aşağıdaki tabloda olası altyapı durumları ve bu durumu değiştirebilecek yöntemler açıklanmaktadır:

Altyapı durumu HİÇBİRİ OLUŞTURULDU YÜKLÜ
HİÇBİRİ AddEngineAsync
OLUŞTURULDU DeleteEngineAsync AddEngineAsync
YÜKLÜ DeleteEngineAsync UnloadEngineAsync

Altyapı Kimliği

Her altyapı, idtüm altyapı yönetim işlemlerinde kullanılan benzersiz bir tanımlayıcıya sahiptir. Uygulama bir idsağlayabilir veya uygulama tarafından sağlanmadıysa SDK bir tane oluşturabilir. Diğer tüm altyapı özellikleri (örneğin, kimlik bilgilerindeki e-posta adresi), SDK'nın opak yükleridir. SDK, diğer özelliklerden herhangi birini benzersiz tutmak veya diğer kısıtlamaları zorlamak için herhangi bir mantık GERÇEKLEŞTIRMEZ.

Önemli

**En iyi uygulama olarak, kullanıcıya özgü bir altyapı kimliği kullanın ve kullanıcı SDK ile her işlem gerçekleştirildiğinde bunu kullanın. Bir kullanıcı veya hizmet için mevcut, benzersiz bir engineId sağlanamaması ek hizmet gidiş dönüşlerine neden olur. Bu hizmet gidiş dönüşleri performans düşüşü ve azaltmaya neden olabilir. **

// Create the FileEngineSettings object
FileEngine::Settings engineSettings(mip::Identity(mUsername), // This will be the engine ID. UPN, email address, or other unique user identifiers are recommended. 
													          mAuthDelegate,            // authDelegate implementation 
													          "",                       // ClientData
													          "en-US",                  // Client Locale
                                    false);                   // Load Sensitive Information Types

Altyapı Yönetimi Yöntemleri

Daha önce belirtildiği gibi, SDK'da üç altyapı yönetim yöntemi vardır: AddEngineAsync, DeleteEngineAsyncve UnloadEngineAsync.

AddEngineAsync

Bu yöntem mevcut bir altyapıyı yükler veya yerel durumda mevcut olmayan bir altyapı oluşturur.

Uygulama içinde FileEngineSettingsAddEngineAsync bir id sağlamazsa yeni idbir oluşturur. Ardından, yerel depolama önbelleğinde zaten var olan bir altyapı olup id olmadığını denetler. Bunu yaparsa, o motoru yükler. Altyapı yerel önbellekte yoksa , gerekli API'ler ve arka uç hizmetleri çağrılarak yeni bir altyapı oluşturulur.

Her iki durumda da yöntem başarılı olursa altyapı yüklenir ve kullanıma hazır olur.

DeleteEngineAsync

Verilen idile altyapıyı siler. Altyapının tüm izlemeleri yerel önbellekten kaldırılır.

UnloadEngineAsync

Verilen idile altyapı için bellek içi veri yapılarını kaldırır. Bu altyapının yerel durumu hala bozulmamış ve ile AddEngineAsyncyeniden yüklenebilir.

Bu yöntem, yakın zamanda kullanılması beklenmeyen altyapıları kaldırarak uygulamanın bellek kullanımı konusunda yargısal olmasını sağlar.

Sonraki Adımlar