Microsoft Information Protection SDK - Concepten van profiel- en engineobjecten
Profielen
Waar de MipContext
klasse is voor het opslaan van SDK-specifieke instellingen, is het profiel de hoofdklasse voor alle MIP-labels en beveiligingsspecifieke bewerkingen in de MIP SDK. Voordat u een van de drie API-sets gebruikt, moet de clienttoepassing een profiel maken. Toekomstige bewerkingen worden uitgevoerd door het profiel of door andere objecten die aan het profiel zijn toegevoegd . Er wordt slechts één profielobject per proces aanbevolen. Het maken van meer dan één kan leiden tot onverwacht gedrag.
Er zijn drie typen profielen in de MIP SDK:
PolicyProfile
: de profielklasse voor de MIP Policy SDK.ProtectionProfile
: De profielklasse voor de MIP Protection SDK.FileProfile
: de profielklasse voor de MIP File SDK.
De API die in de verbruikende toepassing wordt gebruikt, bepaalt welke profielklasse moet worden gebruikt.
Het profiel zelf biedt de volgende functionaliteit:
- Hiermee definieert u of de status moet worden geladen in het geheugen of moet worden bewaard op schijf en, indien persistent op schijf, moet deze worden versleuteld.
- Definieert de
mip::ConsentDelegate
bewerkingen die moeten worden gebruikt voor toestemmingsbewerkingen. - Definieert de
mip::FileProfile::Observer
implementatie die wordt gebruikt voor asynchrone callbacks voor profielbewerkingen.
Profielinstellingen
MipContext
: HetMipContext
object dat is geïnitialiseerd voor het opslaan van toepassingsgegevens, het statuspad, enzovoort.CacheStorageType
: Definieert hoe de status moet worden opgeslagen: In het geheugen, op schijf of op schijf en versleuteld.consentDelegate
: Een gedeelde aanwijzer van klassemip::ConsentDelegate
.observer
: Een gedeelde aanwijzer naar de profiel-implementatieObserver
(inPolicyProfile
,ProtectionProfile
enFileProfile
).applicationInfo
: Eenmip::ApplicationInfo
object. Informatie over de toepassing die de SDK gebruikt, die overeenkomt met de registratie-id en naam van uw Microsoft Entra-toepassing.
Engines
De SDK-engines voor bestanden, profielen en beveiliging bieden een interface voor bewerkingen die worden uitgevoerd door een specifieke identiteit. Er wordt één engine toegevoegd aan het profielobject voor elke gebruiker of service-principal die zich aanmeldt bij de toepassing. Het is mogelijk om gedelegeerde bewerkingen uit te voeren via mip::ProtectionSettings
en de bestands- of beveiligingshandler. Zie de sectie Beveiligingsinstellingen in de Concepten van FileHandler voor meer informatie.
Er zijn drie engineklassen in de SDK, één voor elke API. De volgende lijst bevat de engineklassen en enkele van de functies die aan elk zijn gekoppeld:
mip::ProtectionEngine
mip::PolicyEngine
ListSensitivityLabels()
: Haalt de lijst met labels voor de geladen engine op.GetSensitivityLabel()
: Haalt het label op van bestaande inhoud.ComputeActions()
: Opgegeven met een label-id en optionele metagegevens, retourneert de lijst met acties die moeten worden uitgevoerd voor een specifiek item.
mip::FileEngine
ListSensitivityLabels()
: Haalt de lijst met labels voor de geladen engine op.CreateFileHandler()
: Hiermee maakt u eenmip::FileHandler
voor een specifiek bestand of een specifieke stream.
Voor het maken van een engine moet een specifiek engine-instellingenobject worden doorgegeven dat de instellingen bevat voor het type engine dat moet worden gemaakt. Met het instellingenobject kan de ontwikkelaar details opgeven over de engine-id, de implementatie, landinstellingen mip::AuthDelegate
en aangepaste instellingen, evenals andere API-specifieke details.
Enginestatussen
Een engine kan een van de volgende twee statussen hebben:
CREATED
: Gemaakt geeft aan dat de SDK voldoende lokale statusgegevens heeft nadat de vereiste back-endservices zijn aangeroepen.LOADED
: De SDK heeft de vereiste gegevensstructuren gebouwd om de engine operationeel te maken.
Een engine moet zowel worden gemaakt als geladen om bewerkingen uit te voeren. De Profile
klasse bevat enkele methoden voor enginebeheer: AddEngineAsync
, DeleteEngineAsync
en UnloadEngineAsync
.
In de volgende tabel worden de mogelijke enginestatussen beschreven en welke methoden die status kunnen wijzigen:
Motorstatus | GEEN | GEMAAKT | GELADEN |
---|---|---|---|
GEEN | AddEngineAsync | ||
GEMAAKT | DeleteEngineAsync | AddEngineAsync | |
GELADEN | DeleteEngineAsync | UnloadEngineAsync |
Engine-id
Elke engine heeft een unieke id, id
die wordt gebruikt in alle enginebeheerbewerkingen. De toepassing kan een , of de SDK kan er een id
genereren als deze niet wordt geleverd door de toepassing. Alle andere engine-eigenschappen (bijvoorbeeld e-mailadres in de identiteitsgegevens) zijn ondoorzichtige nettoladingen voor de SDK. De SDK voert geen logica uit om de andere eigenschappen uniek te houden of andere beperkingen af te dwingen.
Belangrijk
**Gebruik als best practice een engine-id die uniek is voor de gebruiker en gebruik die telkens wanneer de gebruiker een bewerking met de SDK uitvoert. Als u een bestaande, unieke engineId voor een gebruiker of service niet opgeeft, leidt dit tot extra retouren van services. Deze retouren van services kunnen leiden tot prestatievermindering en beperking. **
// 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
Methoden voor enginebeheer
Zoals eerder vermeld, zijn er drie enginebeheermethoden in de SDK: AddEngineAsync
, DeleteEngineAsync
en UnloadEngineAsync
.
AddEngineAsync
Met deze methode wordt een bestaande engine geladen of wordt er een gemaakt als deze nog niet bestaat in de lokale status.
Als de toepassing geen ingeeft id
FileEngineSettings
, AddEngineAsync
wordt er een nieuwe id
gegenereerd. Vervolgens wordt gecontroleerd of er al een engine met die id
bestaat in de lokale opslagcache. Als dat het geval is, wordt die motor geladen. Als de engine niet in de lokale cache bestaat, wordt er een nieuwe engine gemaakt door de benodigde API's en back-endservices aan te roepen.
Als de methode slaagt, wordt de engine in beide gevallen geladen en klaar voor gebruik.
DeleteEngineAsync
Hiermee verwijdert u de motor met de opgegeven id
. Alle traceringen van de engine worden verwijderd uit de lokale cache.
UnloadEngineAsync
Laadt de in-memory gegevensstructuren voor de engine met de opgegeven id
. De lokale status van deze engine is nog intact en kan opnieuw worden geladen.AddEngineAsync
Met deze methode kan de toepassing voorzichtig zijn met geheugengebruik door motoren te lossen die niet snel worden gebruikt.
Volgende stappen
- Hierna vindt u meer informatie over verificatieconcepten en waarnemers. MIP biedt een uitbreidbaar verificatiemodel, terwijl waarnemers worden gebruikt voor gebeurtenismeldingen voor asynchrone gebeurtenissen. Beide zijn fundamenteel en van toepassing op alle MIP-SDK's.
- Voer vervolgens de profiel- en engineconcepten voor de SDK's voor bestand, beleid en beveiliging uit