Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment utiliser les API du SDK MIP pour identifier le type de protection configuré sur une étiquette afin que votre application puisse prendre des décisions de comportement et d’interface utilisateur avant d’appliquer la protection. Il récapitule également les API clés et le comportement attendu pour chaque type de protection.
Aperçu
À compter du SDK MIP 1.18, la Label classe expose des méthodes pour déterminer le type de protection qu’une étiquette applique. Auparavant, les applications pouvaient uniquement vérifier HasRightsManagementPolicy() si une étiquette a appliqué une protection. Les nouvelles méthodes permettent aux applications de différencier les types de protection suivants :
- Ne pas transférer Protection qui empêche le destinataire de transférer, d’imprimer ou de copier le contenu.
- Chiffrer uniquement Protection qui chiffre le contenu, mais ne limite pas les actions du destinataire au-delà du déchiffrement.
- Ad hoc Protection où l’utilisateur définit des autorisations personnalisées (droits définis par l’utilisateur) au moment de l’application.
Ces méthodes permettent aux applications de prendre des décisions plus intelligentes sur la façon de gérer les étiquettes. Par exemple, une application de messagerie peut présenter différentes options d’interface utilisateur selon qu’une étiquette s’applique à Ne pas transférer ou à Chiffrer uniquement.
Consultation des types de protection des étiquettes
C++
La mip::Label classe fournit les méthodes suivantes :
// 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;
Exemple : Inspection des types de protection des étiquettes
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)
Dans le wrapper .NET, la Label classe expose les propriétés correspondantes :
label.HasRightsManagementPolicy // bool
label.HasDoNotForwardProtection // bool
label.HasEncryptOnlyProtection // bool
label.HasAdhocProtection // bool
Exemple : Inspection des types de protection des étiquettes
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 avec les API existantes
Ces nouvelles méthodes complètent la méthode existante HasRightsManagementPolicy() . La relation est la suivante :
- Si
HasRightsManagementPolicy()retournefalse, les trois nouvelles méthodes retournent égalementfalse. - Si
HasRightsManagementPolicy()retournetrue, au moins l’une des nouvelles méthodes retournetrue, ou aucune ne retournetruesi l’étiquette utilise la protection fondée sur un modèle. - Une étiquette peut combiner des autorisations ad hoc (définies par l’utilisateur) avec Ne pas transférer ou chiffrer uniquement. Dans ces cas combinés :
-
HasDoNotForwardProtection()retournetruelorsque l’étiquette applique la protection Ne pas Transférer, qu’elle inclue ou non un comportement ad hoc. -
HasEncryptOnlyProtection()retournetruelorsque l’étiquette applique la protection Chiffrer uniquement, qu’elle inclut également un comportement ad hoc ou non. -
HasAdhocProtection()retournetrueuniquement lorsque l’étiquette applique une protection ad hoc autonome (sans appliquer « Ne pas transférer » ou « Chiffrer uniquement »).
-