Gérer l’étiquette de confidentialité de votre message ou rendez-vous en mode composition

La collaboration en milieu de travail ne se produit pas seulement au sein de l’organization, mais s’étend également aux partenaires externes. Les informations étant partagées au-delà du réseau d’un organization, il est important d’établir des mesures pour éviter la perte de données et appliquer des stratégies de conformité. Protection des données Microsoft Purview vous aide à implémenter des solutions pour classifier et protéger les informations sensibles. L’utilisation d’étiquettes de confidentialité dans Outlook est une fonctionnalité que vous pouvez configurer pour protéger vos données.

Vous pouvez utiliser l’API JavaScript Office pour implémenter des solutions d’étiquette de confidentialité dans vos projets de complément Outlook et prendre en charge les scénarios suivants.

  • Appliquez automatiquement des étiquettes de confidentialité à certains messages et rendez-vous pendant qu’ils sont composés, afin que les utilisateurs puissent se concentrer sur leur travail.
  • Limitez les actions supplémentaires si une certaine étiquette de confidentialité est appliquée à un message ou à un rendez-vous, par exemple en empêchant les utilisateurs d’ajouter des destinataires externes à un message.
  • Ajouter un en-tête ou un pied de page à un message ou à un rendez-vous en fonction de son étiquette de confidentialité pour se conformer aux stratégies commerciales et juridiques.

Remarque

La prise en charge de la fonctionnalité d’étiquette de confidentialité a été introduite dans l’ensemble de conditions requises 1.13. Pour plus d’informations sur la prise en charge des clients pour cette fonctionnalité, consultez Clients et plateformes pris en charge.

Configuration requise

Pour implémenter la fonctionnalité d’étiquette de confidentialité dans votre complément, vous devez disposer d’un abonnement Microsoft 365 E5. Vous pouvez bénéficier d’un abonnement Microsoft 365 E5 développeur par le biais du Programme pour les développeurs Microsoft 365. Pour plus d’informations, consultez le FAQ. Vous pouvez également vous inscrire à un essai gratuit de 1 mois ou acheter un plan Microsoft 365.

Clients et plateformes pris en charge

Le tableau suivant répertorie les combinaisons client-serveur qui prennent en charge l’utilisation de la fonctionnalité d’étiquette de confidentialité dans les compléments Outlook. Les combinaisons exclues ne sont pas prises en charge.

Client Exchange Online
Navigateur web (interface utilisateur moderne)

nouvel Outlook sur Windows
Pris en charge
Windows (classique)
Version 2304 (build 16327.20248) ou ultérieure
Pris en charge
Mac
Version 16.77 (23081600) ou ultérieure
Pris en charge
Android Non applicable
iOS Non applicable

Configurer le manifeste

Pour utiliser la fonctionnalité de confidentialité dans votre projet de complément Outlook, vous devez configurer l’autorisation d’élément en lecture/écriture dans le manifeste de votre complément.

  • Manifeste unifié pour Microsoft 365 : dans le tableau « authorization.permissions.resourceSpecific », définissez la propriété « name » d’un objet sur « MailboxItem.ReadWrite.User ».
  • Manifeste du complément uniquement : définissez l’élément Permissions> sur<ReadWriteItem.

Si votre complément détecte et gère l’événement, des OnSensitivityLabelChanged configurations de manifeste supplémentaires sont nécessaires pour activer la fonctionnalité d’activation basée sur les événements. Pour plus d’informations, consultez Détecter les modifications d’étiquette de confidentialité avec l’événement OnSensitivityLabelChanged.

Vérifier la status du catalogue d’étiquettes de confidentialité

Les étiquettes et les stratégies de confidentialité sont configurées par l’administrateur d’un organization via le portail de conformité Microsoft Purview. Pour obtenir des conseils sur la configuration des étiquettes de confidentialité dans votre locataire, consultez Créer et configurer des étiquettes de confidentialité et leurs stratégies.

Avant de pouvoir obtenir ou définir l’étiquette de confidentialité sur un message ou un rendez-vous, vous devez d’abord vérifier que le catalogue d’étiquettes de confidentialité est activé sur la boîte aux lettres où le complément est installé. Pour case activée le status du catalogue d’étiquettes de confidentialité, appelez context.sensitivityLabelsCatalog.getIsEnabledAsync en mode composition.

// Check whether the catalog of sensitivity labels is enabled.
Office.context.sensitivityLabelsCatalog.getIsEnabledAsync((asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
        console.log(asyncResult.value);
    } else {
        console.log("Action failed with error: " + asyncResult.error.message);
    }
});

Identifier les étiquettes de confidentialité disponibles

Si vous souhaitez déterminer les étiquettes de confidentialité disponibles pour une utilisation sur un message ou un rendez-vous en mode composition, utilisez context.sensitivityLabelsCatalog.getAsync. Les étiquettes disponibles sont retournées sous la forme d’objets SensitivityLabelDetails , qui fournissent les détails suivants.

  • Nom de l’étiquette.
  • Identificateur unique (GUID) de l’étiquette.
  • Description de l’étiquette.
  • Couleur affectée à l’étiquette.
  • Sous-étiquettes configurées, le cas échéant.

L’exemple suivant montre comment identifier les étiquettes de confidentialité disponibles dans le catalogue.

// It's recommended to check the status of the catalog of sensitivity labels before
// calling other sensitivity label methods.
Office.context.sensitivityLabelsCatalog.getIsEnabledAsync((asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Succeeded && asyncResult.value == true) {
        // Identify available sensitivity labels in the catalog.
        Office.context.sensitivityLabelsCatalog.getAsync((asyncResult) => {
            if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
                const catalog = asyncResult.value;
                console.log("Sensitivity Labels Catalog:");
                catalog.forEach((sensitivityLabel) => {
                    console.log(`Name: ${sensitivityLabel.name}`);
                    console.log(`ID: ${sensitivityLabel.id}`);
                    console.log(`Tooltip: ${sensitivityLabel.tooltip}`);
                    console.log(`Color: ${sensitivityLabel.color}`);
                    console.log(`Sublabels: ${JSON.stringify(sensitivityLabel.children)}`);
                });
            } else {
                console.log("Action failed with error: " + asyncResult.error.message);
            }
        });
    } else {
        console.log("Action failed with error: " + asyncResult.error.message);
    }
});

Obtenir l’étiquette de confidentialité d’un message ou d’un rendez-vous

Pour obtenir l’étiquette de confidentialité actuellement appliquée à un message ou à un rendez-vous en mode composition, appelez item.sensitivityLabel.getAsync comme indiqué dans l’exemple suivant. Cette opération retourne le GUID de l’étiquette de confidentialité.

// It's recommended to check the status of the catalog of sensitivity labels before
// calling other sensitivity label methods.
Office.context.sensitivityLabelsCatalog.getIsEnabledAsync((asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Succeeded && asyncResult.value == true) {
        // Get the current sensitivity label of a message or appointment.
        Office.context.mailbox.item.sensitivityLabel.getAsync((asyncResult) => {
            if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
                console.log(asyncResult.value);
            } else {
                console.log("Action failed with error: " + asyncResult.error.message);
            }
        });
    } else {
        console.log("Action failed with error: " + asyncResult.error.message);
    }
});

Définir l’étiquette de confidentialité sur un message ou un rendez-vous

Vous ne pouvez définir qu’une seule étiquette de confidentialité sur un message ou un rendez-vous en mode composition. Avant de définir l’étiquette, appelez context.sensitivityLabelsCatalog.getAsync. Cela garantit que l’étiquette que vous souhaitez appliquer est disponible. Il vous aide également à identifier le GUID d’une étiquette, dont vous aurez besoin pour appliquer l’étiquette à l’élément de courrier. Après avoir confirmé la disponibilité de l’étiquette, transmettez son GUID en tant que paramètre à item.sensitivityLabel.setAsync, comme illustré dans l’exemple suivant.

// It's recommended to check the status of the catalog of sensitivity labels before
// calling other sensitivity label methods.
Office.context.sensitivityLabelsCatalog.getIsEnabledAsync((asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Succeeded && asyncResult.value == true) {
        // Identify available sensitivity labels in the catalog.
        Office.context.sensitivityLabelsCatalog.getAsync((asyncResult) => {
            if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
                const catalog = asyncResult.value;
                if (catalog.length > 0) {
                    // Get the GUID of the sensitivity label.
                    var id = catalog[0].id;
                    // Set the mail item's sensitivity label using the label's GUID.
                    Office.context.mailbox.item.sensitivityLabel.setAsync(id, (asyncResult) => {
                        if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
                            console.log(asyncResult.status);
                        } else {
                            console.log("Action failed with error: " + asyncResult.error.message);
                        }
                    });
                } else {
                    console.log("Catalog list is empty");
                }
            } else {
                console.log("Action failed with error: " + asyncResult.error.message);
            }
        });
    } else {
        console.log("Action failed with error: " + asyncResult.error.message);
    }
});

Au lieu d’utiliser le GUID pour définir l’étiquette de confidentialité, vous pouvez passer l’objet SensitivityLabelDetails récupéré à partir de l’appel de catalogue, comme illustré dans l’exemple suivant.

// It's recommended to check the status of the catalog of sensitivity labels before
// calling other sensitivity label methods.
Office.context.sensitivityLabelsCatalog.getIsEnabledAsync((asyncResult) => {
    if (asyncResult.status === Office.AsyncResultStatus.Succeeded && asyncResult.value == true) {
        // Identify available sensitivity labels in the catalog.
        Office.context.sensitivityLabelsCatalog.getAsync((asyncResult) => {
            if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
                const catalog = asyncResult.value;
                if (catalog.length > 0) {
                    // Set the mail item's sensitivity label using the SensitivityLabelDetails object.
                    Office.context.mailbox.item.sensitivityLabel.setAsync(catalog[0], (asyncResult) => {
                        if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
                            console.log(asyncResult.status);
                        } else {
                            console.log("Action failed with error: " + asyncResult.error.message);
                        }
                    });
                } else {
                    console.log("Catalog list is empty");
                }
            } else {
                console.log("Action failed with error: " + asyncResult.error.message);
            }
        });
    } else {
        console.log("Action failed with error: " + asyncResult.error.message);
    }
});

Détecter les modifications des étiquettes de confidentialité avec l’événement OnSensitivityLabelChanged

Prenez des mesures supplémentaires pour protéger vos données à l’aide de l’événement OnSensitivityLabelChanged . Cet événement permet à votre complément d’effectuer des tâches en réponse à des modifications d’étiquette de confidentialité sur un message ou un rendez-vous. Par exemple, vous pouvez empêcher les utilisateurs de rétrograder l’étiquette de confidentialité d’un élément de courrier s’il contient certaines pièces jointes.

L’événement OnSensitivityLabelChanged est disponible via la fonctionnalité d’activation basée sur les événements. Pour savoir comment configurer, déboguer et déployer un complément basé sur des événements qui utilise cet événement, voir Configurer votre complément Outlook pour l’activation basée sur les événements.

Voir aussi