Szybki start: inicjowanie aplikacji klienckich dla zestawów SDK ochrony (C#)

Ten przewodnik Szybki start pokaże, jak wdrożyć wzorzec inicjowania klienta używany przez zawijacz .NET zestawu SDK MIP w środowisku uruchomieniowym.

Uwaga

Kroki opisane w tym przewodniku Szybki start są wymagane dla każdej aplikacji klienckiej, która korzysta z zestawu SDK ochrony po stronie mip .NET. Te szybkie starty powinny być wykonywane po szeregowo po zainicjowaniu aplikacji i wdrożeniu klas Pełnomocnik uwierzytelniania i Zgoda pełnomocnika.

Wymagania wstępne

Jeśli jeszcze tego nie zrobić, pamiętaj, aby:

  • Wykonaj czynności opisane w te Microsoft Information Protection (MIP) SDK konfiguracji. Ten przewodnik Szybki start "Profil ochrony i konfiguracja aparatu" korzysta z odpowiedniej konfiguracji i konfiguracji zestawu SDK.
  • Opcjonalnie:
    • Przejrzyj obiekty profilów i aparatów. Obiekty profilu i aparatu to uniwersalne koncepcje wymagane przez klientów, którzy korzystają z zestawów SDK plików/zasad/ochrony miP.
    • Zapoznaj się z pojęciami uwierzytelniania, aby dowiedzieć się, jak uwierzytelnianie i zgoda są zaimplementowane przez zestaw SDK i aplikację kliencną.

Tworzenie Visual Studio i projektu

Najpierw tworzymy i konfigurujemy początkowe Visual Studio rozwiązania i projektu, na którym będą konstruowane inne szybkie starty.

  1. Otwórz Visual Studio 2017, wybierz menu Plik,Nowy, Project. W oknie Project dialogowym Nowy:

    • W okienku po lewej stronie w obszarze Zainstalowano, Visual C#wybierz pozycję Windows pulpit.

    • W środkowym okienku wybierz pozycję Aplikacja konsoli (.NET Framework)

    • W dolnym okienku zaktualizuj odpowiednio nazwę projektu,lokalizację i odpowiednio zawierającą nazwę rozwiązania.

    • Po zakończeniu kliknij przycisk OK w prawym dolnym rogu.

      Visual Studio tworzenia rozwiązań

  2. Dodaj pakiet Nuget do zestawu SDK pliku MIP do projektu:

    • W Eksploratorze rozwiązańkliknij prawym przyciskiem myszy węzeł projektu (bezpośrednio pod węzłem górnego/węzła rozwiązania) i wybierz pozycję Zarządzaj pakietami NuGet projektu...:
    • Gdy karta NuGet Menedżer pakietów zostanie otwarta w obszarze kart Grupy edytorów:
      • Wybierz pozycję Przeglądaj.
      • W polu wyszukiwania wprowadź "Microsoft.InformationProtection".
      • Wybierz pakiet "Microsoft.InformationProtection.File".
      • Kliknij przycisk "Zainstaluj", a następnie kliknij przycisk "OK", gdy zostanie wyświetlone okno dialogowe potwierdzenia zmian w podglądzie.
  3. Powtórz powyższe czynności, aby dodać pakiet SDK ochrony przed zabezpieczeniami MIP, ale zamiast tego dodaj do aplikacji kod "Microsoft.IdentityModel.Clients.ActiveDirectory".

Jeśli jeszcze nie zaimplementowano, wykonaj czynności wymienione w tece Inicjowanie aplikacji zestawu SDK pliku w celu wdrożenia uwierzytelniania i pełnomocnika zgody.

Inicjowanie zarządzanego opakowania zestawu SDK MIP

  1. W Eksploratorze rozwiązańotwórz plik cs w projekcie, który zawiera implementację metody. Domyślna nazwa jest taka sama jak nazwa projektu zawierającego projekt, która jest określona podczas tworzenia projektu.

  2. Usuń wygenerowaną implementację main() programu .

  3. Zarządzane zawijanie zawiera klasy statyczne, używane do inicjowania, tworzenia , ładowania profilów Microsoft.InformationProtection.MIPMipContext i zwalniania zasobów. Aby zainicjować zawijanie dla operacji zestawu File SDK, wywołaj pozycję , przechodząc do w celu załadowania bibliotek MIP.Initialize()MipComponent.Protection niezbędnych do operacji ochrony.

  4. W Main()Main() dodaj > następujące dane, zastępując identyfikator aplikacji identyfikatorem utworzonej wcześniej rejestracji aplikacji usługi Azure AD.

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

Konstruowanie profilu i aparatu ochrony

Jak wspomniano, obiekty profilu i aparatu są wymagane dla klientów zestawu SDK korzystających z interfejsów API miP. Ukończ kodowanie tej funkcji Szybki start, dodając kod w celu załadowania natywnych bibliotek DLL, a następnie wystąpienia obiektów profilu i aparatu.

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. Zamień wartości zastępcze w wklejonym kodzie źródłowym na następujące wartości:

    Symbol zastępczy Wartość Przykład
    <application-id> Identyfikator aplikacji usługi Azure AD przypisany do aplikacji zarejestrowanej w "konfiguracji i konfiguracji zestawu SDK MIP" (2 wystąpienia). 0edbblll-8773-44de-b87c-b8c6276d41eb
    <przyjazna nazwa> Zdefiniowana przez użytkownika przyjazna nazwa aplikacji. AppInitialization
  2. Teraz wykonaj ostateczną kompilację aplikacji i rozwiąż wszelkie błędy. Kod powinien zostać pomyślnie skompilowany.

Następne kroki

Teraz, gdy kod inicjowania został ukończony, możesz rozpocząć proces szybki start, w którym będą dostępne zestawy SDK ochrony PRZED MIP.