Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Profili
La MipContext classe archivia le impostazioni specifiche dell'SDK. Il profilo è la classe radice per tutte le operazioni specifiche di etichettatura e protezione MIP in MIP SDK. Prima di usare uno dei tre set di API, l'applicazione client deve creare un profilo. Il profilo o altri oggetti aggiunti al profilo eseguono operazioni future. Usare un solo oggetto profilo per processo. La creazione di più di una potrebbe comportare un comportamento imprevisto.
MIP SDK ha tre tipi di profilo:
-
PolicyProfile: La classe di profilo per l'SDK delle politiche MIP. -
ProtectionProfile: Classe di profilo per l'SDK di protezione MIP. -
FileProfile: La classe profilo per MIP File SDK.
L'API utilizzata dall'applicazione consumer determina quale classe di profilo utilizzare.
Il profilo stesso offre le funzionalità seguenti:
- Archiviazione stato: definisce se caricare lo stato in memoria o salvarlo in modo permanente su disco e se crittografare lo stato se persistente su disco.
-
Delegato per il consenso: definisce il
mip::ConsentDelegateda usare per le operazioni di consenso. -
Osservatore del profilo file: definisce l'implementazione
mip::FileProfile::Observerda usare per i callback asincroni per le operazioni sul profilo.
Impostazioni del profilo
-
MipContextMipContext: oggetto inizializzato per archiviare le informazioni sull'applicazione, il percorso dello stato e così via. -
CacheStorageType: definisce come archiviare lo stato: in memoria, su disco o su disco e crittografato. -
consentDelegate: puntatore condiviso della classemip::ConsentDelegate. -
observer: puntatore condiviso all'implementazione del profiloObserver(inPolicyProfile,ProtectionProfileeFileProfile). -
applicationInfo: Un oggettomip::ApplicationInfo. Informazioni sull'applicazione che usa l'SDK e corrisponde all'ID e al nome della registrazione dell'applicazione Microsoft Entra.
Motori
I motori File, Policy e Protection SDK forniscono un'interfaccia per le operazioni eseguite da un'identità specifica. Aggiungere un motore all'oggetto profilo per ogni utente o entità servizio che accede all'applicazione. È possibile eseguire operazioni delegate usando mip::ProtectionSettings e il gestore file o protezione. Per altre informazioni, vedere la sezione relativa alle impostazioni di protezione nei concetti relativi a FileHandler.
L'SDK ha tre classi del motore, una per ogni API. L'elenco seguente mostra le classi del motore e alcune delle funzioni associate a ognuna:
mip::ProtectionEnginemip::PolicyEngine-
ListSensitivityLabels(): Ottiene l'elenco delle etichette per il motore caricato. -
GetSensitivityLabel(): ottiene l'etichetta dal contenuto esistente. -
ComputeActions(): fornito con un ID etichetta e metadati facoltativi, restituisce l'elenco di azioni che devono verificarsi per un elemento specifico.
-
mip::FileEngine-
ListSensitivityLabels(): Ottiene l'elenco delle etichette per il motore caricato. -
CreateFileHandler(): crea unmip::FileHandlerper un file o un flusso specifico.
-
Per creare un motore, fornire un oggetto specifico di impostazioni del motore che contenga le impostazioni per il tipo di motore da creare. L'oggetto settings consente allo sviluppatore di specificare dettagli sull'identificatore del motore, l'implementazione, le mip::AuthDelegate impostazioni locali, le impostazioni personalizzate e altri dettagli specifici dell'API.
Stati del motore
Un motore può avere uno dei due stati seguenti:
-
CREATED: creato indica che l'SDK dispone di informazioni sullo stato locale sufficienti dopo aver chiamato i servizi back-end necessari. -
LOADED: L'SDK ha costruito le strutture di dati necessarie per renderlo operativo.
Per eseguire qualsiasi operazione, è necessario creare e caricare un motore. La Profile classe espone alcuni metodi di gestione del motore: AddEngineAsync, DeleteEngineAsynce UnloadEngineAsync.
Nella tabella seguente vengono descritti i possibili stati del motore e quali metodi possono modificare tale stato:
| Stato del motore | NONE | CREATO | CARICATO |
|---|---|---|---|
| NONE | AddEngineAsync | ||
| CREATO | DeleteEngineAsync | AddEngineAsync | |
| CARICATO | DeleteEngineAsync | UnloadEngineAsync |
ID motore
Ogni motore ha un identificatore univoco, id, usato in tutte le operazioni di gestione del motore. L'applicazione può fornire un oggetto id. Se l'applicazione non ne fornisce uno, l'SDK può generarlo. Tutte le altre proprietà del motore, ad esempio l'indirizzo di posta elettronica nelle informazioni sull'identità, sono payload opachi per l'SDK. L'SDK non esegue la logica per mantenere univoce altre proprietà o applicare altri vincoli.
Importante
Usare un ID motore univoco per l'utente e usare tale ID motore ogni volta che l'utente esegue un'operazione con l'SDK. Se non si fornisce un ID del motore univoco ed esistente per un utente o un servizio, l’SDK effettua richieste aggiuntive al servizio. Queste andate e ritorno al servizio potrebbero causare un degrado delle prestazioni e la limitazione delle richieste.
// 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
Metodi di gestione del motore
L'SDK include tre metodi di gestione del motore: AddEngineAsync, DeleteEngineAsynce UnloadEngineAsync.
AddEngineAsync
Questo metodo carica un motore esistente o ne crea uno se non esiste già nello stato locale.
Se l'applicazione non fornisce un oggetto id in FileEngineSettings, AddEngineAsync genera un nuovo idoggetto . Verifica quindi se nella cache di archiviazione locale esiste già un motore con quel id. In caso affermativo, carica il motore. Se il motore non esiste nella cache locale, viene creato un nuovo motore chiamando le API e i servizi back-end necessari.
In entrambi i casi, se il metodo riesce, il motore viene caricato e pronto per l'uso.
DeleteEngineAsync
Elimina il motore con il dato id. Tutte le tracce del motore vengono rimosse dalla cache locale.
UnloadEngineAsync
Scarica dal motore le strutture di dati caricate in memoria con il dato id. Lo stato locale di questo motore rimane intatto ed è possibile ricaricarlo con AddEngineAsync.
Questo metodo consente all'applicazione di essere succosa sull'utilizzo della memoria, scaricando motori che non dovrebbero essere usati presto.
Passaggi successivi
- Concetti di autenticazione e osservatori. MIP fornisce un modello di autenticazione estendibile, mentre gli osservatori forniscono notifiche degli eventi per gli eventi asincroni. Entrambi sono fondamentali e si applicano a tutti gli SDK MIP.
- Concetti di profilo e motore: approfondisci i concetti di profilo e motore per gli SDK File, Policy e Protection.