Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Schnellstartanleitung erfahren Sie, wie Sie das MIP File SDK verwenden, um die für Ihre Organisation konfigurierten Vertraulichkeitsbezeichnungen auflisten zu können.
Voraussetzungen
Falls noch nicht geschehen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen, bevor Sie fortfahren:
- Vollständige Schnellstartanleitung: Zuerst die Clientanwendungsinitialisierung (C++), die eine Startlösung von Visual Studio erstellt. Diese Schnellstartanleitung „Vertraulichkeitsbezeichnungen auflisten“ baut auf der vorherigen auf, um die Ausgangslösung zu erstellen.
- Optional: Überprüfen Sie Die Konzepte von Klassifizierungsbezeichnungen .
Hinzufügen von Logik zum Auflisten von Vertraulichkeitsbezeichnungen
Fügen Sie Logik hinzu, um die Vertraulichkeitsbezeichnungen Ihrer Organisation mithilfe des Dateimodulobjekts auflisten zu können.
Öffnen Sie die Visual Studio-Lösung, die Sie im vorherigen Artikel "Schnellstart: Clientanwendungsinitialisierung (C++)" erstellt haben.
Öffnen Sie in Projektmappen-Explorer die datei .cpp in Ihrem Projekt, die die Implementierung der
main()Methode enthält. Standardmäßig wird derselbe Name wie das Projekt verwendet, das es enthält, das Sie während der Projekterstellung angegeben haben.Fügen Sie die folgende
usingDirektive nachusing mip::FileEngine;nahe am Anfang der Datei hinzu:using std::endl;Fügen Sie gegen Ende des
main()-Body nach der schließenden Klammer}des letztencatch-Blocks und vorreturn 0;(wo Sie im vorherigen Schnellstart aufgehört haben) den folgenden Code ein:// 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");
Erstellen eines PowerShell-Skripts zum Generieren von Zugriffstoken
Verwenden Sie das folgende PowerShell-Skript, um Zugriffstoken zu generieren, die vom SDK in Ihrer AuthDelegateImpl::AcquireOAuth2Token Implementierung angefordert werden. Das Skript nutzt das Cmdlet Get-MsalToken aus dem Modul „MSAL.PS“, das Sie zuvor in „MIP SDK: Setup und Konfiguration“ installiert haben.
Erstellen Sie eine PowerShell-Skriptdatei (.ps1 Erweiterung), und kopieren Sie das folgende Skript, und fügen Sie es in die Datei ein:
- Aktualisieren Sie
$authorityund$resourceUrlspäter im folgenden Abschnitt. - Aktualisieren Sie
$appIdund$redirectUriso, dass sie den Werten entsprechen, die Sie in Ihrer Microsoft Entra-App-Registrierung angegeben haben.
$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- Aktualisieren Sie
Speichern Sie die Skriptdatei, damit Sie sie später ausführen können, wenn ihre Clientanwendung sie anfordert.
Erstellen und Testen der Anwendung
Erstellen und testen Sie Ihre Clientanwendung.
Verwenden Sie F6 (Lösung erstellen), um Ihre Client-Anwendung zu erstellen. Wenn keine Buildfehler auftreten, verwenden Sie F5 (Debuggen starten), um Ihre Anwendung auszuführen.
Wenn Ihr Projekt erfolgreich erstellt und ausgeführt wird, fordert die Anwendung jedes Mal, wenn das SDK Ihre
AcquireOAuth2Token()Methode aufruft, ein Zugriffstoken ein. Sie können ein zuvor generiertes Token wiederverwenden, wenn die Anwendung mehrmals auffordert und die angeforderten Werte identisch sind.Um ein Zugriffstoken für die Eingabeaufforderung zu generieren, wechseln Sie zurück zu Ihrem PowerShell-Skript und:
Aktualisieren Sie die Variablen
$authorityund$resourceUrl. Sie müssen mit den werten übereinstimmen, die in der Konsolenausgabe in Schritt 2 angegeben sind. Das MIP SDK stellt diese Werte im ParameterchallengevonAcquireOAuth2Token()bereit.Führen Sie das PowerShell-Skript aus. Das
Get-MsalTokenCmdlet löst eine Microsoft Entra Authentifizierungsaufforderung aus, ähnlich dem folgenden Beispiel. Geben Sie dasselbe Konto an, das in der Konsolenausgabe in Schritt 2 bereitgestellt wird. Nach erfolgreicher Anmeldung platziert das Cmdlet das Zugriffstoken in der Zwischenablage.Möglicherweise müssen Sie auch die Zustimmung erteilen, damit die Anwendung auf die MIP-APIs zugreifen kann, während sie unter dem Anmeldekonto ausgeführt wird. Dies geschieht, wenn die Registrierung der Microsoft Entra-Anwendung nicht vorab zugestimmt wird (wie in "MIP SDK-Setup und -Konfiguration" beschrieben), oder Sie melden sich mit einem Konto von einem anderen Mandanten (außer dem konto, in dem Ihre Anwendung registriert ist) an. Wählen Sie "Annehmen" aus, um Ihre Zustimmung aufzuzeichnen.
Nachdem die Zugriffstoken in die Eingabeaufforderung aus Schritt 2 eingefügt wurden, sollten die in der Konsolenausgabe angezeigten Vertraulichkeitsbezeichnungen dem folgenden Beispiel ähneln:
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 . . .Hinweis
Kopieren und speichern Sie die ID einer oder mehrerer Vertraulichkeitsbezeichnungen (z. B.
f42a3342-8706-4288-bd31-ebb85995028z), weil Sie sie im nächsten Schnellstart verwenden.
Problembehandlung
Probleme bei der Ausführung der C++-Anwendung
| Zusammenfassung | Fehlermeldung | Lösung |
|---|---|---|
| Ungültiges Zugriffstoken |
Ausnahme ist aufgetreten... ist das Zugriffstoken falsch/abgelaufen? Fehler bei API-Aufruf: profile_add_engine_async Fehler: [class mip::PolicySyncException] Fehler beim Abruf von Richtlinie, Fehler bei Anforderung mit HTTP-Statuscode: 401, x-ms-diagnostics: [2000001;reason="Das mit der Anforderung übermittelte OAuth-Token kann nicht analysiert werden.";error_category="invalid_token"], correlationId:[aaaa0000-bb11-2222-33cc-444444dddddd]' C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (Prozess 29924) wurde mit Code 0 beendet. Drücken Sie eine beliebige Taste, um dieses Fenster zu schließen. . . |
Wenn Ihr Projekt erfolgreich erstellt wird, Sie aber eine Ausgabe wie links sehen, ist das Token in Ihrer Methode AcquireOAuth2Token() wahrscheinlich ungültig oder abgelaufen. Wechseln Sie zurück zum Erstellen eines PowerShell-Skripts, um Zugriffstoken zu generieren und das Zugriffstoken neu zu generieren, es erneut zu aktualisieren AcquireOAuth2Token() und erneut zu testen. Sie können das Token und seine Claims auch mithilfe der jwt.ms-Single-Page-Webanwendung untersuchen und überprüfen. |
| Vertraulichkeitsbezeichnungen sind nicht konfiguriert | n/a | Wenn Ihr Projekt erfolgreich erstellt wird, aber im Konsolenfenster keine Ausgabe angezeigt wird, stellen Sie sicher, dass die Vertraulichkeitsbezeichnungen Ihrer Organisation korrekt konfiguriert sind. Ausführliche Informationen finden Sie unter "Definieren von Bezeichnungstaxonomie und Schutzeinstellungen" unter "MIP SDK-Setup und -Konfiguration". |
Nächste Schritte
Nachdem Sie nun wissen, wie Sie die Vertraulichkeitsbezeichnungen für Ihre Organisation auflisten, probieren Sie die nächste Schnellstartanleitung aus:
- Erkunden Sie das MIP File SDK C++-Beispiel für GitHub.