Bagikan melalui


Microsoft Information Protection SDK - Konsep objek Profil dan Mesin

Profil

MipContext Di mana adalah kelas untuk menyimpan pengaturan khusus SDK, profil adalah kelas akar untuk semua pelabelan MIP dan operasi khusus perlindungan di MIP SDK. Sebelum menggunakan salah satu dari tiga set API, aplikasi klien harus membuat profil. Operasi mendatang dilakukan oleh profil, atau oleh objek lain yang ditambahkan ke profil. Hanya satu objek profil per proses yang direkomendasikan. Membuat lebih dari satu dapat mengakibatkan perilaku yang tidak terduga.

Ada tiga jenis profil di MIP SDK:

API yang digunakan dalam aplikasi yang menggunakan menentukan kelas profil mana yang harus digunakan.

Profil itu sendiri menyediakan fungsionalitas berikut:

  • Menentukan apakah status harus dimuat dalam memori atau disimpan ke disk dan, jika disimpan ke disk, jika dienkripsi.
  • mip::ConsentDelegate Menentukan yang harus digunakan untuk operasi persetujuan.
  • mip::FileProfile::Observer Menentukan implementasi yang akan digunakan untuk panggilan balik asinkron untuk operasi profil.

Pengaturan Profil

  • MipContext: Objek MipContext yang diinisialisasi untuk menyimpan info aplikasi, jalur status, dll.
  • CacheStorageType: Menentukan cara menyimpan status: Dalam memori, pada disk, atau pada disk dan dienkripsi.
  • consentDelegate: Pointer bersama kelas mip::ConsentDelegate.
  • observer: Pointer bersama ke implementasi profil Observer (dalam PolicyProfile, ProtectionProfile, dan FileProfile).
  • applicationInfo: Objek mip::ApplicationInfo . Informasi tentang aplikasi yang menggunakan SDK, yang cocok dengan ID dan nama pendaftaran aplikasi Microsoft Entra Anda.

Mesin

Mesin SDK File, Profil, dan Perlindungan menyediakan antarmuka untuk operasi yang dilakukan oleh identitas tertentu. Satu mesin ditambahkan ke objek Profil untuk setiap pengguna atau perwakilan layanan yang masuk ke aplikasi. Dimungkinkan untuk melakukan operasi yang didelegasikan melalui mip::ProtectionSettings dan file atau penanganan perlindungan. Lihat bagian pengaturan perlindungan di konsep FileHandler untuk detail selengkapnya.

Ada tiga kelas mesin di SDK, satu untuk setiap API. Daftar berikut menunjukkan kelas mesin dan beberapa fungsi yang terkait dengan masing-masing:

  • mip::ProtectionEngine
  • mip::PolicyEngine
    • ListSensitivityLabels(): Mendapatkan daftar label untuk mesin yang dimuat.
    • GetSensitivityLabel(): Mendapatkan label dari konten yang ada.
    • ComputeActions(): Disediakan dengan ID label dan metadata opsional, mengembalikan daftar tindakan yang harus terjadi untuk item tertentu.
  • mip::FileEngine
    • ListSensitivityLabels(): Mendapatkan daftar label untuk mesin yang dimuat.
    • CreateFileHandler(): Membuat mip::FileHandler untuk file atau aliran tertentu.

Membuat mesin memerlukan melewati objek pengaturan mesin tertentu yang berisi pengaturan untuk jenis mesin yang akan dibuat. Objek pengaturan memungkinkan pengembang menentukan detail tentang pengidentifikasi mesin, mip::AuthDelegate implementasi, lokal, dan pengaturan kustom, serta detail khusus API lainnya.

Status Mesin

Mesin mungkin memiliki salah satu dari dua status:

  • CREATED: Dibuat menunjukkan bahwa SDK memiliki informasi status lokal yang cukup setelah memanggil layanan backend yang diperlukan.
  • LOADED: SDK telah membangun struktur data yang diperlukan agar mesin dapat beroperasi.

Mesin harus dibuat dan dimuat untuk melakukan operasi apa pun. Kelas ini Profile mengekspos beberapa metode manajemen mesin: AddEngineAsync, , DeleteEngineAsyncdan UnloadEngineAsync.

Tabel berikut menjelaskan kemungkinan status mesin, dan metode mana yang dapat mengubah status tersebut:

Status mesin NONE DIBUAT DIMUAT
NONE AddEngineAsync
DIBUAT DeleteEngineAsync AddEngineAsync
DIMUAT DeleteEngineAsync UnloadEngineAsync

ID Mesin

Setiap mesin memiliki pengidentifikasi unik, id, yang digunakan dalam semua operasi manajemen mesin. Aplikasi dapat menyediakan id, atau SDK dapat menghasilkannya, jika tidak disediakan oleh aplikasi. Semua properti mesin lainnya (misalnya, alamat email dalam info identitas) adalah payload buram untuk SDK. SDK TIDAK melakukan logika apa pun untuk menjaga properti lain tetap unik, atau memberlakukan batasan lainnya.

Penting

**Sebagai praktik terbaik, gunakan Id mesin yang unik untuk pengguna dan gunakan setiap kali pengguna melakukan operasi dengan SDK. Gagal menyediakan engineId unik yang ada untuk pengguna atau layanan akan mengakibatkan layanan tambahan pulang pergi. Perjalanan pulang pergi layanan ini dapat mengakibatkan penurunan performa dan pembatasan. **

// Create the FileEngineSettings object
FileEngine::Settings engineSettings(mip::Identity(mUsername), // This will be the engine ID. UPN, email address, or other unique user identifiers are recommended. 
													          mAuthDelegate,            // authDelegate implementation 
													          "",                       // ClientData
													          "en-US",                  // Client Locale
                                    false);                   // Load Sensitive Information Types

Metode Manajemen Mesin

Seperti disebutkan sebelumnya, ada tiga metode manajemen mesin di SDK: AddEngineAsync, DeleteEngineAsync, dan UnloadEngineAsync.

AddEngineAsync

Metode ini memuat mesin yang ada, atau membuatnya jika belum ada dalam status lokal.

Jika aplikasi tidak menyediakan id di FileEngineSettings, AddEngineAsync menghasilkan baru id. Kemudian memeriksa untuk melihat apakah mesin dengan yang id sudah ada di cache penyimpanan lokal. Jika ya, ia memuat mesin itu. Jika mesin tidak ada di cache lokal, mesin baru dibuat dengan memanggil API dan layanan backend yang diperlukan.

Dalam kedua kasus, jika metode berhasil, mesin dimuat dan siap digunakan.

DeleteEngineAsync

Menghapus mesin dengan yang diberikan id. Semua jejak mesin dihapus dari cache lokal.

UnloadEngineAsync

Membongkar struktur data dalam memori untuk mesin dengan yang diberikan id. Status lokal mesin ini masih utuh, dan dapat dimuat ulang dengan AddEngineAsync.

Metode ini memungkinkan aplikasi untuk bersikap peradilan tentang penggunaan memori, dengan membongkar mesin yang tidak diharapkan untuk segera digunakan.

Langkah berikutnya