Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara menggunakan MIP SDK API untuk mengidentifikasi jenis perlindungan yang dikonfigurasi pada label sehingga aplikasi Anda dapat membuat perilaku dan keputusan UI sebelum menerapkan perlindungan. Ini juga meringkas API utama dan perilaku yang diharapkan untuk setiap jenis perlindungan.
Ikhtisar
Mulai dari MIP SDK 1.18, Label kelas mengekspos metode untuk menentukan jenis perlindungan apa yang diterapkan label. Sebelumnya, aplikasi hanya dapat memeriksa HasRightsManagementPolicy() untuk menentukan apakah label menerapkan perlindungan apa pun. Metode baru memungkinkan aplikasi untuk membedakan antara jenis perlindungan berikut:
- Jangan Teruskan Perlindungan yang mencegah penerima meneruskan, mencetak, atau menyalin konten.
- Enkripsi Saja Perlindungan yang mengenkripsi konten tetapi tidak membatasi tindakan penerima di luar dekripsi.
- Ad-hoc Perlindungan di mana pengguna menentukan izin kustom (hak yang ditentukan pengguna) pada saat aplikasi.
Metode ini memungkinkan aplikasi membuat keputusan yang lebih cerdas tentang cara menangani label. Misalnya, aplikasi email dapat menyajikan opsi UI yang berbeda tergantung pada apakah label berlaku Jangan Teruskan versus Perlindungan Enkripsi Saja.
Mengkueri jenis perlindungan label
C++
Kelas ini mip::Label menyediakan metode berikut:
// Returns true if the label applies any protection.
bool HasRightsManagementPolicy() const;
// Returns true if the label applies Do Not Forward protection.
bool HasDoNotForwardProtection() const;
// Returns true if the label applies Encrypt Only protection.
bool HasEncryptOnlyProtection() const;
// Returns true if the label applies ad-hoc (user-defined) protection.
bool HasAdhocProtection() const;
Contoh: Memeriksa jenis perlindungan label
for (const auto& label : engine->ListSensitivityLabels()) {
std::cout << "Label: " << label->GetName() << std::endl;
if (label->HasRightsManagementPolicy()) {
if (label->HasDoNotForwardProtection()) {
std::cout << " Protection type: Do Not Forward" << std::endl;
} else if (label->HasEncryptOnlyProtection()) {
std::cout << " Protection type: Encrypt Only" << std::endl;
} else if (label->HasAdhocProtection()) {
std::cout << " Protection type: Ad-hoc (user-defined permissions)" << std::endl;
} else {
std::cout << " Protection type: Template-based" << std::endl;
}
} else {
std::cout << " No protection" << std::endl;
}
}
C# (.NET)
Dalam pembungkus .NET, kelas Label mengekspos properti yang cocok:
label.HasRightsManagementPolicy // bool
label.HasDoNotForwardProtection // bool
label.HasEncryptOnlyProtection // bool
label.HasAdhocProtection // bool
Contoh: Memeriksa jenis perlindungan label
foreach (var label in engine.SensitivityLabels)
{
Console.WriteLine($"Label: {label.Name}");
if (label.HasRightsManagementPolicy)
{
if (label.HasDoNotForwardProtection)
Console.WriteLine(" Protection type: Do Not Forward");
else if (label.HasEncryptOnlyProtection)
Console.WriteLine(" Protection type: Encrypt Only");
else if (label.HasAdhocProtection)
Console.WriteLine(" Protection type: Ad-hoc (user-defined permissions)");
else
Console.WriteLine(" Protection type: Template-based");
}
else
{
Console.WriteLine(" No protection");
}
}
Hubungan dengan API yang ada
Metode baru ini melengkapi metode yang HasRightsManagementPolicy() ada. Hubungannya adalah:
- Jika
HasRightsManagementPolicy()mengembalikanfalse, ketiga metode baru juga mengembalikanfalse. - Jika
HasRightsManagementPolicy()mengembalikantrue, setidaknya salah satu metode baru mengembalikantrue, atau tidak ada pengembaliantruejika label menggunakan perlindungan berbasis templat. - Label dapat menggabungkan ad-hoc (izin yang ditentukan pengguna) dengan Jangan Teruskan (Do Not Forward) atau Hanya Enkripsi. Dalam kasus gabungan ini:
-
HasDoNotForwardProtection()truemengembalikan nilai ketika label menerapkan perlindungan "Do Not Forward", apakah label tersebut juga menyertakan perilaku ad-hoc atau tidak. -
HasEncryptOnlyProtection()mengembalikantrueketika label menerapkan perlindungan Enkripsi Saja, apakah label tersebut juga menyertakan perilaku ad-hoc atau tidak. -
HasAdhocProtection()truehanya mengembalikan ketika label menerapkan perlindungan ad-hoc yang berdiri sendiri (tanpa Jangan Teruskan atau Enkripsi Saja).
-