Microsoft Information Protection SDK – koncept för profil- och motorobjekt
Profiler
MipContext
Där är klassen för lagring av SDK-specifika inställningar är profilen rotklassen för alla MIP-etiketter och skyddsspecifika åtgärder i MIP SDK. Innan du använder någon av de tre API-uppsättningarna måste klientprogrammet skapa en profil. Framtida åtgärder utförs av profilen eller av andra objekt som läggs till i profilen. Endast ett enskilt profilobjekt per process rekommenderas. Om du skapar fler än en kan det leda till oväntat beteende.
Det finns tre typer av profiler i MIP SDK:
-
PolicyProfile
: Profilklassen för MIP Policy SDK. -
ProtectionProfile
: Profilklassen för MIP Protection SDK. -
FileProfile
: Profilklassen för MIP File SDK.
API:et som används i det förbrukande programmet avgör vilken profilklass som ska användas.
Själva profilen har följande funktioner:
- Definierar om tillståndet ska läsas in i minnet eller sparas på disken och, om det sparas på disken, ska det krypteras.
- Definierar det
mip::ConsentDelegate
som ska användas för medgivandeåtgärder. - Definierar den
mip::FileProfile::Observer
implementering som ska användas för asynkrona återanrop för profilåtgärder.
Profilinställningar
-
MipContext
: ObjektetMipContext
som initierades för att lagra programinformation, tillståndssökväg osv. -
CacheStorageType
: Definierar hur du lagrar tillstånd: I minne, på disk eller på disk och krypterad. -
consentDelegate
: En delad pekare för klassenmip::ConsentDelegate
. -
observer
: En delad pekare till profilimplementeringenObserver
(iPolicyProfile
,ProtectionProfile
ochFileProfile
). -
applicationInfo
: Ettmip::ApplicationInfo
objekt. Information om programmet som använder SDK:t, som matchar ditt Microsoft Entra-programregistrerings-ID och namn.
Motorer
SDK-motorerna Fil, Profil och Skydd tillhandahåller ett gränssnitt för åtgärder som utförs av en specifik identitet. En motor läggs till i profilobjektet för varje användare eller tjänstens huvudnamn som loggar in i programmet. Det går att utföra delegerade åtgärder via mip::ProtectionSettings
och fil- eller skyddshanteraren. Mer information finns i avsnittet skyddsinställningar i FileHandler-begreppen .
Det finns tre motorklasser i SDK, en för varje API. I följande lista visas motorklasserna och några av de funktioner som är associerade med var och en:
mip::ProtectionEngine
mip::PolicyEngine
-
ListSensitivityLabels()
: Hämtar listan med etiketter för den inlästa motorn. -
GetSensitivityLabel()
: Hämtar etiketten från befintligt innehåll. -
ComputeActions()
: Tillhandahålls med ett etikett-ID och valfria metadata, returnerar listan över åtgärder som ska utföras för ett visst objekt.
-
mip::FileEngine
-
ListSensitivityLabels()
: Hämtar listan med etiketter för den inlästa motorn. -
CreateFileHandler()
: Skapar enmip::FileHandler
för en specifik fil eller dataström.
-
För att skapa en motor krävs att ett specifikt motorinställningsobjekt skickas som innehåller inställningarna för den typ av motor som ska skapas. Med inställningsobjektet kan utvecklaren ange information om motoridentifieraren, mip::AuthDelegate
implementeringen, nationella inställningar och anpassade inställningar samt annan API-specifik information.
Motortillstånd
En motor kan ha ett av två tillstånd:
-
CREATED
: Skapad anger att SDK:et har tillräckligt med lokal tillståndsinformation efter att de nödvändiga serverdelstjänsterna har anropats. -
LOADED
: SDK:t har skapat de datastrukturer som krävs för att motorn ska fungera.
En motor måste både skapas och läsas in för att utföra åtgärder. Klassen Profile
exponerar några metoder för motorhantering: AddEngineAsync
, DeleteEngineAsync
och UnloadEngineAsync
.
I följande tabell beskrivs möjliga motortillstånd och vilka metoder som kan ändra det tillståndet:
Motortillstånd | INGET | SKAPAD | LADDAD |
---|---|---|---|
INGET | AddEngineAsync | ||
SKAPAD | DeleteEngineAsync | AddEngineAsync | |
LADDAD | DeleteEngineAsync | Ta bortEngineAsync |
Motor-ID
Varje motor har en unik identifierare, id
, som används i alla motorhanteringsåtgärder. Programmet kan ange en id
, eller så kan SDK:t generera en, om den inte tillhandahålls av programmet. Alla andra motoregenskaper (till exempel e-postadress i identitetsinformationen) är ogenomskinliga nyttolaster för SDK:t. SDK:n utför INTE någon logik för att hålla någon av de andra egenskaperna unika eller framtvinga andra begränsningar.
Viktigt!
**Som bästa praxis använder du ett motor-ID som är unikt för användaren och använder det varje gång användaren utför en åtgärd med SDK:t. Om du inte anger ett befintligt, unikt engineId för en användare eller tjänst resulterar det i extra tjänsteresor. Dessa tjänsteresor kan leda till prestandaförsämring och begränsning. **
// 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
Metoder för motorhantering
Som tidigare nämnts finns det tre metoder för motorhantering i SDK: AddEngineAsync
, DeleteEngineAsync
och UnloadEngineAsync
.
AddEngineAsync
Den här metoden läser in en befintlig motor eller skapar en om den inte redan finns i lokalt tillstånd.
Om programmet inte anger ett id
i FileEngineSettings
AddEngineAsync
genererar ett nytt id
. Den kontrollerar sedan om det redan finns en motor i den id
lokala lagringscachen. Om den gör det läser den in motorn. Om motorn inte finns i den lokala cachen skapas en ny motor genom att anropa nödvändiga API:er och serverdelstjänster.
Om metoden lyckas i båda fallen läses motorn in och är redo att användas.
DeleteEngineAsync
Tar bort motorn med angiven id
. Alla spår av motorn tas bort från den lokala cachen.
Ta bortEngineAsync
Tar bort minnesinterna datastrukturer för motorn med angiven id
. Motorns lokala tillstånd är fortfarande intakt och kan läsas in igen med AddEngineAsync
.
Med den här metoden kan programmet vara omdömesgillt när det gäller minnesanvändning genom att ta bort motorer som inte förväntas användas snart.
Nästa steg
- Läs mer om autentiseringsbegrepp och observatörer. MIP tillhandahåller en utökningsbar autentiseringsmodell, medan observatörer används för att tillhandahålla händelsemeddelanden för asynkrona händelser. Båda är grundläggande och gäller för alla MIP-SDK:er.
- Gå sedan igenom profil- och motorbegreppen för SDK:er för fil, princip och skydd