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.
Este guia de início rápido mostra como usar o SDK de Arquivos do MIP para listar os rótulos de confidencialidade configurados para sua organização.
Pré-requisitos
Caso ainda não tenha feito isso, certifique-se de concluir os seguintes pré-requisitos antes de continuar:
- Primeiro, conclua Início Rápido: inicialização do aplicativo cliente (C++), que cria uma solução inicial do Visual Studio. Este guia de início rápido "Listar rótulos de confidencialidade" baseia-se no anterior para criar a solução inicial.
- Como alternativa: examine os conceitos de rótulos de classificação.
Adicionar lógica para listar os rótulos de confidencialidade
Adicione lógica para listar os rótulos de confidencialidade da sua organização usando o objeto do mecanismo de arquivo.
Abra a solução do Visual Studio que você criou no artigo "Início Rápido: Inicialização do aplicativo cliente (C++)" anterior.
Em Gerenciador de Soluções, abra o arquivo .cpp em seu projeto que contém a implementação do
main()método. Ele usa como padrão o mesmo nome do projeto que o contém, que você especificou durante a criação do projeto.Adicione a seguinte
usingdiretiva depoisusing mip::FileEngine;, perto da parte superior do arquivo:using std::endl;No final do
main()corpo, após a chave}de fechamento do últimocatchbloco e antesreturn 0;(de onde você parou no início rápido anterior), insira o seguinte código:// List sensitivity labels cout << "\nSensitivity labels for your organization:\n"; auto labels = engine->ListSensitivityLabels(); for (const auto& label : labels) { cout << label->GetName() << " : " << label->GetId() << endl; for (const auto& child : label->GetChildren()) { cout << "-> " << child->GetName() << " : " << child->GetId() << endl; } } system("pause");
Criar um script do PowerShell para gerar tokens de acesso
Use o script do PowerShell a seguir para gerar tokens de acesso, que são solicitados pelo SDK em sua AuthDelegateImpl::AcquireOAuth2Token implementação. O script usa o cmdlet Get-MsalToken do módulo MSAL.PS que você instalou anteriormente, em "Configuração e instalação do SDK da MIP".
Crie um arquivo de script do PowerShell ( extensão.ps1) e copie e cole o seguinte script no arquivo:
- Atualize
$authoritye$resourceUrlposteriormente, na seção a seguir. - Atualize
$appIde$redirectUripara corresponder aos valores especificados no registro do seu aplicativo no Microsoft Entra.
$authority = '<authority-url>' # Specified when SDK calls AcquireOAuth2Token() $resourceUrl = '<resource-url>' # Specified when SDK calls AcquireOAuth2Token() $appId = '0edbblll-8773-44de-b87c-b8c6276d41eb' # App ID of the Microsoft Entra app registration $redirectUri = 'bltest://authorize' # Redirect URI of the Microsoft Entra app registration $scope = $resourceUrl + "/.default" $response = Get-MsalToken -ClientId $appId -Authority $authority -RedirectUri $redirectUri -Scopes $scope -Interactive $response.AccessToken | clip # Copy the access token text to the clipboard- Atualize
Salve o arquivo de script para que você possa executá-lo mais tarde quando o aplicativo cliente o solicitar.
Criar e testar o aplicativo
Crie e teste seu aplicativo cliente.
Use F6 (Build Solution) para criar seu aplicativo cliente. Se você não tiver erros de compilação, use F5 (Iniciar depuração) para executar sua aplicação.
Se o projeto for compilado e executado com êxito, o aplicativo solicitará um token de acesso sempre que o SDK chamar seu
AcquireOAuth2Token()método. Você pode reutilizar um token gerado anteriormente se o aplicativo solicitar várias vezes e os valores solicitados forem os mesmos.Para gerar um token de acesso para o prompt, volte para o script do PowerShell e:
Atualize as variáveis
$authoritye$resourceUrl. Eles devem corresponder aos valores especificados na saída do console na etapa 2. O SDK do MIP fornece esses valores no parâmetrochallengedeAcquireOAuth2Token().Execute o script do PowerShell. O
Get-MsalTokencmdlet dispara um prompt de autenticação Microsoft Entra, semelhante ao exemplo a seguir. Especifique a mesma conta fornecida na saída do console na etapa 2. Após iniciar sessão com êxito, o cmdlet copia o token de acesso para a área de transferência.Talvez você também precise conceder consentimento para permitir que o aplicativo acesse as APIs do MIP enquanto estiver em execução na conta usada para fazer login. Isso acontece quando o registro de aplicativo do Microsoft Entra não é pré-consentido (conforme descrito em "Configuração e configuração do SDK do MIP"), ou você está entrando com uma conta de um locatário diferente (diferente daquela em que seu aplicativo está registrado). Selecione Aceitar para registrar seu consentimento.
Depois de colar o token de acesso no prompt da etapa 2, a saída do console deve mostrar os rótulos de confidencialidade, como no exemplo a seguir:
Non-Business : 87ba5c36-17cf-14793-bbc2-bd5b3a9f95cz Public : 83867195-f2b8-2ac2-b0b6-6bb73cb33afz General : f42a3342-8706-4288-bd31-ebb85995028z Confidential : 074e457c-5848-4542-9a6f-34a182080e7z Highly Confidential : f55c2dea-db0f-47cd-8520-a52e1590fb6z Press any key to continue . . .Observação
Copie e salve a ID de um ou mais dos rótulos de confidencialidade (por exemplo),
f42a3342-8706-4288-bd31-ebb85995028zporque você a usará no próximo início rápido.
Resolução de problemas
Problemas durante a execução do aplicativo C++
| Resumo | Mensagem de erro | Solução |
|---|---|---|
| Token de acesso incorreto |
Ocorreu uma exceção... O token de acesso está incorreto/expirado? Falha na chamada da API: profile_add_engine_async falhou com: [classe mip::PolicySyncException] Falha ao obter a política, a solicitação falhou com o código de status HTTP: 401, x-ms-diagnostics: [2000001;reason="O token OAuth enviado com a solicitação não pode ser analisado.";error_category="invalid_token"], correlationId:[aaaa0000-bb11-2222-33cc-444444dddddd]" C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (processo 29924) foi encerrado com o código 0. Pressione qualquer tecla para fechar esta janela. . . |
Se o seu projeto for compilado com sucesso, mas você vir uma saída semelhante à mostrada à esquerda, o token no método AcquireOAuth2Token() provavelmente é inválido ou está expirado. Volte para Criar um script do PowerShell para gerar tokens de acesso e regenerar o token de acesso, atualizar AcquireOAuth2Token() novamente e recompilar/retestir. Você também pode examinar e verificar o token e suas declarações usando o jwt.ms aplicativo Web de página única. |
| Os rótulos de confidencialidade não estão configurados | n/a | Se o projeto for compilado com sucesso, mas nenhuma saída for exibida na janela do console, verifique se os rótulos de confidencialidade da sua organização estão configurados corretamente. Para obter detalhes, consulte configuração e configuração do SDK do MIP em "Definir configurações de proteção e taxonomia de rótulo". |
Próximas Etapas
Agora que você sabe como listar os rótulos de confidencialidade da sua organização, experimente o próximo guia de início rápido:
- Conheça o exemplo em C++ do MIP File SDK no GitHub.