Guia de início rápido: listar rótulos de sensibilidade (C++)
Este Guia de início rápido mostra como usar o SDK de arquivo MIP para listar os rótulos de sensibilidade configurados para sua organização.
Pré-requisitos
Se ainda não o fez, certifique-se de que preenche os seguintes pré-requisitos antes de continuar:
- Guia de início rápido completo : inicialização de aplicativo cliente (C++) primeiro, que cria uma solução inicial do Visual Studio. Este Guia de início rápido "Listar rótulos de sensibilidade" baseia-se no anterior, para a criação adequada da solução inicial.
- Opcionalmente: Revise os conceitos de rótulos de classificação.
Adicionar lógica para listar os rótulos de sensibilidade
Adicione lógica para listar os rótulos de sensibilidade da sua organização, usando o objeto File engine.
Abra a solução Visual Studio que você criou no artigo anterior "Guia de início rápido: inicialização de aplicativo cliente (C++)".
Usando o Gerenciador de Soluções, abra o arquivo de .cpp em seu projeto que contém a
main()
implementação do método. O padrão é o mesmo nome do projeto que o contém, que você especificou durante a criação do projeto.Adicione a seguinte
using
diretiva apósusing mip::FileEngine;
, perto da parte superior do arquivo:using std::endl;
No final do corpo, abaixo da chave
}
de fechamento do últimocatch
bloco e acimareturn 0;
(onde você parou no Guia demain()
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 seguinte script do PowerShell para gerar tokens de acesso, que são solicitados pelo SDK em sua AuthDelegateImpl::AcquireOAuth2Token
implementação. O script usa o Get-ADALToken
cmdlet do módulo ADAL.PS instalado anteriormente, em "MIP SDK Setup and configuration".
Crie um arquivo de script do PowerShell (extensão .ps1) e copie/cole o seguinte script no arquivo:
$authority
e$resourceUrl
são atualizados posteriormente, na seção a seguir.- Atualize
$appId
e$redirectUri
, para corresponder aos valores especificados no registo da aplicação 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 Azure AD app registration $redirectUri = 'bltest://authorize' # Redirect URI of the Azure AD app registration $response = Get-ADALToken -Resource $resourceUrl -ClientId $appId -RedirectUri $redirectUri -Authority $authority -PromptBehavior:RefreshSession $response.AccessToken | clip # Copy the access token text to the clipboard
Salve o arquivo de script para que você possa executá-lo mais tarde, quando solicitado pelo seu aplicativo cliente.
Crie e teste o aplicativo
Finalmente, 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 seu aplicativo.
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 solicitado 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
$authority
variáveis e$resourceUrl
. Eles devem corresponder aos valores especificados na saída do console na etapa #2. Esses valores são fornecidos pelo MIP SDK nochallenge
parâmetro deAcquireOAuth2Token()
:Execute o script do PowerShell. O
Get-ADALToken
cmdlet aciona um prompt de autenticação do Microsoft Entra, semelhante ao exemplo abaixo. Especifique a mesma conta fornecida na saída do console na etapa #2. Após o login bem-sucedido, o token de acesso será colocado na área de transferência.Você também pode precisar dar consentimento, para permitir que o aplicativo acesse as APIs MIP, enquanto estiver sendo executado sob a conta de login. Isso acontece quando o registro do aplicativo Microsoft Entra não é pré-consentido (conforme descrito em "Instalação e configuração do MIP SDK") ou quando você está entrando com uma conta de um locatário diferente (diferente daquele em que seu aplicativo está registrado). Basta clicar em Aceitar para registar o 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 sensibilidade, semelhante ao 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 . . .
Nota
Copie e salve a ID de um ou mais rótulos de sensibilidade (por exemplo,
f42a3342-8706-4288-bd31-ebb85995028z
), como você usará no próximo Guia de 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 de API: profile_add_engine_async Falha com: [class mip::P olicySyncException] Falha na aquisição da política, Falha na solicitação com 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:[35bc0023-3727-4eff-8062-000006d5d672]' C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (processo 29924) saiu com o código 0. Pressione qualquer tecla para fechar esta janela. . . |
Se o seu projeto é compilado com êxito, mas você vê uma saída semelhante à esquerda, você provavelmente tem um token inválido ou expirado em seu AcquireOAuth2Token() método. Volte para Criar um script do PowerShell para gerar tokens de acesso e regenerar o token de acesso, atualizar AcquireOAuth2Token() novamente e reconstruir/testar. 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 sensibilidade não estão configurados | n/d | Se o projeto for compilado com êxito, mas você não tiver saída na janela do console, verifique se os rótulos de sensibilidade da sua organização estão configurados corretamente. Consulte Instalação e configuração do MIP SDK, em "Definir taxonomia de rótulo e configurações de proteção" para obter detalhes. |
Passos Seguintes
Agora que você aprendeu a listar os rótulos de sensibilidade para sua organização, tente o próximo guia de início rápido: