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, Anda dapat menambahkan mesin ke profil.

Contoh berikut menunjukkan cara menggunakan 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 pengenal mesin yang unik, data klien yang dapat disesuaikan yang dapat Anda gunakan untuk debugging atau telemetri, dan, secara opsional, locale.

Kode berikut membuat objek yang ProtectionEngine::Settings disebut engineSettings.

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

Nota

Jika Anda membuat objek pengaturan perlindungan dengan metode ini, atur juga identitas pada ProtectionEngineSettings dengan menggunakan setIdentity() atau lingkungan cloud target dengan menggunakan setCloud().

Sebagai praktik terbaik, gunakan parameter pertama, id, untuk mengidentifikasi pengguna terkait, atau menggunakan mip::Identity objek. Untuk menginisialisasi pengaturan dengan mip::Identity:

ProtectionEngine::Settings engineSettings(mip::Identity("Bob@Contoso.com", "");

Saat Anda membuat engineSettings dengan cara ini, juga secara eksplisit mengatur engineId unik dengan menggunakan:

engineSettings.SetEngineId(engineId);

Gunakan nama pengguna atau email untuk membantu memastikan bahwa mesin dimuat secara konsisten setiap kali pengguna menggunakan layanan atau aplikasi.

Implementasi: Menambahkan mesin perlindungan

Gunakan pola future/promise yang digunakan untuk memuat profil untuk menambahkan mesin. Alih-alih membuat janji untuk mip::ProtectionProfile, gunakan 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();

Kode menambahkan mesin untuk pengguna yang diautentikasi ke profil.

Implementasi: Mencantumkan templat

Setelah menambahkan mesin, Anda dapat mencantumkan semua templat sensitivitas yang tersedia untuk pengguna yang diautentikasi dengan memanggil engine->GetTemplatesAsync().

GetTemplatesAsync() mengambil daftar pengidentifikasi templat. Metode menyimpan hasilnya 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();

Penerapan: Cetak ID templat

//Iterate through all template IDs in the vector
for (const auto& temp : *templates) {
  cout << "Template:" << "\n\tId: " << temp << endl;
}

Mencetak nama menunjukkan bahwa aplikasi berhasil menarik kebijakan dari layanan dan mengambil templat. Untuk menerapkan templat, Anda memerlukan pengidentifikasi templat.

Anda dapat mengaitkan templat dengan label hanya melalui Policy SDK dengan memeriksa hasil ComputeActions().

Langkah berikutnya

Sekarang setelah Anda memuat profil, menambahkan mesin, dan memiliki templat, Anda dapat menambahkan handler untuk mulai membaca, menulis, atau menghapus templat dari file. Lihat Konsep penangan perlindungan.