Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Implementatie: Een beveiligingsengine toevoegen
In de File SDK is de mip::ProtectionProfile klasse de hoofdklasse voor alle SDK-bewerkingen. Nadat u het profiel hebt gemaakt, kunt u een engine toevoegen aan het profiel.
In het volgende voorbeeld ziet u hoe u één engine gebruikt voor één geverifieerde gebruiker.
Implementatie: Instellingen voor beveiligingsengine maken
Net als bij een profiel vereist de engine ook een instellingenobject. mip::ProtectionEngine::Settings Met dit object wordt de unieke engine-id opgeslagen, de id die wordt gebruikt voor het mip::AuthDelegate verkrijgen van tokens, aanpasbare clientgegevens die u kunt gebruiken voor foutopsporing of telemetrie, en eventueel de landinstelling.
Met de volgende code maakt u een ProtectionEngine::Settings object met de naam engineSettings.
ProtectionEngine::Settings engineSettings("UniqueID", authDelegate, "");
Opmerking
Als u het beveiligingsinstellingenobject met deze methode maakt, stelt u ook de identiteit voor het ProtectionEngine::Settings object in met behulp van SetIdentity() of de doelcloudomgeving met behulp van SetCloud().
Als best practice gebruikt u de eerste parameter, id, om de bijbehorende gebruiker te identificeren of een mip::Identity object te gebruiken. De instellingen initialiseren met mip::Identity:
ProtectionEngine::Settings engineSettings(mip::Identity("Bob@Contoso.com"), authDelegate, "");
Wanneer u engineSettings op deze manier maakt, moet u ook expliciet een unieke engineId instellen met behulp van:
engineSettings.SetEngineId(engineId);
Gebruik de gebruikersnaam of het e-mailadres om ervoor te zorgen dat de engine consistent wordt geladen telkens wanneer de gebruiker de service of toepassing gebruikt.
Implementatie: De beveiligingsengine toevoegen
Gebruik hetzelfde future-/promise-patroon als waarmee het profiel wordt geladen om de engine toe te voegen. Gebruik mip::ProtectionEngine in plaats van de belofte voor mip::ProtectionProfile te maken.
//auto profile will be std::shared_ptr<mip::ProtectionProfile>
auto profile = profileFuture.get();
//Create the ProtectionEngine::Settings object
ProtectionEngine::Settings engineSettings("UniqueID", authDelegate, "");
//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();
De code voegt een engine voor de geverifieerde gebruiker toe aan het profiel.
Implementatie: Sjablonen weergeven
Nadat u de engine hebt toegevoegd, kunt u alle gevoeligheidssjablonen weergeven die beschikbaar zijn voor de geverifieerde gebruiker door aan te roepen engine->GetTemplatesAsync().
GetTemplatesAsync() haalt de lijst met sjabloondescriptors op. De methode slaat het resultaat op in een vector van std::shared_ptr<mip::TemplateDescriptor>.
Implementatie: ListSensitivityTemplates()
auto loadPromise = std::make_shared<std::promise<std::vector<std::shared_ptr<mip::TemplateDescriptor>>>>();
auto loadFuture = loadPromise->get_future();
engine->GetTemplatesAsync(engineObserver, loadPromise);
auto templates = loadFuture.get();
Implementatie: de sjabloon-id's afdrukken
//Iterate through all template IDs in the vector
for (const auto& temp : templates) {
cout << "Template:" << "\n\tId: " << temp->GetId() << endl;
}
Het afdrukken van de namen laat zien dat de toepassing het beleid van de service heeft opgehaald en de sjablonen heeft opgehaald. Als u de sjabloon wilt toepassen, hebt u de sjabloon-id nodig.
U kunt alleen via de Policy SDK sjablonen aan labels toewijzen door het resultaat van ComputeActions() te onderzoeken.
Volgende stappen
Nu u het profiel hebt geladen, de engine hebt toegevoegd en sjablonen hebt, kunt u een handler toevoegen om sjablonen te lezen, schrijven of verwijderen uit bestanden. Zie concepten voor beveiligingshandlers.
- Zie het voorbeeld van de MIP Protection SDK C++ op GitHub voor voorbeeldcode.