Hızlı Başlangıç: Koruma SDK'ları için istemci uygulaması başlatma (C#)

Bu hızlı başlangıçta, MIP SDK .NET sarmalayıcının çalışma zamanında kullandığı istemci başlatma desenini nasıl uygulayabileceğiniz gösterilmektedir.

Uyarı

MIP .NET sarmalayıcının Koruma SDK'sını kullanan tüm istemci uygulamaları bu hızlı başlangıçtaki adımları gerektirir. Uygulama başlatma ve kimlik doğrulama temsilcisi ve onay temsilcisi sınıflarının uygulanmasından sonra bu hızlı başlangıçları seri olarak tamamlayın.

Önkoşullar

Henüz yapmadıysanız şunları yaptığınızdan emin olun:

Visual Studio çözümü ve projesi oluşturma

İlk olarak, diğer hızlı başlangıçların temel aldığı başlangıç Visual Studio çözümünü ve projesini oluşturun ve yapılandırın.

  1. Visual Studio 2022 veya sonraki bir sürümünü açın, Dosya menüsünü ( Yeni, Proje) seçin. Yeni Proje iletişim kutusunda:

    • Sol bölmedeki Yüklü, Visual C# altında Windows Masaüstü'nü seçin.

    • Orta bölmede Konsol Uygulaması (.NET Framework) öğesini seçin.

    • Alt bölmede proje Adı, Konum ve içeren Çözüm adını uygun şekilde güncelleştirin.

    • İşiniz bittiğinde sağ alt köşedeki Tamam'ı seçin.

      Visual Studio çözümü oluşturma.

  2. MIP Koruması SDK'sı için NuGet paketini projenize ekleyin:

    • Çözüm Gezgini doğrudan üst çözüm düğümünü altındaki proje düğümüne sağ tıklayın ve ardından NuGet paketlerini yönet... öğesini seçin:
    • NuGet Paket Yöneticisi sekmesi Düzenleyici Grubu sekmeleri alanında açıldığında:
      • Göz At seçeneğini seçin.
      • Arama kutusuna Microsoft.InformationProtection yazın.
      • Microsoft.InformationProtection.Protection Paketi seçin.
      • Yükle'yi seçin ve ardından Önizleme değişiklikleri onay iletişim kutusu görüntülendiğinde Tamam'ı seçin.
  3. Önceki adımları tekrarlayın, ancak bu kez uygulamaya Microsoft.Identity.Client (MSAL) ekleyin.

Henüz uygulanmadıysa, kimlik doğrulaması ve onay temsilcisini uygulamak için Dosya SDK'sı uygulaması başlatma bölümünde listelenen adımları izleyin.

MIP SDK yönetilen sarmalayıcısını başlatma

  1. Çözüm Gezgini'nden, projenizde yönteminin uygulanmasını Main() içeren .cs dosyasını açın. Varsayılan olarak, proje oluşturma sırasında belirttiğiniz, onu içeren projeyle aynı ada sahiptir.

  2. Oluşturulan uygulamayı main() kaldırın.

  3. Yönetilen sarmalayıcı, başlatma, bir MipContext oluşturma, profilleri yükleme ve kaynakları serbest bırakma için Microsoft.InformationProtection.MIP adlı statik bir sınıf içerir. Protection SDK işlemleri için sarmalayıcıyı başlatmak üzere, MIP.Initialize() çağrısını yapın ve koruma işlemleri için gerekli kitaplıkları yüklemek amacıyla MipComponent.Protection öğesini geçirin.

  4. Program.cs'deMain() aşağıdaki kodu ekleyin ve application-id> değerini daha önce oluşturduğunuz Microsoft Entra uygulama kaydının kimliğiyle değiştirin<.

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

Koruma profili ve altyapısı oluşturma

Belirtildiği gibi, MIP API'lerini kullanan SDK istemcileri için profil ve altyapı nesneleri gerekir. Yerel DLL'leri yüklemek ve ardından profil ve altyapı nesnelerinin örneğini oluşturacak kod ekleyerek bu hızlı başlangıcın kodlama bölümünü tamamlayın.

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. Yapıştırdığınız kaynak kodundaki yer tutucu değerlerini aşağıdaki değerleri kullanarak değiştirin:

    Placeholder Value Örnek
    <uygulama kimliği> "MIP SDK kurulumu ve yapılandırması" (2 örnek) içinde kayıtlı uygulamaya atanan Microsoft Entra Uygulama Kimliği. 00001111-aaaa-2222-bbbb-3333cccc4444
    <kullanıcı dostu ad> Uygulamanız için kullanıcı tarafından tanımlanan tanıdık bir isim. Uygulama Başlatma
  2. Şimdi uygulamanın son derlemesini yapın ve hataları çözün. Kodunuz başarıyla derlenmelidir.

Sonraki Adımlar

Başlatma kodunuz tamamlandıktan sonra, MIP Koruması SDK'larını deneyimlediğiniz sonraki hızlı başlangıç için hazırsınız demektir.