Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano sposób używania interfejsów API zestawu MIP SDK do identyfikowania typu ochrony skonfigurowanego na etykiecie, aby aplikacja mogła podejmować decyzje dotyczące zachowania i interfejsu użytkownika przed zastosowaniem ochrony. Zawiera również podsumowanie kluczowych interfejsów API i oczekiwanego zachowania dla każdego typu ochrony.
Przegląd
Począwszy od zestawu MIP SDK 1.18, Label klasa uwidacznia metody określania rodzaju ochrony stosowanej przez etykietę. Wcześniej aplikacje mogły sprawdzić HasRightsManagementPolicy() tylko, czy etykieta zastosowała jakąkolwiek ochronę. Nowe metody umożliwiają aplikacjom rozróżnianie następujących typów ochrony:
- Nie przesyłaj dalej Ochrona uniemożliwiająca adresatowi przekazywanie, drukowanie lub kopiowanie zawartości.
- Szyfruj tylko Ochrona, która szyfruje zawartość, ale nie ogranicza akcji adresata poza odszyfrowywaniem.
- Ad hoc Ochrona, w której użytkownik definiuje uprawnienia niestandardowe (prawa zdefiniowane przez użytkownika) w czasie aplikacji.
Te metody umożliwiają aplikacjom podejmowanie bardziej inteligentnych decyzji dotyczących sposobu obsługi etykiet. Na przykład aplikacja poczty e-mail może prezentować różne opcje interfejsu użytkownika w zależności od tego, czy etykieta stosuje ochronę Nie Przesyłaj Dalej, czy ochronę Tylko Szyfrowanie.
Wykonywanie zapytań dotyczących typów ochrony etykiet
C++
Klasa mip::Label udostępnia następujące metody:
// 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;
Przykład: Inspekcja typów ochrony etykiet
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)
W opakowaniu platformy .NET klasa Label udostępnia odpowiadające właściwości:
label.HasRightsManagementPolicy // bool
label.HasDoNotForwardProtection // bool
label.HasEncryptOnlyProtection // bool
label.HasAdhocProtection // bool
Przykład: Inspekcja typów ochrony etykiet
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");
}
}
Relacja z istniejącymi interfejsami API
Te nowe metody uzupełniają istniejącą HasRightsManagementPolicy() metodę. Relacja to:
- Jeśli
HasRightsManagementPolicy()zwraca wartośćfalse, wszystkie trzy nowe metody zwracają równieżfalse. - Jeśli
HasRightsManagementPolicy()zwracatrue, co najmniej jedna z nowych metod zwracatrue, lub żadna nie zwracatrue, jeśli etykieta używa ochrony opartej na szablonach. - Etykieta może łączyć ad-hoc (uprawnienia zdefiniowane przez użytkownika) z Do Not Forward albo Encrypt Only. W tych połączonych przypadkach:
-
HasDoNotForwardProtection()Zwraca wartośćtrue, gdy etykieta stosuje ochronę "Nie przesyłaj dalej", niezależnie od tego, czy obejmuje także zachowanie ad hoc. -
HasEncryptOnlyProtection()Zwraca wartośćtrue, gdy etykieta stosuje ochronę tylko do szyfrowania, niezależnie od tego, czy zawiera również zachowanie ad hoc. -
HasAdhocProtection()Zwraca wartośćtruetylko wtedy, gdy etykieta stosuje autonomiczną ochronę ad hoc (bez opcji Nie przesyłaj dalej lub Szyfruj tylko).
-