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:
PolicyProfile
: Kelas profil untuk SDK Kebijakan MIP.ProtectionProfile
: Kelas profil untuk SDK Perlindungan MIP.FileProfile
: Kelas profil untuk SDK File MIP.
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
: ObjekMipContext
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 kelasmip::ConsentDelegate
.observer
: Pointer bersama ke implementasi profilObserver
(dalamPolicyProfile
,ProtectionProfile
, danFileProfile
).applicationInfo
: Objekmip::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()
: Membuatmip::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
, , DeleteEngineAsync
dan 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
- Selanjutnya, pelajari lebih lanjut konsep Autentikasi dan Pengamat. MIP menyediakan model autentikasi yang dapat diperluas, sementara pengamat digunakan untuk memberikan pemberitahuan peristiwa untuk peristiwa asinkron. Keduanya bersifat mendasar, dan berlaku untuk semua SDK MIP.
- Kemudian bekerja melalui profil dan konsep mesin untuk SDK File, Kebijakan, dan Perlindungan
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk