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.
A aplicação dos direitos de gerenciamento de direitos de informação definidos no portal de conformidade é de responsabilidade do desenvolvedor do aplicativo. O SDK fornece uma API e um conjunto de enumeradores para simplificar essas verificações de acesso.
Os exemplos e tabelas seguintes demonstram quais os cenários que requerem uma verificação de acesso, a lista de direitos a verificar e como realizar a verificação.
Lista de direitos e resultados
Para obter uma lista completa dos direitos de uso e descrições, consulte Configurar direitos de uso para a Proteção de Informações do Microsoft Purview. Este artigo define as responsabilidades de um desenvolvedor de aplicativos na imposição de direitos e funções habilitadas quando direitos específicos estão ou não presentes.
Importante
É responsabilidade dos desenvolvedores de aplicativos verificar e fazer valer os direitos. A falha em realizar verificações pode resultar em perda de dados.
Cenários
Onde e como a tua aplicação realiza as verificações de acesso dependem do tipo de aplicação que estás a construir. Aplicações que processam a saída de ficheiros completos e não dispõem de interface de utilizador usam mais frequentemente os direitos EXTRACT ou OWNER. Aplicações com interface de utilizador requerem os controlos mais granulares, bloqueando o acesso aos controlos do utilizador e aos caminhos de exportação na aplicação. Consulte a seção Executando verificações de acesso para obter exemplos de código.
Aplicações sem interface de utilizador
Os aplicativos sem uma interface de usuário geralmente são baseados em serviço ou interfaces de linha de comando (CLI). Quando seu aplicativo está manipulando arquivos protegidos pelo Purview Information Protection, ele deve garantir que um usuário sem os direitos corretos não possa usar o serviço ou a CLI para exportar o arquivo em um formato desprotegido.
Estas aplicações devem validar a presença dos direitos OWNER ou EXTRACT . Os usuários com PROPRIETÁRIO podem realizar qualquer operação. Os usuários com EXTRACT podem remover diretamente a proteção ou salvar em um novo formato, mesmo que esse formato não ofereça suporte à proteção.
Aplicações com uma interface de utilizador
Os aplicativos SDK de arquivo com uma interface de usuário devem implementar controles que restrinjam o acesso a operações que o usuário não tem permissão para executar. Um exemplo de tal aplicativo é o Proteção de Informações do Microsoft Purview Viewer. O visualizador desencripta temporariamente o ficheiro e processa o conteúdo na janela da aplicação. Ele executa verificações de acesso granulares antes de exibir o documento e desabilita os elementos da interface do usuário com base nos resultados das verificações de acesso.
Um fluxo de trabalho parcial de execução de verificações de acesso pode se parecer com:
- O usuário tem o direito de PROPRIETÁRIO ? Se sim, habilite todos os controles e pare de processar outros direitos.
- O utilizador tem o direito de IMPRIMIR? Se sim, habilite o controle de impressão. Caso contrário, desative o controle de impressão.
- O usuário tem o direito de EXPORTAR ? Em caso afirmativo, habilite os controles de exportação e os elementos da interface do usuário. Caso contrário, desative esses elementos.
- O usuário tem o direito EXTRACT ? Se sim, ative a cópia e as capturas de tela. Caso contrário, desative essas funções.
- O usuário tem o direito EDIT ? Se sim, habilite a edição e o salvamento do item atual. Caso contrário, defina o item como só de leitura.
Realize estas verificações para todas as permissões na lista de direitos e na tabela de resultados , exceto para o direito VIEW . O ficheiro não estará acessível sem este direito.
Realização de verificações de acesso
Os padrões para executar a verificação de acesso são semelhantes no SDK de Arquivo e Proteção para C++, .NET e Java.
Estes exemplos de código assumem que completaste os passos para inicializar o SDK e instanciaste um motor e um handler.
- Guia de início rápido: inicialização do aplicativo cliente (C++)
- Guia de início rápido: inicialização do aplicativo cliente (C#)
- Guia de início rápido: inicialização de aplicativo cliente para SDKs de proteção (C++)
- Guia de início rápido: inicialização de aplicativo cliente para SDKs de proteção (C#)
Realizar verificações de acesso no SDK de ficheiros com .NET
Este excerto de código assume que foi criado um FileHandler e aponta para um ficheiro válido.
// Validate that the file referred to by the FileHandler is protected.
if(handler.Protection != null)
{
// Validate that user has rights to remove protection from the file.
if(handler.Protection.AccessCheck(Rights.Extract))
{
// If user has Extract right, remove protection and commit the change. Otherwise, throw exception.
handler.RemoveProtection();
bool result = handler.CommitAsync(outputPath).GetAwaiter().GetResult();
return result;
}
else
{
throw new Microsoft.InformationProtection.Exceptions.AccessDeniedException("User lacks EXPORT right.");
}
}
Realização de verificações de acesso no SDK de Proteção com .NET
Este excerto de código assume que um ProtectionHandler foi criado para consumo.
// Validate that the file referred to by the FileHandler is protected.
if(protectionHandler != null)
{
// Validate that user has rights to remove protection from the file.
if(protectionHandler.AccessCheck(Rights.Print))
{
// If the user has the print right, enable the control.
// SetPrintControlEnabled() is an example and not a MIP SDK function.
SetPrintControlEnabled(true);
}
else
{
// If the user does not have the print right, disable the control.
// SetPrintControlEnabled() is an example and not a MIP SDK function.
SetPrintControlEnabled(false);
}
}
Realização de verificações de acesso no SDK de ficheiros com C++
Este excerto de código assume que foi criado um FileHandler e aponta para um ficheiro válido.
// Validate that the file referred to by the FileHandler is protected.
if (fileHandler->GetProtection() != nullptr)
{
if (fileHandler->GetProtection()->AccessCheck(mip::rights::Extract()))
{
auto commitPromise = std::make_shared<std::promise<bool>>();
auto commitFuture = commitPromise->get_future();
fileHandler->RemoveProtection();
fileHandler->CommitAsync(outputFile, commitPromise);
result = commitFuture.get();
}
else
{
throw std::runtime_error("User doesn't have EXTRACT right.");
}
}
Realização de verificações de acesso no Protection SDK com C++
Este excerto de código assume que um ProtectionHandler foi criado para consumo.
// Validate that the file referred to by the FileHandler is protected.
if (protectionHandler != nullptr)
{
if (protectionHandler->AccessCheck(mip::rights::Print()))
{
// If the user has the print right, enable the control.
// SetPrintControlEnabled() is an example and not a MIP SDK function.
SetPrintControlEnabled(true);
}
else
{
// If the user does not have the print right, disable the control.
// SetPrintControlEnabled() is an example and not a MIP SDK function.
SetPrintControlEnabled(false);
}
}
Passos seguintes
Agora que você tem uma ideia de como executar corretamente as verificações de acesso e impor os direitos associados a essas verificações, continue com os conceitos do manipulador de arquivos para saber mais sobre como remover a proteção dos arquivos.