Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Implementação: Adicionar um Motor de Proteção
No File SDK, a mip::ProtectionProfile classe é a classe raiz para todas as operações do SDK. Tendo já criado o perfil, podemos agora adicionar um motor ao perfil.
O exemplo abaixo demonstra a utilização de um único motor para um único utilizador autenticado.
Implementação: Criar Definições do Motor de Proteção
Semelhante a um perfil, o motor também requer um objeto de definições, mip::ProtectionEngine::Settings. Este objeto armazena o identificador único do motor, dados personalizáveis do cliente que podem ser usados para depuração ou telemetria e, opcionalmente, a localização.
Aqui criamos um ProtectionEngine::Settings objeto chamado engineSettings.
ProtectionEngine::Settings engineSettings("UniqueID", "");
Note
Se usar este método para criar o objeto de definições de proteção, deve também definir manualmente a identidade no ProtectionEngineSettings via setIdentity() ou no ambiente cloud de destino via setCloud().
Como boa prática, o primeiro parâmetro, id, deve ser algo que permita que o motor seja facilmente ligado ao utilizador associado, ou a um mip::Identity objeto. Para inicializar as definições com mip::Identity:
ProtectionEngine::Settings engineSettings(mip::Identity("Bob@Contoso.com", "");
Ao criar engineSettings desta forma, é importante também definir explicitamente um engineId único através de:
engineSettings.SetEngineId(engineId);
Usar o nome de utilizador ou email ajuda a garantir que o mesmo motor é carregado sempre que o utilizador utiliza o serviço ou aplicação.
Implementação: Adicionar o Motor de Proteção
Para adicionar o motor, vamos voltar a usar o padrão future/promise utilizado para carregar o perfil. Em vez de criar a promessa para mip::ProtectionProfile, vamos usar 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();
O resultado final do código acima é que adicionámos com sucesso um motor para o utilizador autenticado ao perfil.
Implementação: Modelos de Lista
Usando o motor adicional, é agora possível listar todos os modelos de sensibilidade disponíveis para o utilizador autenticado chamando engine->GetTemplatesAsync().
GetTemplatesAsync() irá obter a lista de identificadores dos templates. O resultado é armazenado num vetor de std::shared_ptr<std::string>.
Implementação: 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();
Implementação: Imprimir os IDs dos Modelos
//Iterate through all template IDs in the vector
for (const auto& temp : *templates) {
cout << "Template:" << "\n\tId: " << temp << endl;
}
Imprimir os nomes é uma forma fácil de mostrar que retirámos a política do serviço com sucesso e conseguimos obter os modelos. Para aplicar o modelo, é necessário o identificador do modelo.
O mapeamento de templates para rótulos só pode ser feito através do Policy SDK, examinando o resultado de ComputeActions().
Próximas Etapas
Agora que o perfil está carregado, o motor foi adicionado e temos modelos, podemos adicionar um manipulador para começar a ler, escrever ou remover modelos em ficheiros. Ver conceitos de manipulador de proteção.