Szybki start: inicjowanie aplikacji klienckich dla zestawów SDK ochrony (C#)
W tym przewodniku Szybki start pokazano, jak zaimplementować wzorzec inicjowania klienta używany przez otokę .NET zestawu MIP SDK w czasie wykonywania.
Uwaga
Kroki opisane w tym przewodniku Szybki start są wymagane dla każdej aplikacji klienckiej korzystającej z zestawu SDK ochrony otoki .NET programu MIP. Te przewodniki Szybki start powinny być wykonywane szeregowo po zainicjowaniu aplikacji i implementacji klas delegata uwierzytelniania i delegata zgody.
Wymagania wstępne
Jeśli jeszcze tego nie zrobiono, upewnij się, że:
- Wykonaj kroki opisane w artykule Konfiguracja i konfiguracja zestawu SDK usługi Microsoft Information Protection (MIP). Ten przewodnik Szybki start "Konfiguracja profilu i aparatu ochrony" opiera się na odpowiedniej konfiguracji i konfiguracji zestawu SDK.
- Opcjonalnie:
- Przejrzyj obiekty profilu i aparatu. Obiekty profilu i aparatu są uniwersalnymi pojęciami wymaganymi przez klientów korzystających z zestawów SDK plików/zasad/ochrony miP.
- Zapoznaj się z pojęciami dotyczącymi uwierzytelniania, aby dowiedzieć się, jak uwierzytelnianie i zgoda są implementowane przez zestaw SDK i aplikację kliencą.
Tworzenie rozwiązania i projektu programu Visual Studio
Najpierw utworzymy i skonfigurujemy początkowe rozwiązanie i projekt programu Visual Studio, na którym zostaną utworzone inne przewodniki Szybki start.
Otwórz program Visual Studio 2017, wybierz menu Plik , Nowy, Projekt. W oknie dialogowym Nowy projekt:
W okienku po lewej stronie w obszarze Zainstalowane, Visual C# wybierz pozycję Pulpit systemu Windows.
W środkowym okienku wybierz pozycję Aplikacja konsolowa (.NET Framework)
W dolnym okienku zaktualizuj odpowiednio nazwę projektu, lokalizację i nazwę rozwiązania zawierającego.
Po zakończeniu kliknij przycisk OK w prawym dolnym rogu.
Dodaj pakiet Nuget dla zestawu MIP File SDK do projektu:
- W Eksplorator rozwiązań kliknij prawym przyciskiem myszy węzeł projektu (bezpośrednio pod węzłem góry/rozwiązania), a następnie wybierz pozycję Zarządzaj pakietami NuGet...:
- Po otwarciu karty Menedżer pakietów NuGet w obszarze karty Grupa edytora:
- Wybierz przycisk Przeglądaj.
- Wprowadź ciąg "Microsoft.InformationProtection" w polu wyszukiwania.
- Wybierz pakiet "Microsoft.InformationProtection.File".
- Kliknij przycisk "Zainstaluj", a następnie kliknij przycisk "OK", gdy zostanie wyświetlone okno dialogowe potwierdzenia podglądu .
Powtórz powyższe kroki, aby dodać pakiet zestawu MIP Protection SDK, ale zamiast tego dodaj do aplikacji ciąg "Microsoft.IdentityModel.Clients.ActiveDirectory".
Implementowanie delegata uwierzytelniania i delegata zgody
Jeśli jeszcze nie zaimplementowano, wykonaj kroki opisane w temacie Inicjowanie aplikacji zestawu SDK plików na potrzeby implementowania delegowania uwierzytelniania i zgody.
Inicjowanie zarządzanej otoki zestawu MIP SDK
W Eksplorator rozwiązań otwórz plik cs w projekcie zawierający implementację
Main()
metody . Domyślnie ma taką samą nazwę jak projekt zawierający go, który został określony podczas tworzenia projektu.Usuń wygenerowaną implementację elementu
main()
.Zarządzana otoka zawiera klasę statyczną używaną
Microsoft.InformationProtection.MIP
do inicjowania, tworzeniaMipContext
, ładowania profilów i wydawania zasobów. Aby zainicjować otokę dla operacji zestawu SDK plików, wywołajMIP.Initialize()
metodę , przekazując polecenie ,MipComponent.Protection
aby załadować biblioteki niezbędne do wykonywania operacji ochrony.W
Main()
pliku Program.cs dodaj następujące polecenie, zastępując <ciąg application-id> identyfikatorem utworzonej wcześniej rejestracji aplikacji firmy Microsoft.
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 profilów i aparatu są wymagane dla klientów zestawu SDK przy użyciu interfejsów API MIP. Ukończ część kodowania tego przewodnika Szybki start, dodając kod, aby załadować natywne biblioteki DLL, a następnie utworzyć wystąpienie 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;
}
}
}
Zastąp wartości symboli zastępczych w wklejonym kodzie źródłowym, używając następujących wartości:
Symbol zastępczy Wartość Przykład <identyfikator aplikacji> Identyfikator aplikacji Entra firmy Microsoft przypisany do aplikacji zarejestrowanej w sekcji "Konfiguracja i konfiguracja zestawu MIP SDK" (2 wystąpienia). 0edbblll-8773-44de-b87c-b8c6276d41eb <przyjazna nazwa> Przyjazna nazwa aplikacji zdefiniowana przez użytkownika. AppInitialization Teraz wykonaj ostateczną kompilację aplikacji i rozwiąż wszelkie błędy. Kod powinien zostać pomyślnie skompilować.
Następne kroki
Teraz, gdy kod inicjowania został ukończony, możesz przystąpić do następnego przewodnika Szybki start, w którym zaczniesz korzystać z zestawów SDK usługi MIP Protection.