Sdílet prostřednictvím


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

V tomto rychlém startu se dozvíte, jak implementovat model inicializace klienta používaný obálkou .NET SADY MIP SDK za 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.

Předpoklady

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

  • Dokončete kroky v nastavení a konfiguraci sady Microsoft Information Protection (MIP) SDK. Tento rychlý start "Nastavení profilu ochrany a modulu" spoléhá na správné nastavení a konfiguraci sady SDK.
  • Volitelně:
    • Zkontrolujte objekty profilu a modulu. Objekty profilu a modulu jsou univerzální koncepty vyžadované klienty, kteří používají sady SDK MIP File/Policy/Protection.
    • Projděte si koncepty ověřování a zjistěte, jak jsou ověřování a souhlas implementovány sadou SDK a klientskou aplikací.

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 2017 a 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.

      Visual Studio solution creation

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

    • V Průzkumník ř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 Karet skupiny editoru otevře karta Správce balíčků NuGet:
      • Vyberte Procházet.
      • Do vyhledávacího pole zadejte "Microsoft.InformationProtection".
      • Vyberte balíček Microsoft.InformationProtection.File.
      • Po zobrazení potvrzovací dialogového okna Náhled změn klikněte na Instalovat a potom klikněte na OK.
  3. Opakujte výše uvedené kroky pro přidání balíčku MIP Protection SDK, ale místo toho do aplikace přidejte Microsoft.IdentityModel.Clients.ActiveDirectory.

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é obálky sady MIP SDK

  1. Z Průzkumník řešení otevřete soubor .cs v projektu, který obsahuje implementaci Main() metody. Ve výchozím nastavení se použije stejný název jako projekt, který obsahuje, 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í 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ředejte MipComponent.Protection knihovny potřebné pro operace ochrany.

  4. Do Main() souboru 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);
        }
    }
}

Vytvoření profilu ochrany a modulu

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ý symbol 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
    <popisný název> Uživatelsky definovaný popisný název aplikace. AppInitialization
  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.