Snabbstart: Lista känslighetsetiketter (C++)

Den här snabbstarten visar hur du använder MIP File SDK för att lista de känslighetsetiketter som har konfigurerats för din organisation.

Förutsättningar

Om du inte redan har gjort det måste du slutföra följande krav innan du fortsätter:

Lägg till logik för att lista känslighetsetiketterna

Lägg till logik för att lista organisationens känslighetsetiketter med hjälp av filmotorobjektet.

  1. Öppna Visual Studio-lösningen som du skapade i föregående artikel "Snabbstart: Initiering av klientprogram (C++)."

  2. Använd Solution Explorer och öppna .cpp-filen i projektet som innehåller implementeringen av main() metoden. Det är som standard samma namn som det projekt som innehåller det, som du angav när projektet skapades.

  3. Lägg till följande using direktiv efter using mip::FileEngine;, nära toppen av filen:

    using std::endl;
    
  4. Mot slutet av brödtexten main() , under den avslutande klammerparentesen } för det sista catch blocket och ovan return 0; (där du slutade i föregående snabbstart), infogar du följande kod:

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

Skapa ett PowerShell-skript för att generera åtkomsttoken

Använd följande PowerShell-skript för att generera åtkomsttoken, som begärs av SDK:et i implementeringen AuthDelegateImpl::AcquireOAuth2Token . Skriptet använder cmdleten Get-ADALToken från modulen ADAL.PS som du installerade tidigare, i "MIP SDK Setup and configuration".

  1. Skapa en PowerShell-skriptfil (.ps1-tillägget) och kopiera/klistra in följande skript i filen:

    • $authority och $resourceUrl uppdateras senare i följande avsnitt.
    • Uppdatera $appId och $redirectUri, för att matcha de värden som du angav i din Microsoft Entra-appregistrering.
    $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. Spara skriptfilen så att du kan köra den senare, när det begärs av klientprogrammet.

Skapa och testa programmet

Skapa och testa slutligen klientprogrammet.

  1. Använd F6 (Build Solution) för att skapa klientprogrammet. Om du inte har några byggfel använder du F5 (Starta felsökning) för att köra programmet.

  2. Om projektet har skapats och körts frågar programmet efter en åtkomsttoken varje gång SDK:t anropar din AcquireOAuth2Token() metod. Du kan återanvända en tidigare genererad token om du uppmanas till det flera gånger och de begärda värdena är desamma.

  3. Om du vill generera en åtkomsttoken för prompten går du tillbaka till ditt PowerShell-skript och:

    • Uppdatera variablerna $authority och $resourceUrl . De måste matcha de värden som anges i konsolens utdata i steg 2. Dessa värden tillhandahålls av MIP SDK i parametern challengeAcquireOAuth2Token():

    • Kör PowerShell-skriptet. Cmdleten Get-ADALToken utlöser en Microsoft Entra-autentiseringsprompt, liknande exemplet nedan. Ange samma konto som anges i konsolens utdata i steg 2. Efter lyckad inloggning placeras åtkomsttoken i Urklipp.

      Visual Studio acquire token sign-in

    • Du kan också behöva ge medgivande för att programmet ska få åtkomst till MIP-API:erna medan det körs under inloggningskontot. Detta inträffar när Microsoft Entra-programregistreringen inte har godkänts i förväg (enligt beskrivningen i "MIP SDK-konfiguration" eller om du loggar in med ett konto från en annan klientorganisation (förutom den där ditt program är registrerat). Klicka bara på Acceptera för att registrera ditt medgivande.

      Visual Studio consent

  4. När du har klistrat in åtkomsttoken i prompten från steg 2 bör konsolens utdata visa känslighetsetiketterna, ungefär som i följande exempel:

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

    Kommentar

    Kopiera och spara ID:t för en eller flera av känslighetsetiketterna (till exempel f42a3342-8706-4288-bd31-ebb85995028z), som du kommer att använda i nästa snabbstart.

Felsökning

Problem vid körning av C++-program

Sammanfattning Felmeddelande Lösning
Felaktig åtkomsttoken Ett undantag inträffade... är åtkomsttoken felaktig/har upphört att gälla?

Misslyckat API-anrop: profile_add_engine_async Misslyckades med: [class mip::P olicySyncException] Det gick inte att hämta principen, Begäran misslyckades med http-statuskoden: 401, x-ms-diagnostics: [2000001; reason="OAuth-token som skickas med begäran kan inte parsas."; error_category="invalid_token"], correlationId:[35bc0023-3727-4eff-8062-000006d5d672]'

C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (process 29924) avslutades med kod 0.

Tryck på valfri tangent för att stänga det här fönstret . . .
Om projektet har skapats, men du ser utdata som liknar det vänstra, har du förmodligen en ogiltig eller förfallen token i din AcquireOAuth2Token() metod. Gå tillbaka till Skapa ett PowerShell-skript för att generera åtkomsttoken och återskapa åtkomsttoken, uppdatera AcquireOAuth2Token() igen och återskapa/testa igen. Du kan också undersöka och verifiera token och dess anspråk med hjälp av jwt.ms ensideswebbapp.
Känslighetsetiketter har inte konfigurerats saknas Om projektet har skapats, men du inte har några utdata i konsolfönstret, kontrollerar du att organisationens känslighetsetiketter är korrekt konfigurerade. Mer information finns i Konfiguration och konfiguration av MIP SDK under "Definiera etiketttaxonomi och skyddsinställningar".

Nästa steg

Nu när du har lärt dig hur du listar känslighetsetiketterna för din organisation kan du prova nästa snabbstart: