Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
mip::FileEngine v sadě MIP File SDK poskytuje rozhraní ke všem operacím prováděným jménem zadané identity. Přidejte jeden modul pro každého uživatele, který se přihlásí k aplikaci. Modul provádí všechny operace v kontextu této identity.
FileEngine má dva hlavní úkoly: vypisovat štítky pro ověřeného uživatele a vytvářet obslužné objekty pro práci se soubory, které provádějí operace se soubory jménem uživatele.
mip::FileEngine-
ListSensitivityLabels(): Získá seznam štítků načteného motoru. -
CreateFileHandler(): Vytvořímip::FileHandlerpro určitý soubor či datový proud.
Přidání souborového stroje
Jak je popsáno v profilech a objektech motoru, může mít modul dva stavy – CREATED nebo LOADED. Pokud to není jeden z těchto dvou stavů, neexistuje. Chcete-li vytvořit a načíst stav, stačí jediné volání FileProfile::LoadAsync. Pokud engine již existuje v mezipaměti, je LOADED. Pokud to neexistuje, je to CREATED a LOADED.
CREATED znamená, že aplikace má ze služby všechny informace potřebné k načtení enginu.
LOADED znamená, že všechny datové struktury potřebné k použití modulu existují v paměti.
Vytvořit nastavení souborového modulu
Podobně jako profil vyžaduje modul také objekt nastavení . mip::FileEngine::Settings Tento objekt ukládá jedinečný identifikátor modulu, mip::AuthDelegate implementaci, přizpůsobitelná klientská data pro ladění nebo telemetrii a volitelně národní prostředí.
Zde vytvoříme FileEngine::Settings objekt s názvem engineSettings pomocí identity uživatele aplikace.
FileEngine::Settings engineSettings(
mip::Identity(mUsername), // mip::Identity.
authDelegateImpl, // auth delegate object
"", // Client data. Customizable by developer, stored with engine.
"en-US", // Locale.
false); // Load sensitive information types for driving classification.
Při vytváření engineSettings tímto způsobem také explicitně nastavte jedinečné engineId:
engineSettings.SetEngineId(engineId);
Použití uživatelského jména nebo e-mailu pomáhá zajistit, aby se při každém použití služby nebo aplikace načítá stejný modul.
Platné je také zadání vlastního ID motoru.
FileEngine::Settings engineSettings(
"myEngineId", // string
authDelegateImpl, // auth delegate object
"", // Client data in string format. Customizable by developer, stored with engine.
"en-US", // Locale. Default is en-US
false); // Load sensitive information types for driving classification. Default is false.
Osvědčeným postupem je použít první parametr, idkterý připojí modul k přidruženému uživateli. E-mailová adresa, UPN nebo identifikátor GUID objektu Microsoft Entra pomáhá zajistit, aby bylo ID jedinečné a bylo možné je načíst z místního stavu bez volání služby.
Přidejte souborový modul
Chcete-li přidat engine, vraťte se ke vzoru promise/future, který se používá k načtení profilu. Místo vytvoření slibu pro mip::FileProfile, vytvořit ho pomocí mip::FileEngine.
//auto profile will be std::shared_ptr<mip::FileProfile>
auto profile = profileFuture.get();
// Instantiate the AuthDelegate implementation.
auto authDelegateImpl = std::make_shared<sample::auth::AuthDelegateImpl>(appInfo, userName, password);
//Create the FileEngine::Settings object
FileEngine::Settings engineSettings("UniqueID", authDelegateImpl, "");
//Create a promise for std::shared_ptr<mip::FileEngine>
auto enginePromise = std::make_shared<std::promise<std::shared_ptr<mip::FileEngine>>>();
//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::FileEngine>
auto engine = engineFuture.get();
Kód přidá do profilu modul pro ověřeného uživatele.
Vypsat popisky citlivosti
Pomocí přidaného modulu můžete zobrazit všechny popisky citlivosti dostupné ověřenému uživateli voláním engine->ListSensitivityLabels().
ListSensitivityLabels() Načte seznam popisků a atributů těchto popisků pro konkrétního uživatele ze služby. Výsledek je uložen ve vektoru std::shared_ptr<mip::Label>.
Další informace najdete v referenčních informacích ke mip::Label třídě.
SeznamCitlivostníchŠtítků()
std::vector<shared_ptr<mip::Label>> labels = engine->ListSensitivityLabels();
Nebo zjednodušené:
auto labels = engine->ListSensitivityLabels();
Tisk štítků a ID
Tisk názvů ukazuje, že aplikace úspěšně nabrala zásadu ze služby a získala štítky. Chcete-li použít štítek, potřebujete identifikátor štítku. Následující kód prochází všechny popisky a zobrazuje name a id pro každý nadřazený a podřízený popisek.
//Iterate through all labels in the vector
for (const auto& label : labels) {
//Print label name and GUID
cout << label->GetName() << " : " << label->GetId() << endl;
//Print child label name and GUID
for (const auto& child : label->GetChildren()) {
cout << "-> " << child->GetName() << " : " << child->GetId() << endl;
}
}
Kolekci mip::Label, kterou vrací GetSensitivityLabels(), můžete použít k zobrazení všech popisků, které jsou uživateli k dispozici, a po jejich výběru použít ID k přiřazení popisků k souboru.
Další kroky
Teď, když je profil načtený, modul byl přidán a štítky jsou k dispozici, můžete přidat obslužnou funkci a začít číst, zapisovat nebo odebírat štítky ze souborů. Další informace najdete v tématu Obslužné rutiny souborů v sadě MIP SDK.