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

V tomto rychlém úvodu se dozvíte, jak implementovat vzorec inicializace klienta pomocí obálky .NET ve službě MIP SDK během běhu.

Poznámka:

Kroky popsané v tomto rychlém startu se vyžadují pro všechny klientské aplikace, které používají sadu SDK ochrany .NET MIP. Tyto rychlé starty by se měly provádět sériově po inicializaci aplikace a implementaci třídy delegáta ověřování a 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říme a nakonfigurujeme počáteční řešení a projekt sady Visual Studio, na kterém se sestaví další rychlé starty.

  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í klikněte na tlačítko OK v pravém dolním rohu.

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

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

    • V Průzkumníku řešení klikněte pravým tlačítkem na uzel projektu (přímo pod horním uzlem nebo uzlem řešení) a 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.
      • Do vyhledávacího pole zadejte "Microsoft.InformationProtection".
      • Vyberte balíček Microsoft.InformationProtection.Protection.
      • Klikněte na Instalovat a po zobrazení potvrzovacího dialogového okna Náhled změn klikněte na OK.
  3. Opakujte výše uvedené kroky, ale místo toho do aplikace přidejte Microsoft.Identity.Client (MSAL).

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

Inicializace spravovaného wrapperu 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, která se používá k inicializaci, vytvoření instance MipContext, načítání profilů a uvolnění prostředků. Chcete-li inicializovat obálku pro operace sady File SDK, zavolejte MIP.Initialize() a předávejte parametr MipComponent.Protection pro načtení knihoven potřebných pro operace ochrany.

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

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

Sestavit profil ochrany a motor

Jak už bylo zmíněno, objekty profilu a modulu jsou vyžadovány pro klienty sady SDK pomocí rozhraní API MIP. Dokončete kódovací část 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);

               // 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. Zástupné hodnoty ve zdrojovém kódu, do kterého 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). 0edbblll-8773-44de-b87c-b8c6276d41eb
    <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.