Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.
- Untuk kode sampel, lihat sampel MIP Protection SDK C++ di GitHub.