Bagikan melalui


Mulai cepat: Mencantumkan label sensitivitas (C++)

Mulai Cepat ini memperlihatkan kepada Anda cara menggunakan MIP File SDK, untuk mencantumkan 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, menggunakan objek Mesin file.

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

  2. Dengan menggunakan Penjelajah Solusi, buka file .cpp dalam proyek Anda yang berisi implementasi main() metode . Ini default ke nama yang sama dengan proyek yang berisinya, 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 main() isi, di bawah kurung kurawal } penutup blok terakhir catch ke atas return 0; (tempat Anda meninggalkan di Mulai 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-ADALToken cmdlet dari modul ADAL.PS yang Anda instal sebelumnya, di "Penyiapan dan konfigurasi MIP SDK".

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

    • $authority dan $resourceUrl diperbarui 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 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. Simpan file skrip sehingga Anda dapat menjalankannya nanti, saat diminta oleh aplikasi klien Anda.

Membangun dan menguji aplikasi

Terakhir, bangun 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 dibuat sebelumnya, jika diminta beberapa kali dan nilai yang diminta sama.

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

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

    • Jalankan skrip PowerShell. Get-ADALToken Cmdlet memicu permintaan autentikasi Microsoft Entra, mirip dengan contoh di bawah ini. Tentukan akun yang sama yang disediakan dalam output konsol di langkah #2. Setelah berhasil masuk, token akses akan ditempatkan di clipboard.

      Visual Studio acquire token sign-in

    • Anda mungkin juga perlu memberikan persetujuan, untuk memungkinkan 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). Cukup klik Terima untuk merekam persetujuan Anda.

      Visual Studio consent

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

    Catatan

    Salin dan simpan ID dari satu atau beberapa label sensitivitas (misalnya, f42a3342-8706-4288-bd31-ebb85995028z), karena Anda akan menggunakannya di 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::P olicySyncException] Gagal memperoleh kebijakan, Permintaan gagal dengan kode status http: 401, x-ms-diagnostics: [2000001; reason="Token OAuth yang dikirimkan dengan permintaan tidak dapat diurai."; error_category="invalid_token"], correlationId:[35bc0023-3727-4eff-8062-000006d5d672]'

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, Anda mungkin memiliki token yang tidak valid atau kedaluwarsa dalam metode Anda AcquireOAuth2Token() . 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, menggunakan aplikasi web halaman tunggal jwt.ms .
Label sensitivitas tidak dikonfigurasi n/a Jika proyek Anda berhasil dibangun, tetapi Anda tidak memiliki output di jendela konsol, pastikan label sensitivitas organisasi Anda dikonfigurasi dengan benar. Lihat Penyiapan dan konfigurasi MIP SDK, di bawah "Tentukan taksonomi label dan pengaturan perlindungan" untuk detailnya.

Langkah berikutnya

Sekarang setelah Anda mempelajari cara mencantumkan label sensitivitas untuk organisasi Anda, coba mulai cepat berikutnya: