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ı

  • MipContext MipContext: Uygulama bilgilerini, durum yolunu vb. depolamak için başlatılan nesne.
  • CacheStorageType: Durumu nasıl depolayacağını tanımlar: Bellekte, diskte veya şifrelenmiş halde diskte.
  • consentDelegate: sınıfının mip::ConsentDelegatepaylaşılan işaretçisi.
  • observer: Profil Observer uygulamasının (PolicyProfile, ProtectionProfile ve FileProfile içinde) paylaşılan işaretçisi.
  • 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.

Motorlar

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. mip::ProtectionSettings ve dosya veya koruma işleyicisi aracılığıyla temsilci işlemleri 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 motor sınıfları ve bunlarla ilişkili birkaç işlev gösterilmektedir.

  • mip::ProtectionEngine
  • mip::PolicyEngine
    • ListSensitivityLabels(): Yüklenen motor 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 motor 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.

Motor 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.

Motorun herhangi bir işlemi gerçekleştirmesi için 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:

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

Motor Kimliği

Her motor, id tüm motor 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 motor kimliği kullanın ve kullanıcı SDK ile her işlem gerçekleştirdiğinde bu kimliği 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 döngüleri, performans düşüşüne ve kısıtlamaya 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

Motor 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 motoru yükler veya yerel durumda zaten mevcut değilse bir motor oluşturur.

Uygulama id ve FileEngineSettings sağlamazsa, AddEngineAsync yeni bir id oluşturur. Ardından, yerel depolama önbelleğinde o id ile bir motorun zaten mevcut olup 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 motor yüklenir ve kullanıma hazır olur.

DeleteEngineAsync

Verilen id ile motoru siler. Motorun tüm izleri yerel önbellekten kaldırılır.

UnloadEngineAsync

Verilen id ile motor için bellek içi veri yapılarını kaldırır. Motorun yerel durumu hala bozulmamış ve AddEngineAsync ile yeniden yüklenebilir.

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

Sonraki Adımlar