共用方式為


快速入門:列出敏感度標籤 (C++)

本快速入門說明如何使用 MIP 檔案 SDK,列出為組織設定的敏感度標籤。

先決條件

如果您尚未完成,請務必先完成下列必要條件,再繼續進行:

新增邏輯以列出敏感度標籤

使用檔案引擎物件新增邏輯來列出組織的敏感度標籤。

  1. 開啟您在上一篇「快速入門:用戶端應用程式初始化(C++)》一文中建立的 Visual Studio 解決方案。

  2. 使用 方案總管,在您的項目中開啟包含 方法實作 main() 的 .cpp 檔案。 預設名稱為包含它的專案的同一名稱,而這是在您建立專案時指定的。

  3. using mip::FileEngine;之後,請在檔案靠近頂端的部分新增下列using指示詞:

    using std::endl;
    
  4. 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 安裝和設定」中安裝的 ADAL.PS 模組中的 cmdlet Get-ADALToken

  1. 建立 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
    
  2. 儲存文稿檔案,以便稍後在用戶端應用程式要求時執行。

建置及測試應用程式

最後,建置及測試用戶端應用程式。

  1. 使用 F6 (建置解決方案) 來建置用戶端應用程式。 如果您沒有建置錯誤,請使用 F5 (開始偵錯) 來執行應用程式。

  2. 如果您的專案建置並成功執行,應用程式會在每次 SDK 呼叫您的 AcquireOAuth2Token() 方法時,提示輸入存取令牌。 如果出現多次提示且要求的值相同,您可以重複使用先前產生的令牌。

  3. 若要產生提示的存取令牌,請返回您的 PowerShell 腳稿並:

    • 更新 $authority$resourceUrl 變數。 它們必須符合步驟 2 中控制台輸出中指定的值。 這些值是由 MIP SDK 在challenge參數AcquireOAuth2Token()中提供:

    • 執行 PowerShell 指令碼。 Cmdlet Get-ADALToken 會觸發Microsoft Entra 驗證提示,類似下列範例。 在步驟 2 的控制台輸出中指定相同的帳戶。 成功登入之後,存取令牌會放在剪貼簿上。

      Visual Studio 取得令牌登入

    • 您可能也需要同意,以允許應用程式在登入帳戶下執行時存取 MIP API。 當Microsoft Entra應用程式註冊未經預先同意時,就會發生這種情況(如「MIP SDK 設定和組態」中所述),或者您是使用來自不同租戶的帳戶登入(而不是註冊應用程式所在租戶的帳戶)。 只要按下 [ 接受 ] 即可記錄您的同意。

      Visual Studio 同意

  4. 將存取令牌貼到步驟 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::PolicySyncException] 無法取得原則,要求失敗,HTTP 狀態代碼為 401,x-ms-diagnostics: [2000001;reason="與要求一起提交的 OAuth 令牌無法剖析。";error_category="invalid_token"],correlationId:[35bc0023-3727-4eff-8062-000006d672]

C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (process 29924) 以代碼 0 結束。

按任意鍵關閉此視窗 。 . .
如果您的專案成功建置,但您看到的輸出類似於左側顯示的內容,則可能是您的 AcquireOAuth2Token() 方法中有無效或過期的令牌。 返回 建立 PowerShell 腳本以產生存取令牌,並重新產生存取令牌 、再次更新 AcquireOAuth2Token() 和重建/重新測試。 您也可以使用 jwt.ms 單頁 Web 應用程式,檢查並驗證令牌及其宣告。
未設定敏感度標籤 n/a 如果您的專案建置成功,但在控制台視窗中沒有輸出,請確定組織的敏感度標籤已正確設定。 如需詳細資訊,請參閱「定義標籤分類和保護設定」底下的 MIP SDK 設定和設定。

後續步驟

既然您已瞭解如何列出組織的敏感度標籤,請嘗試下一個快速入門: