Szybki start: wyświetlanie listy etykiet poufności (C++)

W tym przewodniku Szybki start pokazano, jak używać zestawu MIP File SDK, aby wyświetlić listę etykiet poufności skonfigurowanych dla organizacji.

Wymagania wstępne

Jeśli jeszcze tego nie zrobiono, przed kontynuowaniem upewnij się, że zostały spełnione następujące wymagania wstępne:

Dodaj logikę do wyświetlania listy etykiet poufności

Dodaj logikę, aby wymienić etykiety poufności organizacji przy użyciu obiektu silnika plików.

  1. Otwórz rozwiązanie programu Visual Studio utworzone w poprzednim artykule "Szybki start: inicjowanie aplikacji klienckiej (C++)".

  2. Za pomocą Eksploratora rozwiązań otwórz plik .cpp w projekcie zawierający implementację main() metody . Domyślnie ma taką samą nazwę jak projekt zawierający go, który został określony podczas tworzenia projektu.

  3. Dodaj następującą dyrektywę using po using mip::FileEngine;, w górnej części pliku:

    using std::endl;
    
  4. Na końcu main() treści, poniżej zamykającego nawiasu klamrowego } ostatniego catch bloku i powyżej return 0; (gdzie skończyłeś w poprzednim przewodniku Quickstart), wstaw następujący 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");
    

Tworzenie skryptu programu PowerShell w celu generowania tokenów dostępu

Użyj poniższego skryptu PowerShell do wygenerowania tokenów dostępu, które są wymagane przez zestaw SDK w Twojej implementacji AuthDelegateImpl::AcquireOAuth2Token. Skrypt używa Get-MsalToken polecenia cmdlet z zainstalowanego wcześniej modułu MSAL.PS w sekcji "Konfiguracja i konfiguracja zestawu MIP SDK".

  1. Utwórz plik skryptu programu PowerShell (rozszerzenie.ps1) i skopiuj/wklej następujący skrypt do pliku:

    • $authority i $resourceUrl zostaną zaktualizowane później w poniższej sekcji.
    • Zaktualizuj $appId i $redirectUri, aby odpowiadały wartościom określonym w rejestracji Twojej aplikacji 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. Zapisz plik skryptu, aby można było go uruchomić później, gdy jest to wymagane przez aplikację kliencą.

Kompilowanie i testowanie aplikacji

Na koniec skompiluj i przetestuj aplikację kliencą.

  1. Skompiluj aplikację kliencą przy użyciu klawisza F6 (rozwiązanie kompilacji). Jeśli nie masz błędów kompilacji, użyj F5 (Rozpocznij debugowanie), aby uruchomić aplikację.

  2. Jeśli projekt kompiluje się i uruchamia pomyślnie, aplikacja wyświetla monit o token dostępu, ilekroć zestaw SDK wywołuje metodę AcquireOAuth2Token(). Możesz ponownie użyć wcześniej wygenerowanego tokenu, jeśli zostanie wyświetlony monit wiele razy, a żądane wartości są takie same.

  3. Aby wygenerować token dostępu dla monitu, wróć do skryptu programu PowerShell i:

    • Zaktualizuj zmienne $authority oraz $resourceUrl. Muszą one być zgodne z wartościami określonymi w danych wyjściowych konsoli w kroku 2. Te wartości są dostarczane przez zestaw MIP SDK w parametrze challenge:AcquireOAuth2Token()

    • Uruchom skrypt programu PowerShell. Polecenie cmdlet Get-MsalToken wyzwala monit uwierzytelniania Microsoft Entra, podobnie jak w poniższym przykładzie. Określ to samo konto podane w danych wyjściowych konsoli w kroku 2. Po pomyślnym zalogowaniu token dostępu zostanie umieszczony w schowku.

      Pozyskiwanie tokenu dla logowania w programie Visual Studio

    • Może być również konieczne wyrażenie zgody, aby zezwolić aplikacji na dostęp do interfejsów API usługi MIP podczas uruchamiania na koncie logowania. Dzieje się tak, gdy rejestracja aplikacji Microsoft Entra nie jest wcześniej zatwierdzona (zgodnie z opisem w sekcji "Konfiguracja zestawu MIP SDK") lub logujesz się przy użyciu konta z innego dzierżawcy (innego niż ten, w którym zarejestrowano aplikację). Po prostu kliknij przycisk Akceptuj , aby zarejestrować swoją zgodę.

      Zgoda programu Visual Studio

  4. Po wklejeniu tokenu dostępu do monitu z kroku 2 dane wyjściowe konsoli powinny wyświetlać etykiety poufności, podobnie jak w poniższym przykładzie:

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

    Uwaga

    Skopiuj i zapisz identyfikator co najmniej jednej etykiety poufności (na przykład f42a3342-8706-4288-bd31-ebb85995028z), ponieważ będzie on używany w następnym przewodniku Szybki start.

Rozwiązywanie problemów

Problemy podczas wykonywania aplikacji C++

Podsumowanie Komunikat o błędzie Rozwiązanie
Nieprawidłowy token dostępu Wystąpił wyjątek... czy token dostępu jest niepoprawny/wygasł?

Nieudane wywołanie interfejsu API: profile_add_engine_async Niepowodzenie z: [klasa mip::PolicySyncException] Nie udało się uzyskać zasad, Żądanie nie powiodło się z kodem statusu HTTP 401, x-ms-diagnostics: [2000001; reason="Token OAuth przesłany z żądaniem nie może zostać przeanalizowany."; error_category="invalid_token"], correlationId:[35bc0023-3727-4eff-8062-000006d5d672]

C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (proces 29924) zakończył działanie z kodem 0.

Naciśnij dowolny klawisz, aby zamknąć to okno. . .
Jeśli projekt zostanie pomyślnie skompilowany, ale zobaczysz dane wyjściowe podobne do przedstawionych po lewej, prawdopodobnie masz nieprawidłowy lub wygasły token w funkcji AcquireOAuth2Token(). Wróć do pozycji Tworzenie skryptu programu PowerShell, aby wygenerować tokeny dostępu i ponownie wygenerować token dostępu , ponownie zaktualizować AcquireOAuth2Token() i ponownie skompilować/ponownie przeprowadzić testowanie. Możesz również sprawdzić i zweryfikować token i jego oświadczenia przy użyciu aplikacji internetowej jwt.ms jednostronicowej.
Etykiety poufności nie są skonfigurowane N/a Jeśli projekt zostanie pomyślnie skompilowany, ale nie masz danych wyjściowych w oknie konsoli, upewnij się, że etykiety klasyfikacji poufności organizacji są poprawnie skonfigurowane. Aby uzyskać szczegółowe informacje, zobacz Konfigurowanie i konfigurowanie zestawu MIP SDK w obszarze "Definiowanie taksonomii etykiet i ustawień ochrony".

Następne kroki

Teraz, gdy wiesz już, jak wyświetlić listę etykiet poufności dla organizacji, wypróbuj kolejny Szybki Start: