這個快速入門說明如何使用 MIP File SDK 列出為你組織設定的敏感度標籤。
先決條件
如果您尚未完成,請務必先完成下列必要條件,再繼續進行:
- 完成 快速入門:用戶端應用程式初始化 (C++) 會先建置入門 Visual Studio 解決方案。 這個「List sensitivity labels」快速入門是依賴前一個來建立起始解決方案的。
- 選擇性:檢閱 分類標籤 概念。
新增邏輯以列出敏感度標籤
透過檔案引擎物件加入列出你組織敏感性標籤的邏輯。
開啟您在上一篇「快速入門:用戶端應用程式初始化(C++)》一文中建立的 Visual Studio 解決方案。
在 方案總管 中,打開專案中包含該方法實作
main()的 .cpp 檔案。 預設名稱為包含它的專案的同一名稱,而這是在您建立專案時指定的。在
using之後,請在檔案靠近頂端的部分新增下列using mip::FileEngine;指示詞:using std::endl;在
main()主體接近結尾處,於最後一個}區塊的右大括號catch之後,並在return 0;之前(也就是你在上一個快速入門中停止的位置),插入下列程式碼:// 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");
建立 PowerShell 腳本以產生存取令牌
使用下列 PowerShell 腳本來產生您的實作中 AuthDelegateImpl::AcquireOAuth2Token SDK 所要求的存取令牌。 腳本使用在「MIP SDK 安裝與設定」中你之前安裝的 MSAL.PS 模組的 Get-MsalToken cmdlet。
建立一個 PowerShell 腳本檔案(.ps1 副檔名),然後複製貼上以下腳本到檔案中:
- 請在下一節稍後更新
$authority和$resourceUrl。 - 將
$appId和$redirectUri更新為與你在 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- 請在下一節稍後更新
先把腳本檔案存起來,這樣等客戶端應用程式需要時再執行。
建置及測試應用程式
建立並測試你的客戶應用程式。
使用 F6 (建置解決方案) 來建置用戶端應用程式。 如果沒有建置錯誤,就用 F5(開始除錯)來執行你的應用程式。
如果你的專案成功建置並執行,應用程式每次 SDK 呼叫你的
AcquireOAuth2Token()方法時都會提示存取權杖。 如果應用程式多次提示且請求的值相同,你可以重複使用先前產生的權杖。若要產生提示的存取令牌,請返回您的 PowerShell 腳稿並:
更新
$authority和$resourceUrl變數。 它們必須與步驟 2 中主控台輸出中指定的值相符。 MIP SDK 在challenge的AcquireOAuth2Token()參數中提供這些值。執行 PowerShell 指令碼。 該
Get-MsalTokencmdlet 會觸發一個 Microsoft Entra 認證提示,類似以下範例。 在第 2 步的主控台輸出中指定相同的帳號。 成功登入後,Cmdlet 會將存取權杖放入剪貼簿。你可能還需要同意讓應用程式在登入帳號下存取 MIP API。 當Microsoft Entra應用程式註冊未經預先同意時,就會發生這種情況(如「MIP SDK 設定和組態」中所述),或者您是使用來自不同租戶的帳戶登入(而不是註冊應用程式所在租戶的帳戶)。 選擇 「接受 」以記錄你的同意。
在第 2 步的提示中貼上存取權杖後,你的主控台輸出應該會顯示敏感度標籤,類似以下範例:
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 . . .備註
複製並儲存一個或多個敏感度標籤的 ID(例如
f42a3342-8706-4288-bd31-ebb85995028z),因為你在下一個快速入門時會用到它。
故障排除
執行C++應用程式時發生問題
| 總結 | 錯誤訊息 | 解決方法 |
|---|---|---|
| 不正確的存取令牌 |
發生例外狀況...存取令牌不正確/過期嗎? API 呼叫失敗:profile_add_engine_async 失敗,錯誤如下:[class mip::PolicySyncException] 取得原則失敗,要求失敗,HTTP 狀態碼:401,x-ms-diagnostics: [2000001;reason="隨要求提交的 OAuth 權杖無法解析。";error_category="invalid_token"],correlationId:[aaaa0000-bb11-2222-33cc-444444dddddd]' C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (process 29924) 以代碼 0 結束。 按任意鍵關閉此視窗 。 . } |
如果你的專案成功建置,但輸出與左邊相似,表示你 AcquireOAuth2Token() 方法中的標記很可能無效或過期。 返回 建立 PowerShell 腳本以產生存取令牌,並重新產生存取令牌 、再次更新 AcquireOAuth2Token() 和重建/重新測試。 您也可以透過 jwt.ms 單頁網頁應用程式檢查並驗證該代幣及其聲明。 |
| 未設定敏感度標籤 | n/a | 如果你的專案成功建置,但主控台視窗中沒有輸出,請確保你組織的敏感度標籤設定正確。 詳情請參閱 MIP SDK 設定與設定,在「定義標籤分類法與保護設定」中。 |
下一步
既然你已經知道如何列出你組織的敏感性標籤,請試試下一個快速入門:
- 請在 GitHub 上探索 MIP 檔案 SDK C++ 範例。