Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie MIP SDK-APIs verwenden, um den Typ des auf einer Bezeichnung konfigurierten Schutzes zu identifizieren, damit Ihre Anwendung Verhalten und UI-Entscheidungen treffen kann, bevor Sie den Schutz anwenden. Außerdem werden die wichtigsten APIs und das erwartete Verhalten für jeden Schutztyp zusammengefasst.
Übersicht
Ab MIP SDK 1.18 macht die Label Klasse Methoden verfügbar, um zu bestimmen, welche Art von Schutz eine Bezeichnung zutrifft. Bisher konnten Anwendungen nur überprüfen HasRightsManagementPolicy() , ob eine Bezeichnung Schutz angewendet hat. Mit den neuen Methoden können Anwendungen zwischen den folgenden Schutztypen unterscheiden:
- Nicht weiterleiten Schutz, der verhindert, dass der Empfänger den Inhalt weiterleiten, drucken oder kopieren kann.
- Nur verschlüsseln Schutz, der den Inhalt verschlüsselt, aber die Aktionen des Empfängers nicht über die Entschlüsselung hinaus beschränkt.
- Ad-hoc Schutz, in dem der Benutzer benutzerdefinierte Berechtigungen (benutzerdefinierte Rechte) zum Zeitpunkt der Anwendung definiert.
Mit diesen Methoden können Anwendungen intelligentere Entscheidungen darüber treffen, wie Bezeichnungen behandelt werden. Beispielsweise könnte eine E-Mail-Anwendung unterschiedliche UI-Optionen darstellen, je nachdem, ob eine Bezeichnung den Schutz "Nicht weiterleiten" im Vergleich zu "Nur verschlüsseln" anwendet.
Abfragen von Etikettenschutztypen
C++
Die mip::Label Klasse stellt die folgenden Methoden bereit:
// 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;
Beispiel: Überprüfen von Bezeichnungsschutztypen
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)
Im .NET-Wrapper macht die Label Klasse übereinstimmende Eigenschaften verfügbar:
label.HasRightsManagementPolicy // bool
label.HasDoNotForwardProtection // bool
label.HasEncryptOnlyProtection // bool
label.HasAdhocProtection // bool
Beispiel: Überprüfen von Bezeichnungsschutztypen
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");
}
}
Beziehung zu vorhandenen APIs
Diese neuen Methoden ergänzen die bestehende HasRightsManagementPolicy() Methode. Die Beziehung lautet:
- Wenn
HasRightsManagementPolicy()falsezurückgibt, geben auch alle drei neuen Methodenfalsezurück. - Wenn
HasRightsManagementPolicy()truezurückgibt, gibt mindestens eine der neuen Methodentruezurück, oder keine gibttruezurück, wenn das Label vorlagenbasierten Schutz verwendet. - Ein Label kann Ad-hoc-Berechtigungen (benutzerdefinierte Berechtigungen) mit "Nicht weiterleiten" oder "Nur verschlüsseln" kombinieren. In diesen kombinierten Fällen:
-
HasDoNotForwardProtection()gibttruezurück, wenn die Bezeichnung den Do Not Forward-Schutz verwendet, unabhängig davon, ob sie zusätzlich Ad-hoc-Verhalten einschließt. -
HasEncryptOnlyProtection()gibttruezurück, wenn das Label den "Nur verschlüsseln"-Schutz anwendet, unabhängig davon, ob es auch Ad-hoc-Verhalten enthält. -
HasAdhocProtection()gibttruenur zurück, wenn die Bezeichnung eigenständigen Ad-hoc-Schutz gilt (ohne Do Not Forward oder Encrypt Only).
-