Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive come usare le API DI MIP SDK per identificare il tipo di protezione configurato in un'etichetta in modo che l'applicazione possa prendere decisioni relative al comportamento e all'interfaccia utente prima di applicare la protezione. Riepiloga anche le API chiave e il comportamento previsto per ogni tipo di protezione.
Informazioni generali
A partire da MIP SDK 1.18, la Label classe espone i metodi per determinare il tipo di protezione applicato da un'etichetta. In precedenza, le applicazioni potevano controllare HasRightsManagementPolicy() solo se un'etichetta applicava qualsiasi protezione. I nuovi metodi consentono alle applicazioni di distinguere tra i tipi di protezione seguenti:
- Non inoltrare Protezione che impedisce al destinatario di inoltrare, stampare o copiare il contenuto.
- Solo crittografia Protezione che crittografa il contenuto, ma non limita le azioni del destinatario oltre la decrittografia.
- Ad hoc Protezione in cui l'utente definisce autorizzazioni personalizzate (diritti definiti dall'utente) al momento dell'applicazione.
Questi metodi consentono alle applicazioni di prendere decisioni più intelligenti su come gestire le etichette. Ad esempio, un'applicazione di posta elettronica potrebbe presentare diverse opzioni dell'interfaccia utente a seconda che un'etichetta applichi la protezione Non inoltrare rispetto alla protezione Solo crittografia.
Esecuzione di query sui tipi di protezione delle etichette
C++
La mip::Label classe fornisce i metodi seguenti:
// 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;
Esempio: Controllo dei tipi di protezione delle etichette
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)
Nel wrapper .NET la Label classe espone le proprietà corrispondenti:
label.HasRightsManagementPolicy // bool
label.HasDoNotForwardProtection // bool
label.HasEncryptOnlyProtection // bool
label.HasAdhocProtection // bool
Esempio: Controllo dei tipi di protezione delle etichette
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");
}
}
Relazione con le API esistenti
Questi nuovi metodi integrano il metodo esistente HasRightsManagementPolicy() . La relazione è:
- Se
HasRightsManagementPolicy()restituiscefalse, tutti e tre i nuovi metodi restituisconofalseanche . - Se
HasRightsManagementPolicy()restituiscetrue, almeno uno dei nuovi metodi restituiscetrueo nessuna restituiscetruese l'etichetta usa la protezione basata su modello. - Un'etichetta può combinare "ad-hoc" (autorizzazioni definite dall'utente) con "Non inoltrare" o "Solo crittografia". In questi casi combinati:
-
HasDoNotForwardProtection()restituiscetruequando l'etichetta applica la protezione Non inoltrare, indipendentemente dal fatto che includa anche un comportamento ad hoc. -
HasEncryptOnlyProtection()restituiscetruequando l'etichetta applica la protezione Encrypt Only, anche se include un comportamento ad hoc. -
HasAdhocProtection()restituiscetruesolo quando l'etichetta applica una protezione ad hoc indipendente (senza Non inoltrare o Solo crittografare).
-