Microsoft Information Protection SDK - Konsep mesin SDK Perlindungan
Implementasi: Menambahkan Mesin Perlindungan
Dalam File SDK, mip::ProtectionProfile
kelas adalah kelas root untuk semua operasi SDK. Setelah membuat profil, kita sekarang dapat menambahkan mesin ke profil.
Contoh di bawah ini menunjukkan penggunaan satu mesin untuk satu pengguna yang diautentikasi.
Implementasi: Membuat mesin perlindungan Pengaturan
Mirip dengan profil, mesin juga memerlukan objek pengaturan, mip::ProtectionEngine::Settings
. Objek ini menyimpan pengidentifikasi mesin unik, data klien yang dapat disesuaikan yang dapat digunakan untuk penelusuran kesalahan atau telemetri, dan, secara opsional, lokal.
Di sini kita membuat objek yang ProtectionEngine::Settings
disebut mesin Pengaturan.
ProtectionEngine::Settings engineSettings("UniqueID", "");
Catatan
Jika menggunakan metode ini untuk membuat objek pengaturan perlindungan, Anda juga harus mengatur identitas secara manual pada ProtectionEngine Pengaturan melalui setIdentity()
atau lingkungan cloud target melalui setCloud()
.
Sebagai praktik terbaik, parameter pertama, id, harus menjadi sesuatu yang memungkinkan mesin untuk dengan mudah terhubung ke pengguna terkait, ataumip::Identity
objek. Untuk menginisialisasi pengaturan dengan mip::Identity
:
ProtectionEngine::Settings engineSettings(mip::Identity("Bob@Contoso.com", "");
Saat membuat mesin Pengaturan dengan cara ini, penting untuk juga secara eksplisit mengatur engineId unik melalui:
engineSettings.SetEngineId(engineId);
Menggunakan nama pengguna atau email membantu memastikan bahwa mesin yang sama dimuat setiap kali pengguna menggunakan layanan atau aplikasi.
Implementasi: Tambahkan Mesin Perlindungan
Untuk menambahkan mesin, kita akan kembali ke pola future/promise yang digunakan untuk memuat profil. Alih-alih membuat janji untuk mip::ProtectionProfile
, kita akan menggunakan mip::ProtectionEngine
.
//auto profile will be std::shared_ptr<mip::ProtectionProfile>
auto profile = profileFuture.get();
//Create the ProtectionEngine::Settings object
ProtectionEngine::Settings engineSettings("UniqueID", "");
//Create a promise for std::shared_ptr<mip::ProtectionEngine>
auto enginePromise = std::make_shared<std::promise<std::shared_ptr<mip::ProtectionEngine>>>();
//Instantiate the future from the promise
auto engineFuture = enginePromise->get_future();
//Add the engine using AddEngineAsync, passing in the engine settings and the promise
profile->AddEngineAsync(engineSettings, enginePromise);
//get the future value and store in std::shared_ptr<mip::ProtectionEngine>
auto engine = engineFuture.get();
Hasil akhir kode di atas adalah bahwa kami telah berhasil menambahkan mesin untuk pengguna yang diautentikasi ke profil.
Implementasi: Templat Daftar
Menggunakan mesin yang ditambahkan, sekarang dimungkinkan untuk mencantumkan semua templat sensitivitas yang tersedia untuk pengguna yang diautentikasi dengan memanggil engine->GetTemplatesAsync()
.
GetTemplatesAsync()
akan mengambil daftar pengidentifikasi templat. Hasilnya disimpan dalam vektor std::shared_ptr<std::string>
.
Implementasi: ListSensitivityTemplates()
auto loadPromise = std::make_shared<std::promise<shared_ptr<vector<string>>>>();
std::future<std::shared_ptr<std::vector<std::string>>> loadFuture = loadPromise->get_future();
mEngine->GetTemplatesAsync(engineObserver, loadPromise);
auto templates = loadFuture.get();
Implementasi: Cetak Id Templat
//Iterate through all template IDs in the vector
for (const auto& temp : *templates) {
cout << "Template:" << "\n\tId: " << temp << endl;
}
Mencetak nama adalah cara mudah untuk menunjukkan bahwa kami berhasil menarik kebijakan dari layanan dan bisa mendapatkan templat. Untuk menerapkan templat, pengidentifikasi templat diperlukan.
Pemetaan templat ke label hanya dapat dilakukan melalui Policy SDK dengan memeriksa hasil .ComputeActions()
Langkah berikutnya
Sekarang setelah profil dimuat, mesin ditambahkan, dan kita memiliki templat, kita dapat menambahkan handler untuk mulai membaca, menulis, atau menghapus templat dari file. Lihat Konsep handler 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