Rychlý start: Inicializace klientské aplikace pro sady SDK ochrany (C#)

V tomto rychlém startu se dozvíte, jak implementovat model inicializace klienta, který sada MIP SDK .NET obálka používá za běhu.

Poznámka:

Každá klientská aplikace, která používá miP .NET obálku Protection SDK, vyžaduje kroky v tomto rychlém startu. Dokončete tyto rychlé starty sériově po inicializaci aplikace a implementaci delegáta ověřování a tříd delegáta souhlasu.

Požadavky

Pokud jste to ještě neudělali, nezapomeňte:

Vytvoření řešení a projektu sady Visual Studio

Nejprve vytvořte a nakonfigurujte počáteční Visual Studio řešení a projekt, na kterých ostatní rychlé starty vycházejí.

  1. Otevřete Visual Studio 2022 nebo novější, vyberte nabídku Soubor , Nový, Projekt. V dialogovém okně Nový projekt :

    • V levém podokně v části Nainstalováno, Visual C# vyberte Windows Desktop.

    • V prostředním podokně vyberte Konzolová aplikace (.NET Framework).

    • V dolním podokně odpovídajícím způsobem aktualizujte název projektu, umístění a obsahující název řešení .

    • Po dokončení vyberte v pravém dolním rohu ok .

      Vytvoření řešení v aplikaci Visual Studio.

  2. Do projektu přidejte balíček NuGet pro sadu MIP Protection SDK:

    • V Průzkumník řešení klikněte pravým tlačítkem myši na uzel projektu přímo pod horním uzlem řešení a pak vyberte Spravovat balíčky NuGet...:
    • Když se v oblasti záložek skupiny editoru otevře záložka Správce balíčků NuGet:
      • Vyberte Procházet.
      • Zadejte Microsoft.InformationProtection do vyhledávacího pole.
      • Microsoft.InformationProtection.Protection Vyberte balíček.
      • Vyberte Nainstalovat a potom vyberte OK, když se zobrazí potvrzovací dialog Náhled změn.
  3. Opakujte předchozí kroky, ale místo toho přidejte Microsoft.Identity.Client do aplikace (MSAL).

Pokud ještě není implementováno, postupujte podle kroků uvedených v inicializaci aplikace File SDK a implementujte delegáta ověřování a souhlasu.

Inicializujte spravovaný obal sady MIP SDK

  1. V Průzkumníku řešení otevřete soubor .cs v projektu, který obsahuje implementaci Main() metody. V rámci výchozího nastavení se použije stejný název jako projekt, který ho obsahuje a který jste zadali při vytváření projektu.

  2. Odeberte vygenerovanou implementaci main().

  3. Spravovaná obálka obsahuje statickou třídu Microsoft.InformationProtection.MIP pro inicializaci, vytváření objektu MipContext, načítání profilů a uvolnění prostředků. Chcete-li inicializovat wrapper pro operace s Protection SDK, zavolejte MIP.Initialize() a předejte parametr MipComponent.Protection, aby se načetly knihovny potřebné pro operace ochrany.

  4. V souboru Program.cs v Main() přidejte následující kód a nahraďte <ID aplikace> ID registrace aplikace Microsoft Entra, kterou jste dříve vytvořili.

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

Vytvoření profilu ochrany a motoru

Jak už bylo zmíněno, klienti sady SDK, kteří používají rozhraní API MIP, vyžadují objekty profilu a modulu. Dokončete část kódu tohoto rychlého startu přidáním kódu pro načtení nativních knihoven DLL a následným vytvořením instance objektů profilu a modulu.

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, CacheStorageType.OnDiskEncrypted);

               // Create MipContext using Configuration
               MipContext 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. Zástupné hodnoty ve zdrojovém kódu, které jste vložili, nahraďte následujícími hodnotami:

    Zástupný text Hodnota Příklad
    <ID aplikace> ID aplikace Microsoft Entra přiřazené k aplikaci zaregistrované v nastavení a konfiguraci sady MIP SDK (2 instance). 00001111-aaaa-2222-bbbb-3333cccc4444
    <uživatelsky přívětivý název> Uživatelsky definovaný popisný název aplikace. Inicializace aplikace
  2. Teď proveďte finální sestavení aplikace a vyřešte případné chyby. Kód by se měl úspěšně sestavit.

Další kroky

Teď, když je inicializační kód hotový, jste připraveni na další rychlý start, kde začnete používat sady MIP Protection SDK.