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 Pengaturan Mesin Perlindungan

Mirip dengan profil, mesin juga memerlukan objek pengaturan, mip::ProtectionEngine::Settings. Objek ini menyimpan pengidentifikasi mesin yang unik, data klien yang dapat dikustomisasi yang dapat digunakan untuk pemecahan masalah atau telemetri, dan, secara opsional, pengaturan lokal.

Di sini kita membuat objek yang ProtectionEngine::Settings disebut engineSettings.

ProtectionEngine::Settings engineSettings("UniqueID", "");

Nota

Jika menggunakan metode ini untuk membuat objek pengaturan perlindungan, Anda juga harus mengatur identitas secara manual pada ProtectionEngineSettings 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 engineSettings 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 menggunakan kembali 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: Daftar Templat

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 template. 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 dengan menggunakan 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 penangan perlindungan.