Snabbstart: Initiering av klientprogram för Skydds-SDK:er (C#)
Den här snabbstarten visar hur du implementerar klientinitieringsmönstret, som används av MIP SDK .NET-omslutningen vid körning.
Kommentar
De steg som beskrivs i den här snabbstarten krävs för alla klientprogram som använder MIP .NET-omslutningens Skydds-SDK. De här snabbstarterna bör utföras seriellt efter programinitiering och implementering av autentiseringsdelegat- och medgivandedelegatklasser.
Förutsättningar
Om du inte redan har gjort det måste du:
- Slutför stegen i Konfiguration och konfiguration av Microsoft Information Protection (MIP) SDK. Den här snabbstarten "Skyddsprofil och motorkonfiguration" förlitar sig på korrekt SDK-konfiguration.
- Valfritt:
- Granska profil- och motorobjekt. Profil- och motorobjekten är universella begrepp som krävs av klienter som använder SDK:er för MIP-fil/princip/skydd.
- Läs Autentiseringsbegrepp för att lära dig hur autentisering och medgivande implementeras av SDK och klientprogrammet.
Skapa en Visual Studio-lösning och ett projekt
Först skapar och konfigurerar vi den första Visual Studio-lösningen och projektet, som de andra snabbstarterna bygger på.
Öppna Visual Studio 2017, välj menyn Arkiv , Nytt, Projekt. I dialogrutan Nytt projekt:
I den vänstra rutan, under Installerad, Visual C#, väljer du Windows Desktop.
I mittenfönstret väljer du Konsolapp (.NET Framework)
I den nedre rutan uppdaterar du projektets namn, plats och det innehållande lösningsnamnet i enlighet med detta.
När du är klar klickar du på OK-knappen längst ned till höger.
Lägg till Nuget-paketet för MIP File SDK i projektet:
- I Solution Explorer högerklickar du på projektnoden (direkt under den övre noden/lösningsnoden) och väljer Hantera NuGet-paket...:
- När fliken NuGet Package Manager öppnas i området Redigerargruppflikar:
- Välj bläddra.
- Ange "Microsoft.InformationProtection" i sökrutan.
- Välj paketet "Microsoft.InformationProtection.File".
- Klicka på "Installera" och sedan på "OK" när bekräftelsedialogrutan Förhandsgranskningsändringar visas.
Upprepa stegen ovan för att lägga till MIP Protection SDK-paketet, men lägg i stället till "Microsoft.IdentityModel.Clients.ActiveDirectory" i programmet.
Implementera en autentiseringsdelegat och ett medgivandedelegat
Om det inte redan har implementerats följer du stegen i Initiering av File SDK-program för implementering av autentisering och medgivandedelegat.
Initiera MIP SDK Managed Wrapper
Öppna .cs-filen i projektet som innehåller implementeringen av
Main()
metoden från Solution Explorer. Det är som standard samma namn som det projekt som innehåller det, som du angav när projektet skapades.Ta bort den genererade implementeringen av
main()
.Den hanterade omslutningen innehåller en statisk klass som
Microsoft.InformationProtection.MIP
används för initiering, skapar enMipContext
, läser in profiler och frigör resurser. Om du vill initiera omslutningen för File SDK-åtgärder anroparMIP.Initialize()
du och skickar inMipComponent.Protection
för att läsa in de bibliotek som krävs för skyddsåtgärder.I
Main()
Program.cslägger du till följande och ersätter <program-ID> med ID:t för Microsoft Entra-programregistreringen som skapades tidigare.
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);
}
}
}
Skapa en skyddsprofil och motor
Som nämnts krävs profil- och motorobjekt för SDK-klienter med hjälp av MIP-API:er. Slutför kodningsdelen av den här snabbstarten genom att lägga till kod för att läsa in de interna DLL:erna och sedan instansiera profil- och motorobjekten.
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;
}
}
}
Ersätt platshållarvärdena i källkoden som du klistrade in med hjälp av följande värden:
Platshållare Värde Exempel <application-id> Microsoft Entra-program-ID:t som tilldelats programmet som registrerats i "MIP SDK-konfiguration" (2 instanser). 0edbblll-8773-44de-b87c-b8c6276d41eb <friendly-name> Ett användardefinierat eget namn för ditt program. AppInitialisering Gör nu en slutlig version av programmet och lös eventuella fel. Koden bör skapas.
Nästa steg
Nu när initieringskoden är klar är du redo för nästa snabbstart, där du börjar uppleva MIP Protection SDK:erna.