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 Início Rápido mostra como usar o SDK de Arquivo 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. Esse início rápido "Listar rótulos de confidencialidade" se baseia no anterior, referente à criação correta da solução de inicializador.
- 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 de 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.
Usando o 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
using
diretiva depoisusing mip::FileEngine;
, perto da parte superior do arquivo:using std::endl;
Até o fim do corpo
main()
, embaixo do colchete de fechamento}
do último blococatch
e acima dereturn 0;
(no ponto em que 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-ADALToken
do módulo ADAL.PS instalado anteriormente, em "Instalação e configuração do SDK do MIP".
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 registro do seu aplicativo 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 aplicativo cliente.
Criar e testar o aplicativo
Por fim, crie e teste seu aplicativo cliente.
Use F6 (Build Solution) para criar seu aplicativo cliente. Se você não tiver erros de build, 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 variáveis
$authority
e$resourceUrl
. Eles devem corresponder aos valores especificados na saída do console na etapa nº 2. Os valores no parâmetrochallenge
deAcquireOAuth2Token()
são fornecidos pelo SDK do MIP.Execute o script do PowerShell. O
Get-ADALToken
cmdlet dispara um prompt de autenticação do Microsoft Entra, semelhante ao exemplo abaixo. Especifique a mesma conta fornecida na saída do console na etapa nº 2. Após uma conexão bem-sucedida, o token de acesso será colocado na área de transferência.Talvez você também precise dar consentimento para permitir que o aplicativo acesse as APIs da PIM, enquanto estiver em execução na conta de entrada. 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). Basta clicar em Aceitar para registrar seu consentimento.
Depois de colar o token de acesso no prompt da etapa nº 2, a saída do console deve mostrar os rótulos de sensibilidade, semelhantes 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 . . .
Observação
Copie e salve a ID de um ou mais rótulos de confidencialidade (por exemplo,
f42a3342-8706-4288-bd31-ebb85995028z
), pois 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? Chamada à API com falha: profile_add_engine_async falhou com: [class mip::PolicySyncException] Falha na aquisição de política, Falha na solicitação com o código de status http: 401, x-ms-diagnostics: [2000001;reason="OAuth token submitted with the request cannot be parsed.";error_category="invalid_token"], correlationId:[35bc0023-3727-4eff-8062-000006d5d672]' 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 projeto foi compilado com sucesso, mas você viu uma saída semelhante à da esquerda, provavelmente você tem um token inválido ou expirado em seu método AcquireOAuth2Token() . 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 êxito, mas você não tiver saída na janela do console, certifique-se de que as etiquetas de sensibilidade da sua organização estejam configuradas corretamente. Consulte a configuração e a configuração do SDK do MIP em "Definir configurações de proteção e taxonomia de rótulo" para obter detalhes. |
Próximas etapas
Agora que você aprendeu como listar os rótulos de confidencialidade da sua organização, experimente o próximo início rápido: