快速入門:列出敏感度標籤 (C++)
本快速入門說明如何使用 MIP 檔案 SDK,列出為組織設定的敏感度標籤。
必要條件
如果您尚未完成,請務必先完成下列必要條件,再繼續進行:
- 完成 快速入門:用戶端應用程式初始化 (C++) 會先建置入門 Visual Studio 解決方案。 本「列出敏感度標籤」快速入門仰賴上一個快速入門,以正確建立入門解決方案。
- 選擇性:檢閱 分類標籤 概念。
新增邏輯以列出敏感度標籤
使用檔案引擎物件新增邏輯來列出組織的敏感度標籤。
開啟您在上一篇「快速入門:用戶端應用程式初始化(C++)》一文中建立的 Visual Studio 解決方案。
使用 方案總管 ,在您的專案中開啟包含 方法實作的
main()
.cpp 檔案。 它預設為與您在專案建立期間指定的專案相同名稱。在 之後
using mip::FileEngine;
,在 檔案頂端附近新增下列using
指示詞: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 所要求的存取權杖。 腳本會 Get-ADALToken
使用您稍早在「MIP SDK 安裝和設定」中安裝之 ADAL.PS 模組中的 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 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
儲存腳本檔案,以便稍後在用戶端應用程式要求時執行。
建置及測試應用程式
最後,建置及測試用戶端應用程式。
使用 F6 ( 建置解決方案 ) 來建置用戶端應用程式。 如果您沒有建置錯誤,請使用 F5 ( 開始偵錯 ) 來執行應用程式。
如果您的專案建置並成功執行,應用程式會在每次 SDK 呼叫您的
AcquireOAuth2Token()
方法時,提示輸入存取權杖。 如果出現多次提示且要求的值相同,您可以重複使用先前產生的權杖。若要產生提示的存取權杖,請返回您的 PowerShell 腳本並:
$authority
更新 和$resourceUrl
變數。 它們必須符合步驟 2 中主控台輸出中指定的值。 這些值是由 參數中的challenge
AcquireOAuth2Token()
MIP SDK 提供:執行 PowerShell 腳本。 Cmdlet
Get-ADALToken
會觸發 Microsoft Entra 驗證提示,類似于下列範例。 在步驟 2 的主控台輸出中指定相同的帳戶。 成功登入之後,存取權杖會放在剪貼簿上。您可能也需要同意,以允許應用程式在登入帳戶下執行時存取 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 . . .
注意
複製並儲存一或多個敏感度標籤的識別碼,
f42a3342-8706-4288-bd31-ebb85995028z
因為您會在下一個快速入門中使用它。
疑難排解
C++ 應用程式執行期間的問題
摘要 | 錯誤訊息 | 解決方案 |
---|---|---|
不正確的存取權杖 | 發生例外狀況...存取權杖不正確/過期嗎? 失敗的 API 呼叫:profile_add_engine_async失敗,發生:[類別 mip::P olicySyncException] 無法取得原則,要求失敗,HTTP 狀態碼為 401,x-ms-diagnostics: [2000001;reason=「與要求一起提交的 OAuth 權杖無法剖析。」;error_category=「invalid_token」], correlationId:[35bc0023-3727-4eff-8062-00006d672]' C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (process 29924) 以代碼 0 結束。 按任意鍵關閉此視窗 。 . . |
如果您的專案建置成功,但您會看到類似左側的輸出,則方法中 AcquireOAuth2Token() 可能會有無效或過期的權杖。 返回 建立 PowerShell 腳本以產生存取權杖,並重新產生存取權杖 、再次更新 AcquireOAuth2Token() 和重建/重新測試。 您也可以使用 jwt.ms 單頁 Web 應用程式, 檢查並驗證權杖及其宣告。 |
未設定敏感度標籤 | n/a | 如果您的專案建置成功,但在主控台視窗中沒有輸出,請確定組織的敏感度標籤已正確設定。 如需詳細資訊,請參閱 「定義標籤分類和保護設定」底下的 MIP SDK 設定和 設定。 |
後續步驟
既然您已瞭解如何列出組織的敏感度標籤,請嘗試下一個快速入門: