Guida introduttiva: Elencare le etichette di riservatezza (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

Aggiungere la logica per elencare le etichette di riservatezza dell'organizzazione usando l'oggetto Motore file.

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

  2. Usando Esplora soluzioni, aprire il file con estensione cpp nel progetto che contiene l'implementazione del main() metodo . Per impostazione predefinita, il nome del progetto che lo contiene è stato 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 main() corpo, sotto la parentesi graffa } di chiusura dell'ultimo catch blocco e sopra return 0; (dove è stata interrotta la guida introduttiva precedente), inserire 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-ADALToken cmdlet del modulo ADAL.PS installato in precedenza, in "Configurazione e installazione di MIP SDK".

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

    • $authority e $resourceUrl vengono aggiornati in un secondo momento, 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 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. Salvare il file di script in modo da poterlo eseguire in un secondo momento, quando richiesto dall'applicazione client.

Compilare e testare l'applicazione

Infine, compilare e testare l'applicazione client.

  1. Usare F6 (Compila soluzione) per compilare l'applicazione client. Se non sono presenti 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 richiesto 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 $authority variabili e $resourceUrl . Devono corrispondere ai valori specificati nell'output della console nel passaggio 2. Questi valori vengono forniti da MIP SDK nel challenge parametro di AcquireOAuth2Token():

    • Eseguire lo script di PowerShell. Il Get-ADALToken cmdlet attiva un prompt di autenticazione di Microsoft Entra, simile all'esempio seguente. Specificare lo stesso account fornito nell'output della console nel passaggio 2. Dopo l'accesso, il token di accesso verrà inserito negli Appunti.

      Visual Studio acquire token sign-in

    • 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-consenso (come descritto in "Configurazione e configurazione di MIP SDK") o si accede con un account da un tenant diverso (diverso da quello in cui è registrata l'applicazione). È sufficiente fare clic su Accetta per registrare il consenso.

      Visual Studio consent

  4. Dopo aver incollato il token di accesso nel prompt del passaggio 2, l'output della console dovrebbe mostrare le etichette di riservatezza, simile all'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 . . .
    

    Nota

    Copiare e salvare l'ID di una o più etichette di riservatezza , ad esempio f42a3342-8706-4288-bd31-ebb85995028z, come verrà usato nella guida introduttiva successiva.

Risoluzione dei problemi

Problemi durante l'esecuzione dell'applicazione C++

Riepilogo 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::P olicySyncException] 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:[35bc0023-3727-4eff-8062-000006d5d672]'

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 a sinistra, è probabile che nel metodo sia presente un token AcquireOAuth2Token() non 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 n/d Se il progetto viene compilato correttamente, ma non è presente 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

Dopo aver appreso come elencare le etichette di riservatezza per l'organizzazione, provare la guida introduttiva successiva: