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

Panduan cepat ini akan menunjukkan kepada Anda cara menerapkan pola inisialisasi klien yang digunakan oleh pembungkus MIP SDK .NET saat runtime.

Nota

Langkah-langkah yang diuraikan dalam panduan awal ini diperlukan untuk aplikasi klien apa pun yang menggunakan SDK Perlindungan dari wrapper MIP .NET. Mulai Cepat ini harus dilakukan secara serial setelah Inisialisasi Aplikasi dan implementasi delegasi Autentikasi dan kelas delegasi Persetujuan.

Prasyarat

Jika Anda belum melakukannya, pastikan untuk:

Membuat solusi dan proyek Visual Studio

Pertama, kita membuat dan mengonfigurasi solusi dan proyek awal Visual Studio, yang akan menjadi dasar untuk Quickstarts 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, klik tombol OK di kanan bawah.

      Pembuatan solusi Visual Studio

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

    • Di Penjelajah Solusi, klik kanan pada simpul proyek (langsung di bawah node atas/solusi), dan 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".
      • Klik "Instal", lalu klik "OK" saat dialog konfirmasi Pratinjau perubahan ditampilkan.
  3. Ulangi langkah-langkah di atas, tetapi sebagai gantinya tambahkan "Microsoft.Identity.Client" (MSAL) ke aplikasi.

Jika belum diterapkan, ikuti langkah-langkah yang tercantum dalam inisialisasi aplikasi File SDK untuk menerapkan autentikasi dan delegasi 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. Pembungkus terkelola mencakup kelas statis, Microsoft.InformationProtection.MIP digunakan untuk inisialisasi, membuat MipContext, memuat profil, dan merilis sumber daya. Untuk menginisialisasi pembungkus untuk operasi File SDK, panggil MIP.Initialize() dan masukkan MipComponent.Protection untuk memuat pustaka yang diperlukan untuk operasi perlindungan.

  4. Di Main()Program.cs tambahkan yang berikut ini, ganti <id> aplikasi dengan ID Pendaftaran Aplikasi Microsoft Entra yang dibuat 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, profil dan objek mesin diperlukan untuk klien SDK menggunakan API MIP. Lengkapi bagian tugas pengkodean dari Quickstart ini dengan menambahkan kode untuk memuat DLL asli dan kemudian mengkonfigurasi objek profil dan 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, 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). 0edbblll-8773-44de-b87c-b8c6276d41eb
    <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 Selanjutnya

Setelah kode inisialisasi Anda selesai, Anda siap untuk quickstart berikutnya, di mana Anda akan mulai mengalami SDK Perlindungan MIP.