Mulai cepat: Inisialisasi aplikasi klien untuk SDK Perlindungan (C#)

Panduan memulai cepat ini menunjukkan cara menerapkan pola inisialisasi klien yang digunakan pembungkus .NET untuk MIP SDK saat dijalankan.

Nota

Aplikasi klien apa pun yang menggunakan SDK Protection dari wrapper .NET MIP memerlukan langkah-langkah dalam panduan memulai cepat ini. Selesaikan panduan mulai cepat ini secara berurutan setelah aplikasi diinisialisasi serta kelas delegasi otentikasi dan delegasi persetujuan diimplementasikan.

Prasyarat

Jika Anda belum melakukannya, pastikan untuk:

Membuat solusi dan proyek Visual Studio

Pertama, buat dan konfigurasikan solusi dan proyek Visual Studio awal yang menjadi dasar bagi panduan mulai cepat lainnya.

  1. Buka Visual Studio 2022 atau yang lebih baru, pilih menu File , Baru, Proyek. Dalam dialog Proyek Baru :

    • Di panel kiri, di bawah Terinstal, Visual C#, pilih Windows Desktop.

    • Di panel tengah, pilih Aplikasi Konsol (.NET Framework).

    • Di panel bawah, perbarui nama proyek, Lokasi, dan nama Solusi yang berisi yang sesuai.

    • Setelah selesai, pilih OK di sudut kanan bawah.

      Pembuatan solusi Visual Studio.

  2. Tambahkan paket NuGet untuk SDK Perlindungan MIP ke proyek Anda:

    • Di Penjelajah Solusi, klik kanan simpul proyek langsung di bawah node solusi teratas, lalu pilih Kelola paket NuGet...:
    • Saat tab Pengelola Paket NuGet terbuka di area tab Grup Editor:
      • Pilih Telusur.
      • Masukkan Microsoft.InformationProtection di kotak pencarian.
      • Pilih paket Microsoft.InformationProtection.Protection.
      • Pilih Instal, lalu pilih OK saat dialog Konfirmasi perubahan pratinjau muncul.
  3. Ulangi langkah-langkah sebelumnya, tetapi sebagai gantinya tambahkan Microsoft.Identity.Client (MSAL) ke aplikasi.

Jika belum diterapkan, ikuti langkah-langkah yang tercantum dalam inisialisasi aplikasi File SDK untuk mengimplementasikan delegasi autentikasi dan persetujuan.

Menginisialisasi pembungkus terkelola MIP SDK

  1. Dari Penjelajah Solusi, buka file .cs dalam proyek Anda yang berisi implementasi Main() metode . Ini menggunakan nama default yang sama dengan proyek yang memuatnya, yang Anda tentukan selama pembuatan proyek.

  2. Hapus implementasi yang dihasilkan dari main().

  3. Wrapper terkelola mencakup kelas statis Microsoft.InformationProtection.MIP untuk melakukan inisialisasi, membuat MipContext, memuat profil, dan melepaskan sumber daya. Untuk menginisialisasi wrapper untuk operasi SDK Protection, panggil MIP.Initialize() dan teruskan MipComponent.Protection untuk memuat pustaka yang diperlukan guna menjalankan operasi perlindungan.

  4. Dalam Main()Program.cs, tambahkan kode berikut, ganti <id> aplikasi dengan ID pendaftaran aplikasi Microsoft Entra yang Anda buat sebelumnya.

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

Membangun profil perlindungan dan mesin

Seperti disebutkan, klien SDK yang menggunakan API MIP memerlukan objek profil dan mesin. Lengkapi bagian kode dalam panduan mulai cepat ini dengan menambahkan kode untuk memuat DLL native, lalu membuat instance profil dan objek mesin.

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. Ganti nilai placeholder dalam kode sumber yang Anda tempelkan dengan menggunakan nilai berikut:

    Pengganti sementara Nilai Contoh
    <application-id> ID Aplikasi Microsoft Entra yang ditetapkan ke aplikasi yang terdaftar dalam "penyiapan dan konfigurasi MIP SDK" (2 instans). 00001111-aaaa-2222-bbbb-3333cc4444
    <nama ramah> Nama ramah yang ditentukan pengguna untuk aplikasi Anda. Inisialisasi Aplikasi
  2. Sekarang lakukan build akhir aplikasi dan atasi kesalahan apa pun. Kode Anda harus berhasil dikompilasi.

Langkah berikutnya

Kini setelah kode inisialisasi Anda selesai, Anda siap untuk panduan mulai cepat berikutnya, tempat Anda mulai menggunakan SDK Perlindungan MIP.