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

這個快速入門說明如何使用 MIP File SDK 列出為你組織設定的敏感度標籤。

先決條件

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

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

透過檔案引擎物件加入列出你組織敏感性標籤的邏輯。

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

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

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

    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 安裝與設定」中你之前安裝的 MSAL.PS 模組的 Get-MsalToken cmdlet。

  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 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
    
  2. 先把腳本檔案存起來,這樣等客戶端應用程式需要時再執行。

建置及測試應用程式

建立並測試你的客戶應用程式。

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

  2. 如果你的專案成功建置並執行,應用程式每次 SDK 呼叫你的 AcquireOAuth2Token() 方法時都會提示存取權杖。 如果應用程式多次提示且請求的值相同,你可以重複使用先前產生的權杖。

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

    • 更新 $authority$resourceUrl 變數。 它們必須與步驟 2 中主控台輸出中指定的值相符。 MIP SDK 在challengeAcquireOAuth2Token()參數中提供這些值。

    • 執行 PowerShell 指令碼。 該 Get-MsalToken cmdlet 會觸發一個 Microsoft Entra 認證提示,類似以下範例。 在第 2 步的主控台輸出中指定相同的帳號。 成功登入後,Cmdlet 會將存取權杖放入剪貼簿。

      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 . . .
    

    備註

    複製並儲存一個或多個敏感度標籤的 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 設定與設定,在「定義標籤分類法與保護設定」中。

下一步

既然你已經知道如何列出你組織的敏感性標籤,請試試下一個快速入門: