Freigeben über


Schnellstart: Clientanwendungsinitialisierung für Schutz-SDKs (C#)

In dieser Schnellstartanleitung erfahren Sie, wie Sie das Clientinitialisierungsmuster implementieren, das vom MIP SDK .NET-Wrapper zur Laufzeit verwendet wird.

Hinweis

Die in dieser Schnellstartanleitung beschriebenen Schritte sind für jede Clientanwendung erforderlich, die das Protection SDK des MIP .NET-Wrappers verwendet. Diese Schnellstarts sollten nach der Anwendungsinitialisierung und Implementierung von Authentifizierungsdelegat- und Zustimmungsdelegatklassen serialisiert werden.

Voraussetzungen

Sollten Sie das noch nicht getan haben, sorgen Sie dafür, dass Sie:

Erstellen einer Visual Studio-Projektmappe und eines -Projekts

Zuerst konfigurieren und erstellen wir die provisorische Visual Studio-Projektmappe und das anfängliche Projekt, auf dem die anderen Schnellstartanleitungen aufbauen.

  1. Öffnen Sie Visual Studio 2019 oder höher, wählen Sie das Menü "Datei ", "Neu", "Projekt" aus. Im Dialogfeld "Neues Projekt ":

    • Wählen Sie im linken Bereich unter "Installiert" Visual C#die Option "Windows Desktop" aus.

    • Wählen Sie im mittleren Bereich die Konsolen-App (.NET Framework) aus.

    • Aktualisieren Sie im unteren Bereich Name, Speicherort und den darin enthaltenen Projektmappennamen des Projekts.

    • Wenn Sie fertig sind, klicken Sie unten rechts auf die Schaltfläche "OK ".

      Erstellen von Visual Studio-Lösungen

  2. Fügen Sie dem Projekt das NuGet-Paket für das MIP File SDK hinzu:

    • Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten (direkt unter dem oberen/Projektmappenknoten), und wählen Sie "NuGet-Pakete verwalten"...:
    • Wenn die Registerkarte "NuGet-Paket-Manager " im Bereich "Editorgruppe" geöffnet wird:
      • Wählen Sie Durchsuchen aus.
      • Geben Sie "Microsoft.InformationProtection" in das Suchfeld ein.
      • Wählen Sie das Paket "Microsoft.InformationProtection.File" aus.
      • Klicken Sie auf "Installieren" und dann auf "OK", wenn das Bestätigungsdialogfeld "Änderungen anzeigen" erscheint.
  3. Wiederholen Sie die vorstehenden Schritte zum Hinzufügen des MIP Protection SDK-Pakets, fügen Sie der Anwendung stattdessen "Microsoft.IdentityModel.Clients.ActiveDirectory" hinzu.

Wenn sie noch nicht implementiert ist, führen Sie die schritte aus, die im File SDK-Anwendungsinitialisierung für die Implementierung von Authentifizierungs- und Zustimmungsdelegat aufgeführt sind.

Initialisieren des verwalteten Wrappers des MIP SDK

  1. Öffnen Sie im Projektmappen-Explorer die CS-Datei im Projekt, die die Implementierung der Main()-Methode enthält. Standardmäßig wird derselbe Name wie das Projekt verwendet, das es enthält, das Sie während der Projekterstellung angegeben haben.

  2. Entfernen Sie die generierte Implementierung von main().

  3. Der verwaltete Wrapper enthält eine statische Klasse, Microsoft.InformationProtection.MIP die für die Initialisierung, das Erstellen von MipContextProfilen, das Laden von Profilen und das Freigeben von Ressourcen verwendet wird. Zum Initialisieren des Wrappers für File SDK-Vorgänge rufen Sie MIP.Initialize() auf und übergeben MipComponent.Protection, um die erforderlichen Bibliotheken für Schutzvorgänge zu laden.

  4. Fügen Main() Sie in Program.cs Folgendes hinzu, indem Sie die Anwendungs-ID< durch die ID der zuvor erstellten Microsoft Entra-Anwendungsregistrierung ersetzen>.

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);
        }
    }
}

Erstellen eines Schutzprofils und einer Engine

Wie erwähnt, sind Profil- und Modulobjekte für SDK-Clients mit MIP-APIs erforderlich. Schließen Sie den Codierungsteil dieser Schnellstartanleitung ab, indem Sie Code zum Laden der systemeigenen DLLs hinzufügen und dann die Profil- und Modulobjekte instanziieren.

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;
          }
     }
}
  1. Ersetzen Sie die Platzhalterwerte im Quellcode, in den Sie eingefügt haben, mithilfe der folgenden Werte:

    Platzhalter Wert Beispiel
    <application-id> Die Microsoft Entra-Anwendungs-ID, die der Anwendung zugewiesen ist, die in "MIP SDK-Setup und -Konfiguration" registriert ist (2 Instanzen). 0edbblll-8773-44de-b87c-b8c6276d41eb
    <Freundlicher Name> Ein benutzerdefinierter, benutzerfreundlicher Name für Ihre Anwendung. AppInitialization
  2. Führen Sie nun einen endgültigen Build der Anwendung aus, und beheben Sie alle Fehler. Der Code sollte erfolgreich erstellt werden.

Nächste Schritte

Nachdem der Initialisierungscode abgeschlossen ist, können Sie mit dem nächsten Schnellstart beginnen, bei dem Sie erste Erfahrungen mit den MIP-Schutz-SDKs sammeln.