Microsoft Information Protection SDK – Koncepty objektů profilu a stroje
Profily
MipContext
Kde je třída pro ukládání nastavení specifických pro sadu SDK, je profil kořenovou třídou pro všechny operace popisování a ochrany MIP v sadě 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ů:
PolicyProfile
: Třída profilu pro sadu MIP Policy SDK.ProtectionProfile
: Třída profilu sady MIP Protection SDK.FileProfile
: Třída profilu pro sadu MIP File SDK.
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ý.
mip::ConsentDelegate
Definuje, které se mají použít pro operace souhlasu.- Definuje implementaci
mip::FileProfile::Observer
, která se použije pro asynchronní zpětné volání pro operace profilu.
Nastavení profilu
MipContext
: ObjektMipContext
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řídymip::ConsentDelegate
.observer
: Sdílený ukazatel na implementaci profiluObserver
(vPolicyProfile
ProtectionProfile
, aFileProfile
).applicationInfo
: Objektmip::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 modul se přidá do objektu Profile pro každého uživatele nebo instanční objekt, 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. Další podrobnosti najdete v části Nastavení ochrany v konceptech Obslužná rutina 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 popisků 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 popisků pro načtený motor.CreateFileHandler()
: Vytvoří promip::FileHandler
určitý 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
, DeleteEngineAsync
a 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 modulu
Každý modul má jedinečný identifikátor, id
který se používá ve všech operacích správy modulu. Aplikace může poskytnout sadu id
SDK nebo ji může vygenerovat, pokud ji aplikace neposkytuje. 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. Když uživateli nebo službě neposkytnete existující, jedinečný identifikátor engineId, dojde k dalšímu zaokrouhlení služby. Tyto doby odezvy služby můžou vést ke snížení výkonu a 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
, DeleteEngineAsync
a UnloadEngineAsync
.
AddEngineAsync
Tato metoda načte existující modul nebo vytvoří modul, pokud ještě neexistuje v místním stavu.
Pokud aplikace nezadá id
, FileEngineSettings
AddEngineAsync
vygeneruje novou id
. Pak zkontroluje, jestli modul s již id
existuje v mezipaměti místního úložiště. Pokud ano, načte tento modul. 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
modulem . Všechna trasování modulu se odeberou z místní mezipaměti.
UnloadEngineAsync
Uvolní datové struktury v paměti pro modul s daným id
modulem . Místní stav tohoto modulu je stále nedotčený a lze jej znovu načíst .AddEngineAsync
Tato metoda umožňuje, aby aplikace byla upředná ohledně využití paměti uvolněním modulů, které se neočekává, že se brzy použijí.
Další kroky
- Dále se dozvíte více o konceptech ověřování a pozorovatelích. MIP poskytuje rozšiřitelný model ověřování, zatímco pozorovatelé se používají k poskytování oznámení událostí pro asynchronní události. Oba jsou základní a platí pro všechny sady MIP SDK.
- Pak si projděte koncepty profilu a modulu pro soubory, zásady a sady SDK ochrany.