Microsoft Information Protection SDK – Profil- és motorobjektum-fogalmak

Profilok

Ahol az MipContext SDK-specifikus beállítások tárolására szolgáló osztály, a profil a MIP-címkézési és védelemspecifikus műveletek gyökérosztálya a MIP SDK-ban. A három API-készlet bármelyikének használata előtt az ügyfélalkalmazásnak létre kell hoznia egy profilt. A jövőbeli műveleteket a profil vagy a profilhoz hozzáadott egyéb objektumok hajtják végre. Folyamatonként csak egyetlen profilobjektum ajánlott. Egynél több létrehozása váratlan viselkedést eredményezhet.

A MIP SDK-ban három profiltípus létezik:

A fogyasztó alkalmazásban használt API határozza meg, hogy melyik profilosztályt kell használni.

Maga a profil a következő funkciókat biztosítja:

  • Meghatározza, hogy az állapotot be kell-e tölteni a memóriába, vagy a lemezre kell-e őrizni, és ha a lemezen marad, titkosítva kell-e.
  • Meghatározza a mip::ConsentDelegate hozzájárulási műveletekhez használandó műveletet.
  • Meghatározza a mip::FileProfile::Observer profilműveletek aszinkron visszahívásához használt implementációt.

Profilbeállítások

  • MipContext: Az MipContext alkalmazásadatok, állapotelérési út stb. tárolására inicializált objektum.
  • CacheStorageType: Meghatározza az állapot tárolásának módját: Memóriában, lemezen vagy lemezen és titkosítva.
  • consentDelegate: Az osztály mip::ConsentDelegatemegosztott mutatója.
  • observer: Megosztott mutató a profil Observer implementációja felé (in PolicyProfile, ProtectionProfileés FileProfile).
  • applicationInfo: Egy mip::ApplicationInfo objektum. Az SDK-t használó alkalmazásra vonatkozó információk, amelyek megegyeznek a Microsoft Entra alkalmazásregisztrációs azonosítójával és nevével.

Motorok

A fájl-, profil- és védelmi SDK-motorok egy felületet biztosítanak egy adott identitás által végrehajtott műveletekhez. A rendszer egy motort ad hozzá a Profil objektumhoz minden olyan felhasználó vagy szolgáltatásnév esetében, amely bejelentkezik az alkalmazásba. Delegált műveleteket a fájl- vagy védelmi kezelőn keresztül mip::ProtectionSettings is végrehajthat. További részletekért tekintse meg a FileHandler-fogalmak védelmi beállítások szakaszát.

Az SDK-ban három motorosztály található, egy minden API-hoz. Az alábbi lista a motorosztályokat és az egyes függvényekhez társított függvényeket mutatja be:

  • mip::ProtectionEngine
  • mip::PolicyEngine
    • ListSensitivityLabels(): Lekéri a betöltött motor címkéinek listáját.
    • GetSensitivityLabel(): Lekéri a címkét a meglévő tartalomból.
    • ComputeActions(): A címkeazonosítóval és a választható metaadatokkal együtt a megadott elemhez végrehajtandó műveletek listáját adja vissza.
  • mip::FileEngine
    • ListSensitivityLabels(): Lekéri a betöltött motor címkéinek listáját.
    • CreateFileHandler(): Létrehoz egy mip::FileHandler adott fájlt vagy streamet.

A motor létrehozásához meg kell adni egy adott motorbeállítási objektumot, amely tartalmazza a létrehozandó motortípus beállításait. A beállításobjektum lehetővé teszi a fejlesztő számára a motorazonosító, az implementáció, a mip::AuthDelegate területi beállítások és az egyéni beállítások, valamint egyéb API-specifikus részletek megadását.

Motorállapotok

A motor két állapot egyikével rendelkezhet:

  • CREATED: A létrehozás azt jelzi, hogy az SDK elegendő helyi állapotinformációval rendelkezik a szükséges háttérszolgáltatások meghívása után.
  • LOADED: Az SDK létrehozta a motor működéséhez szükséges adatstruktúrát.

A műveletek elvégzéséhez létre kell hozni és be kell tölteni egy motort. Az Profile osztály néhány motorkezelési módszert tesz elérhetővé: AddEngineAsync, DeleteEngineAsyncés UnloadEngineAsync.

Az alábbi táblázat ismerteti a lehetséges motorállapotokat, és hogy mely metódusok módosíthatják ezt az állapotot:

Motor állapota NINCS LÉTREHOZVA BETÖLTÖTT
NINCS AddEngineAsync
LÉTREHOZVA DeleteEngineAsync AddEngineAsync
BETÖLTÖTT DeleteEngineAsync UnloadEngineAsync

Motorazonosító

Minden motor egyedi azonosítóval rendelkezik, idamelyet minden motorkezelési művelethez használnak. Az alkalmazás megadhat egy id, vagy az SDK létrehozhat egyet, ha az alkalmazás nem adja meg. Minden más motortulajdonság (például az identitásadatokban szereplő e-mail-cím) átlátszatlan hasznos adatok az SDK-hoz. Az SDK NEM hajt végre semmilyen logikát a többi tulajdonság egyedi megőrzéséhez, vagy egyéb korlátozások kikényszerítéséhez.

Fontos

**Ajánlott eljárásként használjon a felhasználó számára egyedi motorazonosítót, és használja azt, amikor a felhasználó minden műveletet végrehajt az SDK-val. Ha nem ad meg egy meglévő, egyedi motorazonosítót egy felhasználóhoz vagy szolgáltatáshoz, az többletszolgáltatás-utazásokat eredményez. Ezek a szolgáltatási körutak teljesítménycsökkenést és szabályozást eredményezhetnek. **

// 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

Motorkezelési módszerek

Ahogy korábban említettük, az SDK-ban három motorkezelési módszer létezik: AddEngineAsync, DeleteEngineAsyncés UnloadEngineAsync.

AddEngineAsync

Ez a metódus betölt egy meglévő motort, vagy létrehoz egyet, ha még nem létezik helyi állapotban.

Ha az alkalmazás nem ad meg egy id újat FileEngineSettings, AddEngineAsync létrehoz egy újat id. Ezután ellenőrzi, hogy van-e id már ilyen motor a helyi tárológyorsítótárban. Ha igen, betölti azt a motort. Ha a motor nem létezik a helyi gyorsítótárban, egy új motor jön létre a szükséges API-k és háttérszolgáltatások meghívásával.

Mindkét esetben, ha a módszer sikeres, a motor betöltődik és használatra kész.

DeleteEngineAsync

Törli a motort a megadott id. A rendszer eltávolítja a motor minden nyomát a helyi gyorsítótárból.

UnloadEngineAsync

Eltávolítja a motor memóriabeli adatstruktúráit a megadott id. A motor helyi állapota továbbra is érintetlen, és újra betölthető a következővel AddEngineAsync: .

Ez a módszer lehetővé teszi az alkalmazás számára, hogy a memóriahasználattal kapcsolatban megfontolt legyen, ha eltávolítja azokat a motorokat, amelyeket várhatóan nem fognak hamarosan használni.

Következő lépések