Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Implementação: adicionar um mecanismo de proteção
No SDK de Arquivo, a mip::ProtectionProfile classe é a classe raiz para todas as operações do SDK. Já tendo criado o perfil, agora podemos adicionar um mecanismo ao perfil.
O exemplo a seguir demonstra o uso de um único mecanismo para um único usuário autenticado.
Implementação: criar configurações do mecanismo de proteção
Semelhante a um perfil, o mecanismo também requer um objeto de configurações. mip::ProtectionEngine::Settings Esse objeto armazena o identificador exclusivo do mecanismo, os dados personalizáveis do cliente que podem ser usados para depuração ou telemetria e, opcionalmente, a localidade.
Aqui, criamos um ProtectionEngine::Settings objeto chamado engineSettings.
ProtectionEngine::Settings engineSettings("UniqueID", "");
Observação
Se estiver usando esse método para criar o objeto de configurações de proteção, você também deverá definir manualmente a identidade em ProtectionEngineSettings usando setIdentity() ou definir o ambiente de nuvem de destino usando setCloud().
Como prática recomendada, o primeiro parâmetro, id, deve ser algo que permita que o mecanismo seja facilmente conectado ao usuário associado ou a um mip::Identity objeto. Para inicializar as configurações com mip::Identity:
ProtectionEngine::Settings engineSettings(mip::Identity("Bob@Contoso.com", "");
Ao criar engineSettings dessa maneira, é importante também definir explicitamente uma engineId exclusiva por meio de:
engineSettings.SetEngineId(engineId);
O uso do nome de usuário ou email ajuda a garantir que o mesmo mecanismo seja carregado sempre que o usuário usar o serviço ou o aplicativo.
Implementação: Adicionar o Mecanismo de Proteção
Para adicionar o mecanismo, voltaremos ao padrão futuro/promessa usado para carregar o perfil. Em vez de criar a promessa para mip::ProtectionProfile, usaremos 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 adicionamos com êxito um mecanismo para o usuário autenticado ao perfil.
Implementação: listar modelos
Usando o mecanismo adicionado, agora é possível listar todos os modelos de confidencialidade disponíveis para o usuário autenticado chamando engine->GetTemplatesAsync().
GetTemplatesAsync() buscará a lista de identificadores de modelos. O resultado é armazenado em um 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 as IDs do modelo
//Iterate through all template IDs in the vector
for (const auto& temp : *templates) {
cout << "Template:" << "\n\tId: " << temp << endl;
}
A impressão dos nomes é uma maneira fácil de mostrar que retiramos com êxito a política do serviço e conseguimos obter os modelos. Para aplicar o modelo, o identificador de modelo é necessário.
O mapeamento de modelos para rótulos só pode ser feito por meio do SDK de política, examinando o resultado de ComputeActions().
Próximas etapas
Agora que o perfil de usuário está carregado, o mecanismo foi adicionado e temos esquemas, podemos incluir um manipulador para começar a ler, escrever ou excluir esquemas de arquivos. Consulte Conceitos do manipulador de proteção.