Mulai cepat: Mencantumkan label sensitivitas (C++)

Panduan memulai cepat ini menjelaskan cara menggunakan MIP File SDK untuk menampilkan daftar label sensitivitas yang dikonfigurasi untuk organisasi Anda.

Prasyarat

Jika Anda belum melakukannya, pastikan untuk menyelesaikan prasyarat berikut sebelum melanjutkan:

Menambahkan logika untuk mencantumkan label sensitivitas

Tambahkan logika untuk mencantumkan label sensitivitas organisasi Anda dengan menggunakan objek mesin file.

  1. Buka solusi Visual Studio yang Anda buat di artikel "Mulai Cepat: Inisialisasi aplikasi klien (C++)" sebelumnya.

  2. Di Penjelajah Solusi, buka file .cpp dalam proyek Anda yang berisi implementasi main() metode . Ini menggunakan nama default yang sama dengan proyek yang memuatnya, yang Anda tentukan selama pembuatan proyek.

  3. Tambahkan direktif berikut using setelah using mip::FileEngine;, di dekat bagian atas file:

    using std::endl;
    
  4. Menjelang akhir badan main(), setelah kurung kurawal penutup } dari blok catch terakhir dan sebelum return 0; (tempat Anda berhenti pada panduan memulai cepat sebelumnya), sisipkan kode berikut:

    // 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");
    

Membuat skrip PowerShell untuk menghasilkan token akses

Gunakan skrip PowerShell berikut untuk menghasilkan token akses, yang diminta oleh SDK dalam implementasi Anda AuthDelegateImpl::AcquireOAuth2Token . Skrip menggunakan Get-MsalToken cmdlet dari modul MSAL.PS yang Anda instal sebelumnya, di "Penyiapan dan konfigurasi MIP SDK".

  1. Buat file skrip PowerShell ( ekstensi.ps1), dan salin dan tempel skrip berikut ke dalam file:

    • Perbarui $authority dan $resourceUrl nanti, di bagian berikut.
    • Perbarui $appId dan $redirectUri agar sesuai dengan nilai yang Anda tentukan dalam pendaftaran aplikasi Microsoft Entra Anda.
    $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. Simpan file skrip sehingga Anda dapat menjalankannya nanti saat aplikasi klien Anda memintanya.

Membangun dan menguji aplikasi

Buat dan uji aplikasi klien Anda.

  1. Gunakan F6 (Build Solution) untuk membangun aplikasi klien Anda. Jika Anda tidak memiliki kesalahan build, gunakan F5 (Mulai penelusuran kesalahan) untuk menjalankan aplikasi Anda.

  2. Jika proyek Anda berhasil membangun dan berjalan, aplikasi meminta token akses setiap kali SDK memanggil metode Anda AcquireOAuth2Token() . Anda dapat menggunakan kembali token yang dihasilkan sebelumnya jika aplikasi meminta beberapa kali dan nilai yang diminta sama.

  3. Untuk membuat token akses untuk perintah, kembali ke skrip PowerShell Anda dan:

    • Perbarui variabel $authority dan $resourceUrl. Mereka harus cocok dengan nilai yang ditentukan dalam output konsol di langkah 2. MIP SDK menyediakan nilai-nilai ini dalam challenge parameter AcquireOAuth2Token().

    • Jalankan skrip PowerShell. Get-MsalToken Cmdlet memicu perintah autentikasi Microsoft Entra, mirip dengan contoh berikut. Tentukan akun yang sama yang disediakan dalam output konsol di langkah 2. Setelah berhasil masuk, cmdlet menempatkan token akses di clipboard.

      Visual Studio memperoleh permintaan masuk token.

    • Anda mungkin juga perlu memberikan persetujuan untuk mengizinkan aplikasi mengakses API MIP saat berjalan di bawah akun masuk. Ini terjadi ketika pendaftaran aplikasi Microsoft Entra tidak disetujui sebelumnya (seperti yang diuraikan dalam "penyiapan dan konfigurasi SDK MIP"), atau Anda masuk dengan akun dari penyewa yang berbeda (selain yang mana aplikasi Anda terdaftar). Pilih Terima untuk merekam persetujuan Anda.

      Permintaan persetujuan Visual Studio.

  4. Setelah menempelkan token akses ke prompt dari langkah 2, output konsol Anda harus menampilkan label sensitivitas, mirip dengan contoh berikut:

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

    Nota

    Salin dan simpan ID dari satu atau beberapa label sensitivitas (misalnya, f42a3342-8706-4288-bd31-ebb85995028z), karena ID tersebut akan digunakan dalam panduan mulai cepat berikutnya.

Pemecahan masalah

Masalah selama eksekusi aplikasi C++

Ringkasan Pesan kesalahan Solusi
Token akses buruk Terjadi pengecualian... apakah token akses salah/kedaluwarsa?

Panggilan API gagal: profile_add_engine_async Gagal dengan: [class mip::PolicySyncException] Gagal memperoleh kebijakan, Permintaan gagal dengan kode status HTTP: 401, x-ms-diagnostics: [2000001;reason="Token OAuth yang dikirim bersama permintaan tidak dapat diurai.";error_category="invalid_token"], correlationId:[aaaa0000-bb11-2222-33cc-444444dddddd]'

C:\VSProjects\MipDev\Quickstarts\AppInitialization\x64\Debug\AppInitialization.exe (proses 29924) keluar dengan kode 0.

Tekan tombol apa pun untuk menutup jendela ini . . .
Jika proyek Anda berhasil dibangun, tetapi Anda melihat output yang mirip dengan sebelah kiri, token dalam metode Anda AcquireOAuth2Token() kemungkinan tidak valid atau kedaluwarsa. Kembali ke Membuat skrip PowerShell untuk menghasilkan token akses dan meregenerasi token akses, memperbarui AcquireOAuth2Token() lagi, dan membangun kembali/mencoba kembali. Anda juga dapat memeriksa dan memverifikasi token dan klaimnya dengan menggunakan aplikasi web jwt.ms satu halaman.
Label sensitivitas tidak dikonfigurasi n/a Jika proyek Anda berhasil dibangun, tetapi tidak ada output yang muncul di jendela konsol, pastikan label sensitivitas organisasi Anda dikonfigurasi dengan benar. Untuk detailnya, lihat Penyiapan dan konfigurasi MIP SDK, di bawah "Tentukan taksonomi label dan pengaturan perlindungan".

Langkah berikutnya

Setelah mengetahui cara membuat daftar label sensitivitas untuk organisasi Anda, coba panduan cepat berikutnya: