Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du använder MIP SDK-API:er för att identifiera vilken typ av skydd som konfigurerats på en etikett så att ditt program kan fatta beslut om beteende och användargränssnitt innan skyddet tillämpas. Den sammanfattar också viktiga API:er och förväntat beteende för varje skyddstyp.
Översikt
Från och med MIP SDK 1.18 Label exponerar klassen metoder för att avgöra vilken typ av skydd en etikett gäller. Tidigare kunde program bara kontrollera HasRightsManagementPolicy() om en etikett tillämpade något skydd. Med de nya metoderna kan program skilja mellan följande skyddstyper:
- Vidarebefordra inte Skydd som förhindrar att mottagaren vidarebefordrar, skriver ut eller kopierar innehållet.
- Endast kryptera Skydd som krypterar innehållet men inte begränsar mottagarens åtgärder utöver dekryptering.
- Ad hoc Skydd där användaren definierar anpassade behörigheter (användardefinierade rättigheter) vid tidpunkten för programmet.
Dessa metoder gör det möjligt för program att fatta mer intelligenta beslut om hur etiketter ska hanteras. Ett e-postprogram kan till exempel presentera olika användargränssnittsalternativ beroende på om en etikett tillämpar Vidarebefordra inte jämfört med Krypteringsskydd.
Fråga efter etikettskyddstyper
C++
Klassen mip::Label innehåller följande metoder:
// 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;
Exempel: Inspektera etikettskyddstyper
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)
I .NET-omslutningen Label exponerar klassen matchande egenskaper:
label.HasRightsManagementPolicy // bool
label.HasDoNotForwardProtection // bool
label.HasEncryptOnlyProtection // bool
label.HasAdhocProtection // bool
Exempel: Inspektera etikettskyddstyper
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");
}
}
Relation till befintliga API:er
Dessa nya metoder kompletterar den befintliga HasRightsManagementPolicy() metoden. Relationen är:
- Om
HasRightsManagementPolicy()returnerarfalse, returnerar också alla tre nya metoderfalse. - Om
HasRightsManagementPolicy()returnerartrue, returnerar minst en av de nya metodernatrue, eller ingen returnerartrueom etiketten använder mallbaserat skydd. - En etikett kan kombinera ad hoc (användardefinierade behörigheter) med Vidarebefordra inte eller Kryptera endast. I dessa kombinerade fall:
-
HasDoNotForwardProtection()returnerartruenär etiketten använder skyddet 'Vidarebefordra inte', oavsett om den även inkluderar ad-hoc-funktionalitet. -
HasEncryptOnlyProtection()returnerartruenär etiketten använder "Encrypt Only"-skydd, oavsett om den även omfattar ad hoc-beteende. -
HasAdhocProtection()returnerartrueendast när etiketten använder fristående ad hoc-skydd (utan Vidarebefordra inte eller Kryptera endast).
-