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.
Perfis
A MipContext classe armazena configurações específicas do SDK. O perfil é a classe raiz para todas as operações específicas de rotulagem MIP e proteção no SDK do MIP. Antes de usar um dos três conjuntos de API, o aplicativo cliente deve criar um perfil. O perfil ou outros objetos adicionados ao perfil executam operações futuras. Use apenas um objeto de perfil por processo. Criar mais de um pode resultar em um comportamento inesperado.
O SDK do MIP tem três tipos de perfil:
-
PolicyProfile: a classe de perfil para o SDK de política da PIM. -
ProtectionProfile: a classe de perfil para o SDK de proteção da PIM. -
FileProfile: a classe de perfil para o SDK de arquivo da PIM.
A API que o aplicativo consumidor usa determina qual classe de perfil usar.
O próprio perfil oferece as seguintes funcionalidades:
- Armazenamento de estado: define se o estado deve ser carregado na memória ou persisti-lo no disco e se o estado deve ser criptografado se persistido no disco.
-
Delegado de consentimento: Define o
mip::ConsentDelegatea ser usado para as operações de consentimento. -
Observador de perfil de arquivo: define a implementação
mip::FileProfile::Observera ser usada para retornos de chamada assíncronos para operações no perfil.
Configurações de perfil
-
MipContext: o objetoMipContextque foi inicializado para armazenar informações do aplicativo, caminho de estado etc. -
CacheStorageType: define como armazenar o estado: na memória, no disco ou no disco e criptografado. -
consentDelegate: um ponteiro compartilhado de classemip::ConsentDelegate. -
observer: um ponteiro compartilhado para a implementação do perfilObserver(emPolicyProfile,ProtectionProfileeFileProfile). -
applicationInfo: um objetomip::ApplicationInfo. Informações sobre o aplicativo que consome o SDK e corresponde ao ID e ao nome do registro do aplicativo no Microsoft Entra.
Mecanismos
Os mecanismos de SDK de Arquivo, Política e Proteção fornecem uma interface para operações executadas por uma identidade específica. Adicione um mecanismo ao objeto de perfil para cada usuário ou entidade de serviço que entra no aplicativo. Você pode executar operações delegadas usando mip::ProtectionSettings e o manipulador de arquivo ou proteção. Para obter mais informações, consulte a seção de configurações de proteção nos conceitos do FileHandler.
O SDK tem três classes de mecanismo, uma para cada API. A seguinte lista mostra as classes de mecanismo e algumas das funções associadas a cada uma:
mip::ProtectionEnginemip::PolicyEngine-
ListSensitivityLabels(): obtém a lista de rótulos para o mecanismo carregado. -
GetSensitivityLabel(): obtém o rótulo do conteúdo existente. -
ComputeActions(): fornecido com uma ID de rótulo e metadados opcionais, retorna 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 mecanismo carregado. -
CreateFileHandler(): cria ummip::FileHandlerpara um arquivo ou fluxo específico.
-
Para criar um mecanismo, passe um objeto específico de configurações do mecanismo que contém as configurações para o tipo de mecanismo a ser criado. O objeto de configurações permite que o desenvolvedor especifique detalhes sobre o identificador do mecanismo, a implementação, a mip::AuthDelegate localidade, as configurações personalizadas e outros detalhes específicos da API.
Estados do motor
Um mecanismo pode ter um dos dois estados:
-
CREATED: criado indica que o SDK tem informações de estado local suficientes depois de chamar os serviços de back-end necessários. -
LOADED: o SDK criou as estruturas de dados necessárias para que o mecanismo esteja operacional.
Um mecanismo deve ser criado e carregado para executar operações. A classe Profile expõe alguns métodos de gerenciamento de mecanismo: AddEngineAsync, DeleteEngineAsync e UnloadEngineAsync.
A tabela a seguir descreve os possíveis estados do mecanismo e quais métodos podem alterar esse estado:
| Estado do mecanismo | Nenhuma | CREATED | LOADED |
|---|---|---|---|
| Nenhuma | AddEngineAsync | ||
| CREATED | DeleteEngineAsync | AddEngineAsync | |
| LOADED | DeleteEngineAsync | UnloadEngineAsync |
ID do mecanismo
Cada mecanismo tem um identificador exclusivo, idusado em todas as operações de gerenciamento do mecanismo. O aplicativo pode fornecer um id. Se o aplicativo não fornecer um, o SDK poderá gerá-lo. Todas as outras propriedades do mecanismo, como o endereço de email nas informações de identidade, são cargas opacas para o SDK. O SDK não executa lógica para manter nenhuma outra propriedade exclusiva ou impor outras restrições.
Importante
Use uma ID do mecanismo exclusiva para o usuário e use essa ID do mecanismo sempre que o usuário executar uma operação com o SDK. Se você não fornecer um ID de mecanismo existente e exclusivo para um usuário ou serviço, o SDK fará viagens de ida e volta de serviço extras. Esses ciclos do serviço podem resultar em limitação e degradação do desempenho.
// 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 gerenciamento do motor
O SDK tem três métodos de gerenciamento do mecanismo: AddEngineAsync, DeleteEngineAsync e UnloadEngineAsync.
AddEngineAsync
Esse método carrega um mecanismo existente ou cria um se ainda não existir um no estado local.
Se o aplicativo não fornecer um id, em FileEngineSettings, AddEngineAsync gerará um novo id. Em seguida, ele verificará se um mecanismo com id já existe no cache de armazenamento local. Se existir, ele carregará esse mecanismo. Se o mecanismo não existir no cache local, um novo mecanismo será criado chamando as APIs e os serviços de back-end necessários.
Em ambos os casos, se o método for bem-sucedido, o mecanismo estará carregado e pronto para uso.
DeleteEngineAsync
Exclui o mecanismo com o id informado. Todos os rastreamentos do mecanismo são removidos do cache local.
UnloadEngineAsync
Descarrega as estruturas de dados na memória para o mecanismo com o id informado. O estado local deste motor permanece intacto, e você pode recarregá-lo com AddEngineAsync.
Esse método permite que o aplicativo seja criterioso sobre o uso de memória, descarregando mecanismos que não devem ser usados em breve.
Próximas Etapas
- Conceitos de autenticação e Observadores. A MIP fornece um modelo de autenticação extensível, enquanto os observadores fornecem notificações de evento para eventos assíncronos. Ambos são fundamentais e se aplicam a todos os SDKs de MIP.
- Conceitos de perfil e mecanismo: trabalhe nos conceitos de perfil e mecanismo para os SDKs de Arquivo, Política e Proteção.