Início rápido: Listar etiquetas de sensibilidade (C++)

Este Quickstart mostra-lhe como usar o MIP File SDK, para listar as etiquetas de sensibilidade configuradas para a sua organização.

Pré-requisitos

Se ainda não o fizeste, certifica-te de cumprir os seguintes pré-requisitos antes de continuar:

Adicionar lógica para listar as etiquetas de sensibilidade

Adicione lógica para listar as etiquetas de sensibilidade da sua organização, usando o objeto do motor de ficheiros.

  1. Abra a solução Visual Studio que criou no artigo anterior "Quickstart: Inicialização da aplicação cliente (C++)".

  2. Usando o Explorador de Soluções, abra o ficheiro .cpp no seu projeto que contém a implementação do main() método. Por padrão, tem o mesmo nome do projeto que o contém, que especificou durante a criação do projeto.

  3. Adicione a seguinte using diretiva após using mip::FileEngine;, perto do topo do ficheiro:

    using std::endl;
    
  4. Perto do fim do main() corpo, abaixo da barra } de encerramento do último catch bloco e acima return 0; (onde parou no Quickstart 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");
    

Crie um script PowerShell para gerar tokens de acesso

Use o seguinte script PowerShell para gerar tokens de acesso, que são solicitados pelo SDK na sua AuthDelegateImpl::AcquireOAuth2Token implementação. O script usa o Get-MsalToken cmdlet do módulo MSAL.PS que instalaste anteriormente, em "MIP SDK Setup and Configuration".

  1. Crie um ficheiro PowerShell Script (extensão.ps1) e copie/cole o seguinte script no ficheiro:

    • $authority e $resourceUrl são atualizados posteriormente, na secção seguinte.
    • Atualize $appId e $redirectUri, para corresponder aos valores que especificou no registo da sua 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 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
    
  2. Guarda o ficheiro de script para poderes executá-lo mais tarde, quando a tua aplicação cliente solicitar.

Construir e testar a aplicação

Por fim, construa e teste a sua aplicação cliente.

  1. Usa o F6 (Build Solution) para construir a tua aplicação cliente. Se não tiveres erros de compilação, usa F5 (Start debug) para executar a tua aplicação.

  2. Se o seu projeto for construído e executado com sucesso, a aplicação solicita um token de acesso cada vez que o SDK chama o seu AcquireOAuth2Token() método. Pode reutilizar um token previamente gerado, se for solicitado várias vezes e os valores solicitados forem os mesmos.

  3. Para gerar um token de acesso para o prompt, volte ao seu script PowerShell e:

    • Atualize as variáveis $authority e $resourceUrl. Devem corresponder aos valores especificados na saída da consola no passo #2. Estes valores são fornecidos pelo MIP SDK no challenge parâmetro de AcquireOAuth2Token():

    • Executa o script PowerShell. O Get-MsalToken cmdlet dispara um prompt de autenticação Microsoft Entra, semelhante ao exemplo abaixo. Especifique a mesma conta fornecida na saída da consola no passo #2. Após o início de sessão bem-sucedido, o token de acesso será colocado na prancheta.

      O Visual Studio adquire login de token

    • Também poderá precisar de conceder consentimento, para permitir que a aplicação aceda às APIs do MIP enquanto está a correr sob a conta de login. Isto acontece quando o registo da aplicação Microsoft Entra não é pré-consentido (como descrito em "MIP SDK setup and configuration"), ou quando está a iniciar sessão com uma conta de um inquilino diferente (diferente daquele onde a sua aplicação está registada). Basta clicar em Aceitar para registar o seu consentimento.

      Consentimento do Visual Studio

  4. Depois de colar o token de acesso no prompt do passo #2, a saída da consola deve mostrar as etiquetas de sensibilidade, semelhante ao seguinte exemplo:

    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 guarde o ID de uma ou mais das etiquetas de sensibilidade (por exemplo, f42a3342-8706-4288-bd31-ebb85995028z), pois irá usá-lo no próximo Quickstart.

Troubleshooting

Problemas durante a execução de aplicações em C++

Resumo Mensagem de erro Solução
Token de acesso deficiente Ocorreu uma exceção... O token de acesso está incorreto/expirado?

Chamada API falhada: profile_add_engine_async Falhada com: [class mip::P olicySyncException] Falha na política de aquisição, Pedido falhado com código de estado http: 401, x-ms-diagnostics: [2000001; reason="OAuth token submetido com o pedido 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 código 0.

Pressiona qualquer tecla para fechar esta janela. . .
Se o teu projeto for construído com sucesso, mas vires uma saída semelhante à esquerda, provavelmente tens um token inválido ou expirado no teu AcquireOAuth2Token() método. Volte a Criar um script PowerShell para gerar tokens de acesso e regenere o token de acesso, atualize AcquireOAuth2Token() novamente e reconstrua/teste. Também pode examinar e verificar o token e as suas reivindicações, utilizando a aplicação web jwt.ms de página única.
As etiquetas de sensibilidade não estão configuradas não aplicável Se o seu projeto for construído com sucesso, mas não tiver saída na janela da consola, certifique-se de que as etiquetas de sensibilidade da sua organização estão configuradas corretamente. Consulte a configuração e configuração do SDK do MIP, em "Definir taxonomia de etiquetas e definições de proteção" para mais detalhes.

Próximas Etapas

Agora que aprendeu a listar as etiquetas de sensibilidade da sua organização, experimente o próximo quickstart: