Partilhar via


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:

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.

  1. Abra a solução Visual Studio que você criou no artigo anterior "Guia de início rápido: inicialização de aplicativo cliente (C++)".

  2. 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.

  3. Adicione a seguinte using diretiva após using mip::FileEngine;, perto da parte superior do arquivo:

    using std::endl;
    
  4. No final do corpo, abaixo da chave } de fechamento do último catch bloco e acima return 0; (onde você parou no Guia de main() 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".

  1. 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
    
  2. 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.

  1. 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.

  2. 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.

  3. 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 no challenge parâmetro de AcquireOAuth2Token():

    • 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.

      Visual Studio acquire token sign-in

    • 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.

      Visual Studio consent

  4. 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: