Guida rapida: Elenco delle etichette di sensibilità (C++)

Questa guida introduttiva illustra come usare MIP File SDK per elencare le etichette di riservatezza configurate per l'organizzazione.

Prerequisiti

Se non è già stato fatto, assicurarsi di completare i prerequisiti seguenti prima di continuare:

Aggiungere la logica per elencare le etichette di riservatezza

Aggiungi la logica per elencare le etichette di riservatezza dell'organizzazione utilizzando l'oggetto motore file.

  1. Aprire la soluzione di Visual Studio creata nell'articolo precedente "Avvio rapido: Inizializzazione dell'applicazione client (C++)".

  2. In Esplora soluzioni aprire il file .cpp nel progetto che contiene l'implementazione del main() metodo . Per impostazione predefinita, il nome è lo stesso del progetto che lo contiene, nome che hai specificato durante la creazione del progetto.

  3. Aggiungere la direttiva seguente using dopo using mip::FileEngine;, nella parte superiore del file:

    using std::endl;
    
  4. Verso la fine del corpo main(), dopo la parentesi graffa di chiusura } dell'ultimo blocco catch e prima di return 0; (dal punto in cui avevi interrotto nella precedente guida introduttiva rapida), inserisci il codice seguente:

    // 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");
    

Creare uno script di PowerShell per generare token di accesso

Usare lo script di PowerShell seguente per generare i token di accesso richiesti dall'SDK nell'implementazione AuthDelegateImpl::AcquireOAuth2Token . Lo script usa il Get-MsalToken cmdlet del modulo MSAL.PS installato in precedenza, in "Configurazione e installazione di MIP SDK".

  1. Creare un file di script di PowerShell (estensione.ps1) e copiare e incollare lo script seguente nel file:

    • Aggiorna $authority e $resourceUrl più tardi, nella sezione seguente.
    • Aggiornare $appId e $redirectUri in modo che corrispondano ai valori specificati nella registrazione dell'app 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. Salvare il file di script in modo da poterlo eseguire in un secondo momento quando l'applicazione client la richiede.

Compilare e testare l'applicazione

Compilare e testare l'applicazione client.

  1. Usa F6 (Compila soluzione) per compilare la tua applicazione client. Se non si verificano errori di compilazione, usare F5 (Avvia debug) per eseguire l'applicazione.

  2. Se il progetto viene compilato ed eseguito correttamente, l'applicazione richiede un token di accesso ogni volta che l'SDK chiama il AcquireOAuth2Token() metodo. È possibile riutilizzare un token generato in precedenza se l'applicazione richiede più volte e i valori richiesti sono gli stessi.

  3. Per generare un token di accesso per il prompt, tornare allo script di PowerShell e:

    • Aggiornare le variabili $authority e $resourceUrl. Devono corrispondere ai valori specificati nell'output della console nel passaggio 2. MIP SDK fornisce questi valori nel challenge parametro di AcquireOAuth2Token().

    • Esegui lo script di PowerShell. Il Get-MsalToken cmdlet attiva un prompt di autenticazione Microsoft Entra, simile all'esempio seguente. Specificare lo stesso account fornito nell'output della console nel passaggio 2. Dopo aver effettuato correttamente l'accesso, il cmdlet inserisce il token di accesso negli Appunti.

      Visual Studio richiesta di accesso per l'acquisizione del token.

    • Potrebbe anche essere necessario fornire il consenso per consentire all'applicazione di accedere alle API MIP durante l'esecuzione con l'account di accesso. Ciò si verifica quando la registrazione dell'applicazione Microsoft Entra non è pre-consentita (come descritto in "installazione e configurazione di MIP SDK") o si accede con un account appartenente a un tenant diverso da quello in cui è registrata l'applicazione. Selezionare Accetta per registrare il consenso.

      Visual Studio richiesta di consenso.

  4. Dopo aver incollato il token di accesso nel prompt del passaggio 2, l'output della console dovrebbe mostrare le etichette di riservatezza, come nell'esempio seguente:

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

    Annotazioni

    Copiare e salvare l'ID di una o più etichette di riservatezza, ad esempio f42a3342-8706-4288-bd31-ebb85995028z, perché servirà nella prossima guida introduttiva.

Risoluzione dei problemi

Problemi durante l'esecuzione dell'applicazione C++

Riassunto Messaggio di errore Soluzione
Token di accesso non valido Si è verificata un'eccezione... il token di accesso non è corretto/scaduto?

Chiamata API non riuscita: profile_add_engine_async Failed with: [class mip::PolicySyncException] Failed acquiring policy, Request failed with http status code: 401, x-ms-diagnostics: [2000001;reason="Non è possibile analizzare il token OAuth inviato con la richiesta.";error_category="invalid_token"], correlationId:[aaaa0000-bb11-2222-33cc-444444dddddd]'

C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (processo 29924) chiuso con codice 0.

Premere un tasto qualsiasi per chiudere questa finestra. . .
Se il progetto viene compilato correttamente, ma viene visualizzato un output simile a quello sinistro, è probabile che il token nel AcquireOAuth2Token() metodo non sia valido o scaduto. Tornare a Creare uno script di PowerShell per generare token di accesso e rigenerare il token di accesso, aggiornare AcquireOAuth2Token() di nuovo e ricompilare/ripetere il servizio. È anche possibile esaminare e verificare il token e le relative attestazioni usando l'applicazione Web a pagina singola jwt.ms .
Le etichette di riservatezza non sono configurate non disponibile Se il progetto viene compilato correttamente, ma non viene visualizzato alcun output nella finestra della console, assicurarsi che le etichette di riservatezza dell'organizzazione siano configurate correttamente. Per informazioni dettagliate, vedere Configurazione e configurazione di MIP SDK in "Definire le impostazioni di tassonomia e protezione delle etichette".

Passaggi successivi

Ora che sai come elencare le etichette di riservatezza della tua organizzazione, prova la guida introduttiva successiva: