Gerenciar o rótulo de confidencialidade de sua mensagem ou compromisso no modo de composição

A colaboração no local de trabalho não só ocorre dentro da organização, mas também se estende a parceiros externos. Com informações sendo compartilhadas além da rede de uma organização, é importante estabelecer medidas para evitar a perda de dados e impor políticas de conformidade. Proteção de Informações do Microsoft Purview ajuda você a implementar soluções para classificar e proteger informações confidenciais. O uso de rótulos de confidencialidade no Outlook é um recurso que você pode configurar para proteger seus dados.

Você pode usar a API JavaScript do Office para implementar soluções de rótulo de confidencialidade em seus projetos de suplemento do Outlook e dar suporte aos cenários a seguir.

  • Aplique automaticamente rótulos de confidencialidade a determinadas mensagens e compromissos enquanto eles estão sendo compostos, para que os usuários possam se concentrar em seu trabalho.
  • Restrinja ações adicionais se um determinado rótulo de confidencialidade for aplicado a uma mensagem ou compromisso, como impedir que os usuários adicionem destinatários externos a uma mensagem.
  • Adicione um cabeçalho ou rodapé a uma mensagem ou compromisso com base em seu rótulo de confidencialidade para atender às políticas comerciais e legais.

Observação

O suporte para o recurso de rótulo de confidencialidade foi introduzido no conjunto de requisitos 1.13. Para obter informações sobre o suporte ao cliente para esse recurso, consulte Clientes e plataformas com suporte.

Pré-requisitos

Para implementar o recurso de rótulo de confidencialidade no suplemento, você deve ter uma assinatura Microsoft 365 E5. Você pode se qualificar para uma assinatura de desenvolvedor Microsoft 365 E5 por meio do Programa de Desenvolvedor do Microsoft 365; para obter detalhes, confira as perguntas frequentes. Como alternativa, você pode se inscrever para uma avaliação gratuita de 1 mês ou comprar um plano do Microsoft 365.

Clientes e plataformas com suporte

A tabela a seguir lista combinações cliente-servidor que dão suporte ao uso do recurso de rótulo de confidencialidade nos suplementos do Outlook. Não há suporte para combinações excluídas.

Cliente Exchange Online
Navegador da Web (interface do usuário moderna)

novo Outlook no Windows (versão prévia)
Com suporte
Windows (clássico)
Versão 2304 (Build 16327.20248) ou posterior
Com suporte
Mac
Versão 16.77.816.0 ou posterior
Com suporte
Android Não aplicável
iOS Não aplicável

Configurar o manifesto

Para usar o recurso de confidencialidade em seu projeto de suplemento do Outlook, você deve configurar a permissão de item de leitura/gravação no manifesto do suplemento.

  • Manifesto unificado para o Microsoft 365: na matriz "authorization.permissions.resourceSpecific", defina a propriedade "name" de um objeto como "MailboxItem.ReadWrite.User".
  • Manifesto XML: defina o <elemento Permissões> como ReadWriteItem.

Se o suplemento detectar e manipular o OnSensitivityLabelChanged evento, serão necessárias configurações adicionais de manifesto para habilitar o recurso de ativação baseado em evento. Para saber mais, confira Detectar alterações no rótulo de confidencialidade com o evento OnSensitivityLabelChanged.

Verifique o status do catálogo de rótulos de confidencialidade

Rótulos e políticas de confidencialidade são configurados pelo administrador de uma organização por meio do portal de conformidade do Microsoft Purview. Para obter diretrizes sobre como configurar rótulos de confidencialidade em seu locatário, consulte Create e configurar rótulos de confidencialidade e suas políticas.

Antes de obter ou definir o rótulo de confidencialidade em uma mensagem ou compromisso, primeiro você deve garantir que o catálogo de rótulos de confidencialidade esteja habilitado na caixa de correio em que o suplemento está instalado. Para marcar o status do catálogo de rótulos de confidencialidade, chame context.sensitivityLabelsCatalog.getIsEnabledAsync no modo de composição.

// 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);
    }
});

Identificar rótulos de confidencialidade disponíveis

Se você quiser determinar os rótulos de confidencialidade disponíveis para uso em uma mensagem ou compromisso no modo de composição, use context.sensitivityLabelsCatalog.getAsync. Os rótulos disponíveis são retornados na forma de objetos SensitivityLabelDetails , que fornecem os detalhes a seguir.

  • O nome do rótulo.
  • O identificador exclusivo (GUID) do rótulo.
  • Uma descrição do rótulo.
  • A cor atribuída ao rótulo.
  • Os sub-rótulos configurados, se houver.

O exemplo a seguir mostra como identificar os rótulos de confidencialidade disponíveis no catálogo.

// 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);
    }
});

Obter o rótulo de confidencialidade de uma mensagem ou compromisso

Para obter o rótulo de confidencialidade atualmente aplicado a uma mensagem ou compromisso no modo de composição, chame item.sensitivityLabel.getAsync conforme mostrado no exemplo a seguir. Isso retorna o GUID do rótulo de confidencialidade.

// 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);
    }
});

Definir o rótulo de confidencialidade em uma mensagem ou compromisso

Você pode definir apenas um rótulo de confidencialidade em uma mensagem ou compromisso no modo de composição. Antes de definir o rótulo, chame context.sensitivityLabelsCatalog.getAsync. Isso garante que o rótulo que você deseja aplicar esteja disponível para uso. Ele também ajuda você a identificar o GUID de um rótulo, que você precisará aplicar o rótulo ao item de email. Depois de confirmar a disponibilidade do rótulo, passe seu GUID como um parâmetro para item.sensitivityLabel.setAsync, conforme mostrado no exemplo a seguir.

// 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);
    }
});

Em vez de usar o GUID para definir o rótulo de confidencialidade, você pode passar o objeto SensitivityLabelDetails recuperado da chamada de catálogo, conforme mostrado no exemplo a seguir.

// 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);
    }
});

Detectar alterações no rótulo de confidencialidade com o evento OnSensitivityLabelChanged

Tome medidas extras para proteger seus dados usando o OnSensitivityLabelChanged evento. Esse evento permite que seu suplemento conclua tarefas em resposta a alterações de rótulo de confidencialidade em uma mensagem ou compromisso. Por exemplo, você pode impedir que os usuários rebaixem o rótulo de confidencialidade de um item de email se ele contiver determinados anexos.

O OnSensitivityLabelChanged evento está disponível por meio do recurso de ativação baseado em evento. Para saber como configurar, depurar e implantar um suplemento baseado em evento que usa esse evento, consulte Configurar o suplemento do Outlook para ativação baseada em eventos.

Confira também