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.
Perfis
A MipContext classe armazena definições específicas do SDK. O perfil é a classe raiz para todas as operações específicas de rotulagem e proteção MIP no SDK MIP. Antes de usar qualquer um dos três conjuntos de APIs, a aplicação cliente deve criar um perfil. O perfil, ou outros objetos adicionados ao perfil, realizam operações futuras. Use apenas um objeto de perfil por processo. Criar mais do que um pode resultar em comportamentos inesperados.
O SDK MIP tem três tipos de perfil:
-
PolicyProfile: A classe de perfil para o SDK de políticas MIP. -
ProtectionProfile: A classe de perfil do SDK de Proteção MIP. -
FileProfile: Classe de perfil para o MIP File SDK.
A API que a aplicação consumidora utiliza determina qual a classe de perfil a utilizar.
O próprio perfil fornece a seguinte funcionalidade:
- Armazenamento de estado: Define se deve carregar o estado na memória ou persisti-lo no disco, e se deve encriptar o estado se persistir no disco.
-
Delegado de consentimento: Define o
mip::ConsentDelegatea usar para operações de consentimento. -
Observador do perfil de ficheiro: Define a implementação
mip::FileProfile::Observera utilizar para chamadas de retorno assíncronas das operações de perfil.
Definições do perfil
-
MipContext: OMipContextobjeto que foi inicializado para armazenar informação da aplicação, caminho de estado, etc. -
CacheStorageType: Defina como armazenar o estado: Na memória, no disco ou no disco encriptado. -
consentDelegate: Um ponteiro partilhado da classemip::ConsentDelegate. -
observer: Um ponteiro partilhado para a implementação do perfilObserver(emPolicyProfile,ProtectionProfile, eFileProfile). -
applicationInfo: Ummip::ApplicationInfoobjeto. Informações sobre a aplicação que consome o SDK e que corresponde ao seu ID de registo e nome da sua aplicação Microsoft Entra.
Motores
Os motores SDK de Ficheiros, Políticas e Proteção fornecem uma interface para operações realizadas por uma identidade específica. Adicione um motor ao objeto de perfil para cada utilizador ou principal de serviço que inicia sessão na aplicação. Pode realizar operações delegadas utilizando mip::ProtectionSettings e o manipulador de ficheiros ou de proteção. Para mais informações, consulte a secção de definições de proteção nos conceitos do FileHandler.
O SDK tem três classes de motor, uma para cada API. A lista seguinte mostra as classes de motores e algumas das funções associadas a cada uma:
mip::ProtectionEnginemip::PolicyEngine-
ListSensitivityLabels(): Obtém a lista de etiquetas do motor carregado. -
GetSensitivityLabel(): Obtém o rótulo a partir de conteúdos existentes. -
ComputeActions(): Fornecido com um ID de etiqueta e metadados opcionais, devolve a lista de ações que devem ocorrer para um item específico.
-
mip::FileEngine-
ListSensitivityLabels(): Obtém a lista de etiquetas do motor carregado. -
CreateFileHandler(): Cria ummip::FileHandlerpara um ficheiro ou stream específico.
-
Para criar um motor, passe um objeto específico de definições do motor que contenha as definições do tipo de motor a criar. O objeto de definições permite ao programador especificar detalhes sobre o identificador do motor, a mip::AuthDelegate implementação, localidade, definições personalizadas e outros detalhes específicos da API.
Estados do motor
Um motor pode ter um de dois estados:
-
CREATED: Criado indica que o SDK tem informação de estado local suficiente após chamar os serviços de backend necessários. -
LOADED: O SDK construiu as estruturas de dados necessárias para que o motor esteja operacional.
Para realizar quaisquer operações, um motor deve ser simultaneamente criado e carregado. A Profile classe expõe alguns métodos de gestão do motor: AddEngineAsync, DeleteEngineAsync, e UnloadEngineAsync.
A tabela seguinte descreve os possíveis estados do motor e quais os métodos que podem alterar esse estado:
| Estado do motor | None | CRIADO | CARREGADO |
|---|---|---|---|
| None | AddEngineAsync | ||
| CRIADO | DeleteEngineAsync | AddEngineAsync | |
| CARREGADO | DeleteEngineAsync | UnloadEngineAsync |
ID do motor
Cada motor tem um identificador único, id, utilizado em todas as operações de gestão do motor. A aplicação pode fornecer um id. Se a aplicação não fornecer um, o SDK pode gerá-lo. Todas as outras propriedades do motor, como o endereço de e-mail nas informações de identidade, são cargas úteis opacas para o SDK. O SDK não executa lógica para manter quaisquer outras propriedades únicas ou impor outras restrições.
Importante
Use um ID de motor único para o utilizador e use esse ID de motor sempre que o utilizador executar uma operação com o SDK. Se não fornecer um ID de motor único e existente para um utilizador ou serviço, o SDK faz viagens extra de ida e volta ao serviço. Estes ciclos de ida e volta do serviço podem resultar em degradação do desempenho e estrangulamento.
// Create the FileEngineSettings object
FileEngine::Settings engineSettings(mip::Identity(mUsername), // This will be the engine ID. UPN, email address, or other unique user identifiers are recommended.
mAuthDelegate, // authDelegate implementation
"", // ClientData
"en-US", // Client Locale
false); // Load Sensitive Information Types
Métodos de gestão do motor
O SDK tem três métodos de gestão do motor: AddEngineAsync, DeleteEngineAsync, e UnloadEngineAsync.
AddEngineAsync
Este método carrega um motor existente, ou cria um, caso ainda não exista um no estado local.
Se a aplicação não fornecer um id em FileEngineSettings, AddEngineAsync gera um novo id. Depois verifica se já existe um motor de busca com a etiqueta id na cache do armazenamento local. Se isso acontecer, carrega esse motor. Se o motor não existir na cache local, é criado um novo motor ao chamar as APIs e serviços backend necessários.
Em ambos os casos, se o método for bem-sucedido, o motor está carregado e pronto a ser usado.
DeleteEngineAsync
Elimina o motor com o dado id. Todos os vestígios do motor são removidos da cache local.
UnloadEngineAsync
Descarrega as estruturas de dados em memória do motor de processamento com o parâmetro id. O estado local deste motor mantém-se intacto, e pode recarregá-lo com AddEngineAsync.
Este método permite que a aplicação seja criteriosa quanto ao uso de memória, descarregando motores que não se espera que sejam usados em breve.
Passos seguintes
- Conceitos de autenticação e observadores. O MIP fornece um modelo de autenticação extensível, enquanto os observadores fornecem notificações de eventos para eventos assíncronos. Ambos são fundamentais e aplicam-se a todos os SDKs MIP.
- Conceitos de perfil e motor: Explore os conceitos de perfil e motor para os SDKs de Ficheiros, Políticas e Proteção.