Microsoft Information Protection SDK – koncepty objektů profilu a modulu

Profily

Třída MipContext ukládá nastavení specifická pro sadu SDK. Profil je kořenová třída pro všechny operace specifické pro labelování a ochranu v sadě SDK MIP. Před použitím některé ze tří sad rozhraní API musí klientská aplikace vytvořit profil. Profil nebo jiné objekty přidané do profilu provádějí budoucí operace. Pro každý proces použijte pouze jeden objekt profilu. Vytvoření více než jednoho může vést k neočekávanému chování.

Sada MIP SDK má tři typy profilu:

Rozhraní API, které používá klientská aplikace, určuje, která třída profilu se má použít.

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

  • Stavové úložiště: Definuje, jestli se má načíst stav v paměti, nebo ho zachovat na disk, a jestli se má stav zašifrovat, pokud je trvalý na disku.
  • Delegát pro souhlas: Určuje mip::ConsentDelegate, který se má použít pro operace souhlasu.
  • Pozorovatel profilu souboru: Definuje mip::FileProfile::Observer implementaci, která se má použít 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, a odpovídají vašemu Microsoft Entra ID a názvu registrace aplikace.

Motory

Moduly File, Policy a Protection SDK poskytují rozhraní pro operace prováděné konkrétní identitou. Přidejte do objektu profilu jeden modul pro každého uživatele nebo instanční objekt služby, který se přihlásí do aplikace. Delegované operace můžete provádět pomocí mip::ProtectionSettings souboru nebo obslužné rutiny ochrany. Další informace najdete v části věnované nastavení ochrany v koncepční dokumentaci k FileHandleru.

Sada SDK má tři třídy modulu, jednu 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ý motor.
    • CreateFileHandler(): Vytvoří mip::FileHandler pro konkrétní soubor nebo datový proud.

Chcete-li vytvořit modul, předejte konkrétní objekt nastavení modulu, který obsahuje nastavení pro typ modulu k vytvoření. Objekt nastavení umožňuje vývojáři zadat podrobnosti o identifikátoru modulu, implementaci, mip::AuthDelegate národním prostředí, vlastním nastavení a dalších podrobnostech specifických 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 motoru. Aplikace může poskytnout id. Pokud ji aplikace neposkytuje, může ji sada SDK vygenerovat. Všechny ostatní vlastnosti modulu, například e-mailová adresa v údajích o identitě, jsou pro SDK neprůhledná data. SDK neprovádí logiku, která by zajistila, aby jakékoli další vlastnosti byly jedinečné, ani nevynucuje další omezení.

Důležité

Použijte ID modulu jedinečné pro uživatele a toto ID modulu použijte pokaždé, když uživatel provede operaci se sadou SDK. Pokud pro uživatele či službu nezadáte existující jedinečné ID enginu, SDK bude provádět další zpětné požadavky na službu. Tyto opakované komunikace se službou mohou vést ke snížení výkonu a omezení propustnosti.

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

Sada SDK má 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 enginu zůstane zachován a můžete ho znovu načíst pomocí 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