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

W tym przewodniku Szybki start pokazano, jak za pomocą zestawu SDK plików MIP 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ę umożliwiającą wyświetlenie listy etykiet poufności w Twojej 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. W Eksplorator 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 treści, po zamykającym nawiasie klamrowym } ostatniego catch bloku i przed return 0; (gdzie zostało to przerwane w poprzednim przewodniku main() Szybki start), 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 i wklej następujący skrypt do pliku:

    • Zaktualizuj $authority i $resourceUrl później w poniższej sekcji.
    • Zaktualizuj $appId i $redirectUri dopasuj wartości określone w Microsoft Entra rejestracji aplikacji.
    $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 aplikacja kliencka zażąda go.

Kompilowanie i testowanie aplikacji

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 klawisza F5 (Rozpocznij debugowanie), aby uruchomić aplikację.

  2. Jeśli projekt kompiluje się i uruchamia pomyślnie, aplikacja prosi o token dostępu za każdym razem, gdy SDK wywołuje metodę AcquireOAuth2Token(). Możesz ponownie użyć wcześniej wygenerowanego tokenu, jeśli aplikacja monituje 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 odpowiadać wartościom określonym w danych wyjściowych konsoli w kroku 2. Zestaw MIP SDK udostępnia te wartości w parametrze challenge .AcquireOAuth2Token()

    • Uruchom skrypt programu PowerShell. Polecenie Get-MsalToken cmdlet wyzwala monit o uwierzytelnienie 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 polecenie cmdlet umieszcza token dostępu w schowku.

      Visual Studio uzyskać monit logowania tokenu.

    • Może być również konieczne wyrażenie zgody, aby umożliwić aplikacji dostęp do interfejsów API MIP podczas działania na koncie używanym do 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ę). Wybierz pozycję Akceptuj , aby zarejestrować swoją zgodę.

      Monit o wyrażenie zgody w programie 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 jednej lub większej liczby etykiet poufności (na przykład f42a3342-8706-4288-bd31-ebb85995028z), ponieważ użyjesz go w następnym przewodniku z serii 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 nie powiodło się z powodu: [class mip::PolicySyncException] Nie udało się pobrać zasad, żądanie zakończyło się niepowodzeniem z kodem stanu HTTP: 401, x-ms-diagnostics: [2000001;reason="Nie można przeanalizować tokenu OAuth przesłanego z żądaniem.";error_category="invalid_token"], correlationId:[aaaa0000-bb11-2222-33cc-444444dddddd]'

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 tych po lewej stronie, token w metodzie AcquireOAuth2Token() jest prawdopodobnie nieprawidłowy lub wygasł. 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 w oknie konsoli nie są wyświetlane żadne dane, upewnij się, że etykiety poufności w 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, jak wyświetlić listę etykiet poufności w organizacji, wypróbuj następny przewodnik Szybki start: