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
Onde a MipContext é a classe para armazenar 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. As operações futuras são realizadas pelo perfil, ou por outros objetos adicionados ao perfil. Recomenda-se apenas um único objeto de perfil por processo. Criar mais do que um pode resultar em comportamentos inesperados.
Existem três tipos de perfil no MIP SDK:
-
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 usada na aplicação consumidora determina qual a classe de perfil que deve ser utilizada.
O próprio perfil fornece a seguinte funcionalidade:
- Define se o estado deve ser carregado na memória ou persistido no disco e, se persistido no disco, deve ser encriptado.
- Define o
mip::ConsentDelegateque deve ser usado para operações de consentimento. - Define a
mip::FileProfile::Observerimplementação que será usada para callbacks assíncronos para 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ção sobre a aplicação que consome o SDK, que corresponde ao seu ID de registo e nome da aplicação Microsoft Entra.
Motores
Os motores File, Profile e Protection SDK fornecem uma interface para operações realizadas por uma identidade específica. Um motor é adicionado ao objeto Profile para cada utilizador ou principal de serviço que inicia sessão na aplicação. É possível realizar operações delegadas através de mip::ProtectionSettings e do gestor de ficheiros ou de proteção. Consulte a secção de definições de proteção nos conceitos do FileHandler para mais detalhes.
Existem três classes de motor no SDK, 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 rótulos para o motor carregado. -
CreateFileHandler(): Cria ummip::FileHandlerpara um ficheiro ou stream específico.
-
Criar um motor requer passar um objeto específico de definições do motor que contenha as definições do tipo de motor a ser criado. O objeto de definições permite ao programador especificar detalhes sobre o identificador do motor, a mip::AuthDelegate implementação, localização e definições personalizadas, bem como 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, que é utilizado em todas as operações de gestão do motor. A aplicação pode fornecer um id, ou o SDK pode gerar um, caso não seja fornecido pela aplicação. Todas as outras propriedades do motor (por exemplo, o endereço de email na informação de identidade) são payloads opacos para o SDK. O SDK NÃO executa qualquer lógica para manter as outras propriedades únicas, nem impor quaisquer outras restrições.
Importante
**Como boa prática, use um ID de motor único para o utilizador e utilize-o sempre que o utilizador realiza uma operação com o SDK. Não fornecer um engineId existente e único para um utilizador ou serviço resultará em viagens extra de ida e volta ao serviço. Estas viagens de ida e volta em serviço podem resultar em degradação do desempenho e limitação do controlo. **
// 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
Como mencionado anteriormente, existem três métodos de gestão do motor no SDK: 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 ser recarregado 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.
Próximas Etapas
- De seguida, saiba mais sobre conceitos de Autenticação e Observadores. O MIP fornece um modelo de autenticação extensível, enquanto os observadores são usados para fornecer notificações de eventos assíncronos. Ambos são fundamentais e aplicam-se a todos os SDKs MIP.
- Depois, trabalhe nos conceitos de perfil e motor para os SDKs de Ficheiros, Políticas e Proteção