Guida introduttiva: Inizializzazione dell'applicazione client per gli SDK di protezione (C#)
Questa guida introduttiva illustra come implementare il modello di inizializzazione client, usato dal wrapper .NET di MIP SDK in fase di esecuzione.
Nota
I passaggi descritti in questa guida introduttiva sono necessari per qualsiasi applicazione client che usa l'SDK protection di MIP .NET. Questa guida introduttiva deve essere eseguita serialmente dopo l'inizializzazione dell'applicazione e l'implementazione delle classi delegate di autenticazione e delegato di consenso.
Prerequisiti
Se non è già stato fatto, assicurarsi di:
- Completare i passaggi della configurazione e della configurazione di Microsoft Information Protection SDK (MIP). Questa guida introduttiva "Profilo di protezione e configurazione del motore" si basa sull'installazione e la configurazione appropriate dell'SDK.
- Facoltativamente:
- Esaminare gli oggetti profilo e motore. I profili e gli oggetti motore sono concetti universali, richiesti dai client che usano gli SDK di protezione/file/criteri MIP.
- Vedere Concetti relativi all'autenticazione per informazioni sull'implementazione dell'autenticazione e del consenso da parte dell'SDK e dell'applicazione client.
Creare una soluzione e un progetto di Visual Studio
Prima di tutto viene creata e configurata la soluzione e il progetto iniziale di Visual Studio, in base ai quali verranno compilati gli altri argomenti di avvio rapido.
Aprire Visual Studio 2017, selezionare il menu File , Nuovo, Progetto. Nella finestra di dialogo Nuovo progetto :
Nel riquadro sinistro, in Installato, Visual C#, selezionare Desktop di Windows.
Nel riquadro centrale selezionare App console (.NET Framework)
Nel riquadro inferiore aggiornare di conseguenza il nome del progetto, il percorso e il nome della soluzione che lo contiene.
Al termine, fare clic sul pulsante OK in basso a destra.
Aggiungere il pacchetto Nuget per MIP File SDK al progetto:
- Nella Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto (direttamente sotto il nodo superiore/soluzione) e selezionare Gestisci pacchetti NuGet...:
- Quando si apre la scheda Gestione pacchetti NuGet nell'area Schede Gruppo editor:
- Selezionare Sfoglia.
- Immettere "Microsoft.InformationProtection" nella casella di ricerca.
- Selezionare il pacchetto "Microsoft.InformationProtection.File".
- Fare clic su "Installa", quindi su "OK" quando viene visualizzata la finestra di dialogo di conferma delle modifiche dell'anteprima.
Ripetere i passaggi precedenti per aggiungere il pacchetto MIP Protection SDK, ma aggiungere "Microsoft.IdentityModel.Clients.ActiveDirectory" all'applicazione.
Implementare un delegato di autenticazione e un delegato di consenso
Se non è già implementato, seguire i passaggi elencati in Inizializzazione dell'applicazione File SDK per l'implementazione dell'autenticazione e del delegato di consenso.
Inizializzare il wrapper gestito di MIP SDK
Da Esplora soluzioni aprire il file con estensione cs nel progetto che contiene l'implementazione del
Main()
metodo . Per impostazione predefinita, il nome del progetto che lo contiene è stato specificato durante la creazione del progetto.Rimuovere l'implementazione generata di
main()
.Il wrapper gestito include una classe statica,
Microsoft.InformationProtection.MIP
usata per l'inizializzazione, la creazione di unMipContext
, il caricamento di profili e il rilascio di risorse. Per inizializzare il wrapper per le operazioni di File SDK, chiamareMIP.Initialize()
, passandoMipComponent.Protection
per caricare le librerie necessarie per le operazioni di protezione.In
Main()
Program.cs aggiungere quanto segue, sostituendo <application-id> con l'ID della registrazione dell'applicazione Microsoft Entra creata in precedenza.
using System;
using System.Threading.Tasks;
using Microsoft.InformationProtection;
using Microsoft.InformationProtection.Exceptions;
using Microsoft.InformationProtection.Protection;
namespace mip_sdk_dotnet_quickstart
{
class Program
{
private const string clientId = "<application-id>";
private const string appName = "<friendly-name>";
static void Main(string[] args)
{
//Initialize Wrapper for Protection SDK operations
MIP.Initialize(MipComponent.Protection);
}
}
}
Creare un profilo di protezione e un motore
Come accennato, gli oggetti profilo e motore sono necessari per i client SDK che usano le API MIP. Completare la parte di scrittura del codice di questa guida introduttiva aggiungendo codice per caricare le DLL native e quindi creare un'istanza degli oggetti profilo e motore.
using System;
using System.Threading.Tasks;
using Microsoft.InformationProtection;
using Microsoft.InformationProtection.Exceptions;
using Microsoft.InformationProtection.Protection;
namespace mip_sdk_dotnet_quickstart
{
class Program
{
private const string clientId = "<application-id>";
private const string appName = "<friendly-name>";
static void Main(string[] args)
{
// Initialize Wrapper for Protection SDK operations.
MIP.Initialize(MipComponent.Protection);
// Create ApplicationInfo, setting the clientID from Azure AD App Registration as the ApplicationId.
ApplicationInfo appInfo = new ApplicationInfo()
{
ApplicationId = clientId,
ApplicationName = appName,
ApplicationVersion = "1.0.0"
};
// Instantiate the AuthDelegateImpl object, passing in AppInfo.
AuthDelegateImplementation authDelegate = new AuthDelegateImplementation(appInfo);
// Create MipConfiguration Object
MipConfiguration mipConfiguration = new MipConfiguration(appInfo, "mip_data", LogLevel.Trace, false);
// Create MipContext using Configuration
mipContext = MIP.CreateMipContext(mipConfiguration);
// Initialize and instantiate the ProtectionProfile.
// Create the ProtectionProfileSettings object.
// Initialize protection profile settings to create/use local state.
var profileSettings = new ProtectionProfileSettings(mipContext,
CacheStorageType.OnDiskEncrypted,
new ConsentDelegateImplementation());
// Load the Profile async and wait for the result.
var protectionProfile = Task.Run(async () => await MIP.LoadProtectionProfileAsync(profileSettings)).Result;
// Create a ProtectionEngineSettings object, then use that to add an engine to the profile.
var engineSettings = new ProtectionEngineSettings("user1@tenant.com", authDelegate, "", "en-US");
engineSettings.Identity = new Identity("user1@tenant.com");
var protectionEngine = Task.Run(async () => await protectionProfile.AddEngineAsync(engineSettings)).Result;
// Application Shutdown
// handler = null; // This will be used in later quick starts.
protectionEngine = null;
protectionProfile = null;
mipContext = null;
}
}
}
Sostituire i valori segnaposto nel codice sorgente incollato usando i valori seguenti:
Segnaposto Valore Esempio <application-id> ID applicazione Microsoft Entra assegnato all'applicazione registrata in "Configurazione e configurazione di MIP SDK" (2 istanze). 0edbblll-8773-44de-b87c-b8c6276d41eb <friendly-name> Nome descrittivo definito dall'utente per l'applicazione. AppInitialization A questo punto, eseguire una compilazione finale dell'applicazione e risolvere eventuali errori. Il codice dovrebbe essere compilato correttamente.
Passaggi successivi
Ora che il codice di inizializzazione è stato completato, si è pronti per la guida introduttiva successiva, in cui si inizierà a sperimentare gli SDK di protezione MIP.