Sdílet prostřednictvím


Microsoft Information Protection SDK – Koncepty objektů profilu a enginu

Profily

MipContext je třída pro ukládání nastavení specifických pro sadu SDK, zatímco profil je kořenovou třídou pro všechny operace popisování a ochrany MIP v prostředí MIP SDK. Před použitím některé ze tří sad rozhraní API musí klientská aplikace vytvořit profil. Budoucí operace provádí profil nebo jiné objekty přidané do profilu. Doporučuje se pouze jeden objekt profilu pro každý proces. Vytvoření více než jednoho může vést k neočekávanému chování.

V sadě MIP SDK existují tři typy profilů:

Rozhraní API použité v aplikaci využívající určuje, která třída profilu se má použít.

Samotný profil poskytuje následující funkce:

  • Definuje, jestli se má stav načíst do paměti nebo trvale na disk, a pokud je trvale zachovaný na disk, měl by být zašifrovaný.
  • Definuje mip::ConsentDelegate, které by měly být použity pro operace souhlasu.
  • Definuje implementaci mip::FileProfile::Observer , která se použije pro asynchronní zpětné volání pro operace profilu.

Nastavení profilu

  • MipContext: Objekt MipContext inicializovaný k uložení informací o aplikaci, cesty stavu atd.
  • CacheStorageType: Definuje, jak uložit stav: V paměti, na disku nebo na disku a zašifrováno.
  • consentDelegate: Sdílený ukazatel třídy mip::ConsentDelegate.
  • observer: Sdílený ukazatel na implementaci profilu Observer (v PolicyProfile, ProtectionProfile a FileProfile).
  • applicationInfo: Objekt mip::ApplicationInfo . Informace o aplikaci, která využívá sadu SDK, která odpovídá VAŠEMu ID a názvu registrace aplikace Microsoft Entra.

Motory

Moduly File, Profile a Protection SDK poskytují rozhraní pro operace prováděné konkrétní identitou. Jeden engine se přidá do objektu Profile pro každého uživatele nebo služební účet, který se přihlásí k aplikaci. Delegovaná operace je možné provádět prostřednictvím mip::ProtectionSettings souboru nebo obslužné rutiny ochrany. Podrobnosti naleznete v sekci Nastavení ochrany ve Správci souborů.

V sadě SDK existují tři třídy modulu, jedna pro každé rozhraní API. Následující seznam obsahuje třídy motoru a několik funkcí přidružených k jednotlivým funkcím:

  • mip::ProtectionEngine
  • mip::PolicyEngine
    • ListSensitivityLabels(): Získá seznam štítků pro načtený motor.
    • GetSensitivityLabel(): Získá popisek z existujícího obsahu.
    • ComputeActions(): Poskytuje se s ID popisku a volitelnými metadaty, vrátí seznam akcí, ke kterým by mělo dojít pro konkrétní položku.
  • mip::FileEngine
    • ListSensitivityLabels(): Získá seznam štítků pro načtený stroj.
    • CreateFileHandler(): Vytvoří mip::FileHandler pro konkrétní soubor nebo datový proud.

Vytvoření modulu vyžaduje předání konkrétního objektu nastavení modulu, který obsahuje nastavení pro typ modulu, který se má vytvořit. Objekt nastavení umožňuje vývojáři zadat podrobnosti o identifikátoru modulu, mip::AuthDelegate implementaci, národním prostředí a vlastním nastavení a také další podrobnosti specifické pro rozhraní API.

Stavy motoru

Modul může mít jeden ze dvou stavů:

  • CREATED: Vytvořeno znamená, že sada SDK má po volání požadovaných back-endových služeb dostatek informací o místním stavu.
  • LOADED: Sada SDK vytvořila požadované datové struktury, aby byl modul funkční.

Aby bylo možné provádět jakékoli operace, musí se vytvořit i načíst modul. Třída Profile zveřejňuje několik metod správy modulu: AddEngineAsync, DeleteEngineAsynca UnloadEngineAsync.

Následující tabulka popisuje možné stavy modulu a metody, které mohou tento stav změnit:

Stav motoru ŽÁDNÝ VYTVOŘENO NALOŽENÝ
ŽÁDNÝ AddEngineAsync
VYTVOŘENO DeleteEngineAsync AddEngineAsync
NALOŽENÝ DeleteEngineAsync UnloadEngineAsync

ID motoru

Každý modul má jedinečný identifikátor, idkterý se používá ve všech operacích správy modulu. Aplikace může poskytnout id, nebo může být vygenerována pomocí SDK, pokud ji aplikace neposkytne. Všechny ostatní vlastnosti modulu (například e-mailová adresa v informacích o identitě) jsou neprůžné datové části sady SDK. Sada SDK neprovádí žádnou logiku, která by zachovala jakoukoli jinou jedinečnou vlastnost nebo vynucuje jakákoli jiná omezení.

Důležité

**Osvědčeným postupem je použít ID modulu, které je pro uživatele jedinečné a používá se při každém provedení operace se sadou SDK. Pokud uživateli nebo službě neposkytnete existující, jedinečný identifikátor engineId, dojde k dalšímu navýšení počtu komunikací se službou. Cyklování mezi službami může vést ke snížení výkonu a jeho omezování. **

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

Metody správy stroje

Jak už bylo zmíněno dříve, v sadě SDK existují tři metody správy modulu: AddEngineAsync, DeleteEngineAsynca UnloadEngineAsync.

AddEngineAsync

Tato metoda načte existující engine, nebo vytvoří nový, pokud ještě neexistuje v místním stavu.

Pokud aplikace nezadá id v FileEngineSettings, AddEngineAsync vygeneruje novou id. Pak zkontroluje, zda motor s tímto id již existuje v mezipaměti místního úložiště. Pokud ano, načte tento stroj. Pokud modul v místní mezipaměti neexistuje , vytvoří se nový modul voláním potřebných rozhraní API a back-endových služeb.

V obou případech, pokud je metoda úspěšná, je modul načten a připraven k použití.

DeleteEngineAsync

Odstraní modul s daným id. Ze všech místních mezipamětí jsou odstraněny všechny stopy motoru.

UnloadEngineAsync

Uvolní datové struktury v paměti pro modul s daným id. Místní stav tohoto modulu je stále nedotčený a lze jej znovu načíst .AddEngineAsync

Tato metoda umožňuje, aby aplikace byla uvážlivá ohledně využití paměti uvolněním enginů, které se neočekává, že budou brzy použity.

Další kroky