Schnellstart: Auflisten von Vertraulichkeitsbezeichnungen (C++)
In diesem Schnellstart erfahren Sie, wie Sie das MIP File SDK verwenden, um die für Ihre Organisation konfigurierten Vertraulichkeitsbezeichnungen aufzulisten.
Voraussetzungen
Stellen Sie vor dem Fortfahren sicher, dass die folgenden Voraussetzungen erfüllt sind:
- Schließen Sie zuerst den Schnellstart: Initialisieren von Clientanwendungen (C++) ab, in dem eine Starterprojektmappe für Visual Studio erstellt wird. Dieser Schnellstart „Auflisten der Vertraulichkeitsbezeichnungen“ baut auf der vorherigen Erstellung der Starterprojektmappe auf.
- Lesen Sie optional die Konzepte zu Klassifizierungsbezeichnungen.
Hinzufügen von Logik zum Auflisten von Vertraulichkeitsbezeichnungen
Im Folgenden fügen Sie mithilfe des File-Engine-Objekts Logik zum Auflisten der Vertraulichkeitsbezeichnungen Ihrer Organisation hinzu.
Öffnen Sie die Visual Studio-Projektmappe, die Sie im vorherigen Artikel „Schnellstart: Initialisieren von Clientanwendungen (C++)“ erstellt haben.
Öffnen Sie im Projektmappen-Explorer die CPP-Datei im Projekt, die die Implementierung der
main()
-Methode enthält. Standardmäßig weist sie denselben Namen wie das Projekt auf, in dem sie enthalten ist. Diesen Namen haben Sie bei der Projekterstellung angegeben.Fügen Sie oben in der Datei hinter
using mip::FileEngine;
die folgendeusing
-Anweisung hinzu:using std::endl;
Fügen Sie den folgenden Code gegen Ende des Methodenkörpers von
main()
zwischen der schließenden Klammer}
des letztencatch
-Blocks und überreturn 0;
(wo Sie im vorherigen Schnellstart aufgehört haben) 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 die Zugriffstoken zu generieren, die für das SDK in Ihrer AuthDelegateImpl::AcquireOAuth2Token
-Implementierung erforderlich sind. Das Skript nutzt das Cmdlet Get-ADALToken
aus dem Modul „ADAL.PS“, das Sie zuvor in „MIP SDK: Setup und Konfiguration“ installiert haben.
Erstellen Sie eine PowerShell-Skriptdatei (mit der Erweiterung „.ps1“), und fügen Sie das folgende Skript in die Datei ein:
- Die Variablen
$authority
und$resourceUrl
werden im nächsten Abschnitt aktualisiert. - Aktualisieren Sie
$appId
und$redirectUri
so, dass diese den Werten entsprechen, die in Ihrer Azure AD-Anwendungsregistrierung angegeben wurden.
$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
- Die Variablen
Speichern Sie die Skriptdatei, damit Sie sie später ausführen können, wenn Sie von der Clientanwendung dazu aufgefordert werden.
Erstellen und Testen der Anwendung
Erstellen und testen Sie abschließend die Clientanwendung.
Verwenden Sie F6 (Projektmappe erstellen) zum Erstellen der Clientanwendung. Wenn keine Buildfehler auftreten, verwenden Sie F5 (Debuggen starten), um die Anwendung auszuführen.
Wenn das Projekt erfolgreich erstellt und ausgeführt wird, fragt die Anwendung jedes Mal nach einem Zugriffstoken, wenn das SDK Ihre
AcquireOAuth2Token()
-Methode aufruft. Sie können ein zuvor generiertes Token erneut verwenden, wenn Sie mehrmals dazu aufgefordert werden und die Werte gleich sind.Sie können ein Zugriffstoken für die Aufforderung erstellen, indem Sie wieder zu Ihrem PowerShell-Skript wechseln und Folgendes durchführen:
Aktualisieren Sie die Variablen
$authority
und$resourceUrl
. Sie müssen den Werten entsprechen, die in der Konsolenausgabe von Schritt 2 angegeben wurden. Diese Werte werden vom MIP SDK imchallenge
-Parameter vonAcquireOAuth2Token()
bereitgestellt:Führen Sie das PowerShell-Skript aus. Das Cmdlet
Get-ADALToken
löst eine Eingabeaufforderung für die Azure AD-Authentifizierung ähnlich dem folgenden Beispiel aus. Geben Sie das gleiche Konto an, das in der Konsolenausgabe von Schritt 2 angegeben wurde. Nachdem Sie sich erfolgreich angemeldet haben, wird das Zugriffstoken in der Zwischenablage gespeichert.Möglicherweise müssen Sie Ihre Einwilligung erteilen, um der Anwendung den Zugriff auf die MIP-APIs zu gewähren, während die Ausführung unter dem Anmeldekonto erfolgt. Dies geschieht, wenn der Azure AD-Anwendungsregistrierung nicht (wie in „MIP SDK: Setup und Konfiguration“ beschrieben) vorab zugestimmt wurde, oder wenn Sie sich mit einem Konto eines anderen Mandanten anmelden (der sich von dem unterscheidet, bei dem Ihre Anwendung registriert ist). Klicken Sie einfach auf Akzeptieren, damit Ihre Einwilligung erfasst wird.
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 . . .
Notiz
Kopieren und speichern Sie die ID von mindestens einer Vertraulichkeitsbezeichnung (z. B.
f42a3342-8706-4288-bd31-ebb85995028z
), da Sie diese im nächsten Schnellstart benötigen.
Problembehandlung
Probleme bei der Ausführung der C++-Anwendung
Zusammenfassung | Fehlermeldung | Lösung |
---|---|---|
Ungültiges Zugriffstoken | Eine 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:[35bc0023-3727-4eff-8062-000006d5d672]' Die Ausführung von „C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe“ (Prozess 29924) wurde mit dem Code 0 beendet. Drücken Sie eine beliebige Taste, um dieses Fenster zu schließen. . . |
Wenn Ihr Projekt erfolgreich erstellt wird und dennoch eine Ausgabe ähnlich der linken angezeigt wird, enthält Ihre AcquireOAuth2Token() -Methode wahrscheinlich ein ungültiges oder abgelaufenes Token. Wechseln Sie wieder zu Erstellen eines PowerShell-Skripts zum Generieren von Zugriffstoken, generieren Sie das Zugriffstoken neu, aktualisieren Sie AcquireOAuth2Token() erneut, und wiederholen Sie die Erstellung und die Tests. Sie können das Token und dessen Ansprüche auch untersuchen und überprüfen, indem Sie die Single-Page-Webanwendung jwt.ms verwenden. |
Vertraulichkeitsbezeichnungen sind nicht konfiguriert | – | Wenn Ihr Projekt erfolgreich erstellt wird, Sie aber keine Ausgabe im Konsolenfenster erhalten, stellen Sie sicher, dass die Vertraulichkeitsbezeichnungen Ihrer Organisation ordnungsgemäß konfiguriert sind. Ausführliche Informationen finden Sie unter „Definieren des Bezeichnungsschemas und der Schutzeinstellungen“ im Artikel MIP SDK: Setup und Konfiguration. |
Nächste Schritte
Nachdem Sie nun erfahren haben, wie Sie die Vertraulichkeitsbezeichnungen für Ihre Organisation auflisten, können Sie mit dem nächsten Schnellstart fortfahren: