Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze quickstart ziet u hoe u de MIP Protection SDK gebruikt om beveiligingssjablonen weer te geven die beschikbaar zijn voor de gebruiker.
Vereiste voorwaarden
Voltooi de volgende vereisten voordat u doorgaat:
- Voltooi eerst Quickstart - Initialisatie van clienttoepassingen - Beschermings-SDK (C++), waarmee een startoplossing in Visual Studio wordt gebouwd. Deze quickstart 'Sjablonen voor lijstbeveiliging' is afhankelijk van de vorige quickstart om de startersoplossing correct te maken.
- Optioneel: Bekijk concepten van RMS-sjablonen .
Logica toevoegen om de beveiligingssjablonen weer te geven
Voeg logica toe om beveiligingssjablonen weer te geven die beschikbaar zijn voor een gebruiker met behulp van het object Protection Engine.
Open de Visual Studio-oplossing die u hebt gemaakt in het vorige artikel 'Quickstart - Initialisatie van clienttoepassing - Beveiligings-SDK (C++)'.
Open in Solution Explorer het bestand .cpp in uw project dat de implementatie van de
main()methode bevat. Deze wordt standaard ingesteld op dezelfde naam als het project dat het bevat, die u hebt opgegeven tijdens het maken van het project.Voeg de volgende
usinginstructie toe nausing mip::ProtectionEngine;, boven aan het bestand:using std::endl;Voeg tegen het einde van de
main()body, onder de afsluitende accolade}van het laatstecatch-blok en bovenreturn 0;(waar u in de vorige quickstart bent gestopt), de volgende code in:// List protection templates const shared_ptr<ProtectionEngineObserver> engineObserver = std::make_shared<ProtectionEngineObserver>(); // Create a context to pass to 'ProtectionEngine::GetTemplateListAsync'. That context will be forwarded to the // corresponding ProtectionEngine::Observer methods. In this case, we use promises/futures as a simple way to detect // the async operation completes synchronously. auto loadPromise = std::make_shared<std::promise<vector<shared_ptr<mip::TemplateDescriptor>>>>(); std::future<vector<shared_ptr<mip::TemplateDescriptor>>> loadFuture = loadPromise->get_future(); engine->GetTemplatesAsync(engineObserver, loadPromise); auto templates = loadFuture.get(); cout << "*** Template List: " << endl; for (const auto& protectionTemplate : templates) { cout << "Name: " << protectionTemplate->GetName() << " : " << protectionTemplate->GetId() << endl; }
Een PowerShell-script maken om toegangstokens te genereren
Gebruik het volgende PowerShell-script om toegangstokens te genereren die de SDK in uw AuthDelegateImpl::AcquireOAuth2Token implementatie aanvraagt. Het script maakt gebruik van de Get-MsalToken cmdlet uit de MSAL.PS module die u eerder hebt geïnstalleerd, in 'MIP SDK setup and configuration'.
Maak een PowerShell-scriptbestand (.ps1 extensie) en kopieer en plak het volgende script in het bestand:
-
$authorityen$resourceUrlworden later bijgewerkt in de volgende sectie. - Werk
$appIden$redirectUribij zodat ze overeenkomen met de waarden die u hebt gespecificeerd in de registratie van uw Microsoft Entra-app.
$authority = '<authority-url>' # Specified when SDK calls AcquireOAuth2Token() $resourceUrl = '<resource-url>' # Specified when SDK calls AcquireOAuth2Token() $appId = '<app-ID>' # App ID of the Microsoft Entra app registration $redirectUri = '<redirect-uri>' # 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-
Sla het scriptbestand op, zodat u het later kunt uitvoeren wanneer dit door uw clienttoepassing wordt aangevraagd.
De toepassing bouwen en testen
Bouw en test uw cliëntapplicatie.
Gebruik Ctrl+Shift+B (build solution) om uw clienttoepassing te bouwen. Als de build geen fouten bevat, gebruikt u F5 (Foutopsporing starten) om uw toepassing uit te voeren.
Als uw project met succes wordt gebouwd en uitgevoerd, vraagt de toepassing om een toegangstoken telkens wanneer de SDK uw
AcquireOAuth2Token()methode aanroept. U kunt een eerder gegenereerd token opnieuw gebruiken als hier meerdere keren om wordt gevraagd en de aangevraagde waarden hetzelfde zijn:Als u een toegangstoken voor de prompt wilt genereren, gaat u terug naar uw PowerShell-script en:
Werk de
$authorityen$resourceUrlvariabelen bij. Ze moeten overeenkomen met de waarden die zijn opgegeven in de console-uitvoer in stap 2.Voer het PowerShell-script uit. De
Get-MsalTokencmdlet activeert een Microsoft Entra verificatieprompt, vergelijkbaar met het volgende voorbeeld. Geef hetzelfde account op dat is opgegeven in de console-uitvoer in stap 2. Nadat u zich succesvol hebt aangemeld, plaatst PowerShell het toegangstoken op het klembord.Mogelijk moet u ook toestemming geven om de toepassing toegang te geven tot de MIP-API's terwijl deze wordt uitgevoerd onder het aanmeldingsaccount. Dit gebeurt wanneer de registratie van de Microsoft Entra-toepassing niet vooraf is toegestaan (zoals wordt beschreven in 'MIP SDK-installatie en -configuratie'), of als u zich aanmeldt met een account van een andere tenant (anders dan het account waarin uw toepassing is geregistreerd). Selecteer Accepteren om uw toestemming vast te leggen.
Nadat u het toegangstoken in de prompt van stap 2 hebt geplakt, moeten in de console-uitvoer de beveiligingssjablonen worden weergegeven, vergelijkbaar met het volgende voorbeeld:
*** Template List: Name: Confidential \ All Employees : a74f5027-f3e3-4c55-abcd-74c2ee41b607 Name: Highly Confidential \ All Employees : bb7ed207-046a-4caf-9826-647cff56b990 Name: Confidential : 174bc02a-6e22-4cf2-9309-cb3d47142b05 Name: Contoso Employees Only : 667466bf-a01b-4b0a-8bbf-a79a3d96f720 C:\MIP Sample Apps\ProtectionQS\Debug\ProtectionQS.exe (process 8252) exited with code 0. To automatically close the console when debugging stops, enable Tools->Options->Debugging->Automatically close the console when debugging stops. Press any key to continue . . .Opmerking
Kopieer en sla de id van een of meer van de beveiligingssjablonen (bijvoorbeeld
f42a3342-8706-4288-bd31-ebb85995028z) op terwijl u deze in de volgende quickstart gebruikt.
Probleemoplossingsproces
Problemen tijdens de uitvoering van de C++-toepassing
| Samenvatting | Foutmelding | " needed as the existing translation is correct. |
|---|---|---|
| Ongeldig toegangstoken |
Er is een uitzondering opgetreden... Is het toegangstoken onjuist/verlopen? Mislukte API-aanroep: profile_add_engine_async Mislukt met: [klasse mip::P olicySyncException] Kan beleid niet ophalen, aanvraag is mislukt met http-statuscode: 401, x-ms-diagnostics: [2000001; reason="OAuth token submitted with the request cannot be parsed."; error_category="invalid_token"], correlationId:[aaaa0000-bb11-2222-33cc-444444dddddd]' C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (proces 29924) afgesloten met code 0. Druk op een willekeurige toets om dit venster te sluiten. . . |
Als uw project succesvol wordt gebouwd, maar de uitvoer lijkt op die aan de linkerkant, heeft u waarschijnlijk een token dat ongeldig of verlopen is in uw AcquireOAuth2Token() methode. Ga terug naar Een PowerShell-script maken om toegangstokens te genereren en het toegangstoken opnieuw te genereren, AcquireOAuth2Token() opnieuw bij te werken en opnieuw te bouwen/opnieuw te testen. U kunt het token en de bijbehorende claims ook onderzoeken en controleren met behulp van de jwt.ms webtoepassing met één pagina. |
Volgende stappen
Nu u hebt geleerd hoe u de beveiligingssjablonen kunt weergeven die beschikbaar zijn voor een geverifieerde gebruiker, kunt u de volgende quickstart proberen:
- Verken het C++-voorbeeld van de MIP Protection SDK op GitHub.