Aracılığıyla paylaş


Microsoft Information Protection SDK - Koruma SDK'sı altyapısı kavramları

Uygulama: Koruma Motoru Ekleme

Dosya SDK'sında, mip::ProtectionProfile sınıfı tüm SDK işlemlerinin kök sınıfıdır. Profil zaten oluşturulduğuna göre, artık profile bir motor ekleyebiliriz.

Aşağıdaki örnekte, kimliği doğrulanmış tek bir kullanıcı için tek bir altyapının kullanılması gösterilmektedir.

Uygulama: Koruma Altyapısı Ayarları Oluşturma

Bir profile benzer şekilde, altyapı da bir ayarlar nesnesi gerektirir. mip::ProtectionEngine::Settings Bu nesne benzersiz altyapı tanımlayıcısını, hata ayıklama veya telemetri için kullanılabilecek özelleştirilebilir istemci verilerini ve isteğe bağlı olarak yerel ayarı depolar.

Burada engineSettings adlı bir ProtectionEngine::Settings nesne oluşturuyoruz.

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

Uyarı

Koruma ayarları nesnesini oluşturmak için bu yöntemi kullanıyorsanız, setIdentity() üzerinden Koruma Motoru Ayarları'ndaki kimliği veya setCloud() üzerinden hedef bulut ortamını manuel olarak ayarlamanız gerekir.

En iyi uygulama olarak, ilk parametre olan id, motorun ilişkili kullanıcıya veya bir mip::Identity nesneye kolayca bağlanmasını sağlayan bir şey olmalıdır. Ayarları mip::Identity ile başlatmak için:

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

EngineSettings'i bu şekilde oluştururken, aşağıdakiler aracılığıyla açıkça benzersiz bir engineId ayarlamak da önemlidir:

engineSettings.SetEngineId(engineId);

Kullanıcı adı veya e-postanın kullanılması, kullanıcı hizmeti veya uygulamayı her kullandığında aynı altyapının yüklendiğinden emin olmak için yardımcı olur.

Uygulama: Koruma Altyapısını Ekleme

Motoru eklemek için profili yüklerken kullanılan future/promise desenine geri döneceğiz. Promise için mip::ProtectionProfile oluşturmak yerine mip::ProtectionEngine kullanacağız.


  //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();

Yukarıdaki kodun sonucu, kimliği doğrulanmış kullanıcı için profile başarıyla bir altyapı eklemiş olmamızdır.

Uygulama: Liste Şablonları

Eklenen altyapıyı kullanarak, kimliği doğrulanmış kullanıcının kullanabileceği tüm duyarlılık şablonlarını çağırarak engine->GetTemplatesAsync()listelemek artık mümkündür.

GetTemplatesAsync() şablon tanımlayıcılarının listesini getirir. Sonuç, vektörde std::shared_ptr<std::string>depolanır.

Uygulama: 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();

Uygulama: Şablon Kimliklerini Yazdırma

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

Adları yazdırmak, hizmetten başarıyla ilke çektiğimizi ve şablonları alabildiğimizi göstermenin kolay bir yoludur. Şablonu uygulamak için şablon tanımlayıcısı gereklidir.

Şablonları etiketlere eşleme yalnızca ComputeActions() sonucunu inceleyerek Policy SDK aracılığıyla yapılabilir.

Sonraki Adımlar

Artık profil yüklendiğine, altyapı eklendiğine ve şablonlarımız olduğuna göre, dosyaları okumaya, yazmaya veya dosyalardan kaldırmaya başlamak için bir işleyici ekleyebiliriz. Bkz . Koruma işleyicisi kavramları.