Privacidade e segurança para suplementos do Office

Processar a segurança

Os suplementos do Office são protegidos por um ambiente de tempo de execução de suplemento, um modelo de permissões com várias camadas e administradores de desempenho. Essa estrutura protege a experiência do usuário das seguintes maneiras.

  • O acesso ao quadro de interface do usuário do aplicativo cliente do Office é gerenciado.

  • Somente o acesso indireto ao thread de interface do usuário do aplicativo cliente do Office é permitido.

  • Interações modais não são permitidas - por exemplo, chamadas para JavaScript alert, confirme prompt métodos não são permitidos porque são modais.

Além disso, a estrutura de runtime fornece os seguintes benefícios para garantir que um Suplemento do Office não possa danificar o ambiente do usuário.

  • Isola o processo no qual o suplemento é executado.

  • Não exige substituição de .dll ou de .exe ou de componentes ActiveX.

  • Facilita a instalação e a desinstalação do suplemento.

E o uso de memória, CPU e recursos de rede por suplementos do Office é governável para garantir que o bom desempenho e a confiabilidade sejam mantidos.

Observação

Em alguns cenários, diferentes recursos de uma execução de suplemento em runtimes separados. Para simplificar, este artigo usa o singular "runtime". Para obter mais informações, consulte Runtimes em Suplementos do Office.

As seções a seguir descrevem brevemente como a arquitetura de runtime dá suporte à execução de suplementos em clientes do Office em dispositivos baseados no Windows, em dispositivos Mac OS X e em navegadores da Web.

Clientes para dispositivos Windows e OS X

Em clientes com suporte para dispositivos desktop e tablet, como Excel no Windows e Outlook no Windows e Mac, os Suplementos do Office têm suporte integrando um componente em processo, o runtime de Suplementos do Office, que gerencia o ciclo de vida do suplemento e permite a interoperabilidade entre o suplemento e o aplicativo cliente. A página da Web do suplemento em si é hospedada fora do processo. Conforme mostrado na figura 1, em uma área de trabalho ou tablet do Windows, a página do suplemento da Web é hospedada dentro de um Explorer da Internet ou controle do Microsoft Edge que, por sua vez, está hospedado dentro de um processo de runtime de suplemento que fornece isolamento de segurança e desempenho.

Em áreas de trabalho do Windows, o Modo Protegido na Internet Explorer deve estar habilitado para a Zona restrita do site. Ele geralmente está habilitado por padrão. Se estiver desabilitado, um erro ocorrerá quando você tentar iniciar um suplemento.

Figura 1. Ambiente de runtime de suplementos do Office em clientes de desktop e tablet baseados no Windows

Diagrama mostrando a infraestrutura de cliente avançado.

Conforme mostrado na figura a seguir, em uma área de trabalho do Mac OS X, a página da Web do suplemento é hospedada dentro de um processo de host de runtime do WebKit com área restrita que ajuda a fornecer um nível semelhante de segurança e proteção de desempenho.

Figura 2. Ambiente de runtime de suplementos do Office em clientes do Mac OS X

Diagrama mostrando aplicativos para o ambiente de runtime do Office no Mac OS X.

O tempo de execução de Suplementos do Office gerencia a comunicação entre processos, a conversão de eventos e chamadas à API JavaScript em itens nativos, bem como o suporte de comunicação remota da interface do usuário para habilitar o suplemento a ser processado dentro do documento, em um painel de tarefas ou de forma adjacente a uma mensagem de e-mail, solicitação de reunião ou compromisso.

Clientes Web

Em clientes Web com suporte, os Suplementos do Office são hospedados em um iframe que é executado usando o atributo de área restrita HTML5. Não são permitidos componentes ActiveX nem a navegação na página principal do cliente Web. O suporte a Suplementos do Office é habilitado em clientes Web por meio da integração da API JavaScript para Office. De maneira semelhante aos aplicativos cliente de área de trabalho, a API JavaScript gerencia o ciclo de vida do suplemento e a interoperabilidade entre o suplemento e o cliente Web. Essa interoperabilidade é implementada por meio de uma infraestrutura especial de comunicação de mensagens de publicação entre quadros. A mesma biblioteca JavaScript (Office.js) que é usada em clientes de área de trabalho está disponível para interagir com o cliente Web. A figura a seguir mostra a infraestrutura que dá suporte a suplementos no Office em execução no navegador e os componentes relevantes (o cliente Web, o iframe, o runtime de suplementos do Office e a API JavaScript para Office) necessários para dar suporte a eles.

Figura 3. Infraestrutura que dá suporte a suplementos do Office em clientes Web do Office

Diagrama mostrando a infraestrutura do cliente Web.

Integridade do suplemento no AppSource

Você pode disponibilizar seus Suplementos do Office ao público publicando-os no AppSource. O AppSource impõe as seguintes medidas para manter a integridade dos suplementos.

  • Requer que o servidor host de um Suplemento do Office sempre use o protocolo SSL para se comunicar.

  • Requer que um desenvolvedor forneça uma prova de identidade, um acordo contratual e uma política de privacidade compatível para enviar suplementos.

  • Dá suporte a um sistema de revisão pelo usuário para os suplementos disponíveis para promover uma comunidade autovigilante.

Experiências conectadas opcionais

Os usuários finais e administradores de TI podem desativar as experiências conectadas opcionais nos clientes móveis e na área de trabalho do Office. Para suplementos do Office, o impacto de desabilitar a configuração de experiências conectadas opcionais é que os usuários não podem mais acessar suplementos ou o repositório Microsoft 365 e Copilot por meio desses clientes. No entanto, alguns suplementos da Microsoft considerados essenciais ou críticos aos negócios e suplementos implantados pelo administrador de TI de uma organização por meio da Implantação Centralizada ainda estarão disponíveis. Além disso, os suplementos e o repositório Microsoft 365 e Copilot permanecem disponíveis no Outlook na Web, independentemente do status da configuração.

Para saber mais sobre o comportamento específico do Outlook, consulte Privacidade, permissões e segurança para suplementos do Outlook.

Observe que, se um administrador de TI desabilitar o uso de experiências conectadas no Office, ele terá o mesmo efeito em suplementos que desativar apenas experiências conectadas opcionais.

Lidar com as preocupações de privacidade dos usuários finais

Esta seção descreve a proteção oferecida pela plataforma de Suplementos do Office da perspectiva do cliente (usuário final) e fornece as diretrizes sobre como dar suporte às expectativas dos usuários e como manipular com segurança as PII (informações de identificação pessoal) dos usuários.

Perspectiva dos usuários finais

Os Suplementos do Office são criados usando tecnologias da Web que são executadas em um controle de navegador ou em um iframe. Por isso, o uso de suplementos é semelhante à navegação em sites na Internet ou na intranet. Os suplementos podem ser externos a uma organização (se você adquirir o suplemento do AppSource) ou interno (se você adquirir o suplemento de um catálogo de suplementos Exchange Server, catálogo de aplicativos do SharePoint ou compartilhamento de arquivos na rede de uma organização). Os suplementos têm acesso limitado à rede, e a maioria dos suplementos pode ler ou gravar no documento ou item de e-mail ativo. A plataforma de suplementos aplica certas restrições antes que um usuário ou administrador instale ou inicie um suplemento. Porém, como ocorre com qualquer modelo de extensibilidade, os usuários devem ser cuidadosos antes de iniciar um suplemento desconhecido.

Observação

Os usuários podem ver um prompt de segurança para confiar no domínio na primeira vez que um suplemento é carregado. Isso acontecerá se o host de domínio do suplemento estiver fora do domínio do Exchange local ou Servidor do Office Online.

A plataforma de suplemento aborda as preocupações de privacidade dos usuários finais das seguintes maneiras.

  • Os dados comunicados com o servidor Web que hospeda um suplemento de conteúdo, do Outlook ou de painel de tarefas, bem como a comunicação entre o suplemento e quaisquer serviços Web que ele usa, devem ser criptografados usando o protocolo SSL.

  • Antes de um usuário instalar um suplemento do AppSource, o usuário pode exibir a política de privacidade e os requisitos desse suplemento. Além disso, os suplementos do Outlook que interagem com as caixas de correio dos usuários aparecem as permissões específicas necessárias; o usuário pode examinar os termos de uso, permissões solicitadas e política de privacidade antes de instalar um suplemento do Outlook.

  • Ao compartilhar um documento, os usuários também compartilham suplementos que foram inseridos no documento ou associados a ele. Se um usuário abrir um documento que contém um suplemento que o usuário não usou antes, o aplicativo cliente do Office solicitará que o usuário conceda permissão para que o suplemento seja executado no documento. Em um ambiente organizacional, o aplicativo cliente do Office também solicita ao usuário se o documento vem de uma origem externa.

  • Os usuários podem habilitar ou desabilitar o acesso ao AppSource. Para suplementos de conteúdo e painel de tarefas, os usuários gerenciam o acesso a suplementos e catálogos confiáveis da Central de Confiança no cliente do Office host (aberto a partir deCatálogos>confiáveis do Centro de Confiança do Centro deConfiança> deOpções> de Arquivos>). No Outlook, o acesso para gerenciar suplementos depende do cliente do Outlook do usuário.

    Os administradores também podem gerenciar o acesso ao AppSource por meio do centro de administração.

  • O design da plataforma de suplemento fornece segurança e desempenho para os usuários finais das seguintes maneiras.

    • Um Suplemento do Office é executado em um controle de navegador da Web hospedado em um ambiente de runtime de suplemento separado do aplicativo cliente do Office. Esse design fornece isolamento de segurança e desempenho do aplicativo cliente.

    • A execução em um controle de navegador da Web permite que o suplemento faça quase tudo que uma página da Web regular em execução em um navegador pode fazer, mas, ao mesmo tempo, restringe o suplemento a observar a política de mesma origem para o isolamento de domínio e as zonas segurança.

Os suplementos do Outlook fornecem recursos adicionais de segurança e desempenho por meio do monitoramento de uso de recursos específicos do suplemento do Outlook. Para saber mais, consulte Privacidade, permissões e segurança de suplementos do Outlook.

Diretrizes de desenvolvedor para lidar com PII

O a seguir lista algumas diretrizes específicas de proteção de PII para você como desenvolvedor de suplementos do Office.

  • O objeto Settings destina-se a persistir configurações e dados de estado de suplementos entre sessões para um suplemento de conteúdo ou de painel de tarefas, mas não armazena senhas e outros itens de PII confidenciais no objeto Settings. Os dados no objeto Settings não ficam visíveis para os usuários finais, mas são armazenados como parte do formato de arquivo do documento, que está prontamente acessível. Você deve limitar o uso de PII pelo suplemento e armazenar quaisquer itens de PII necessários ao suplemento no servidor que hospeda o suplemento como um recurso protegido pelo usuário.

  • O uso de alguns aplicativos pode revelar itens de PII. Armazene com segurança os dados de identidade, local, horas de acesso e outras credenciais dos usuários para que os dados não sejam disponibilizados para outros usuários do suplemento.

  • Se o suplemento estiver disponível no AppSource, o requisito do AppSource por HTTPS protegerá os itens de PII transmitidos entre o servidor Web e o dispositivo ou computador cliente. No entanto, se você retransmitir esses dados para outros servidores, observe o mesmo nível de proteção.

  • Se você armazenar itens de PII dos usuários, revele esse fato e forneça uma maneira para que os usuários os inspecionem e excluam. Se você enviar o suplemento ao AppSource, poderá indicar na política de privacidade os dados que coleta e como eles são usados.

Opções de permissão e práticas de segurança de desenvolvedores

Siga estas diretrizes gerais para dar suporte ao modelo de segurança de Suplementos do Office e analisar detalhadamente cada tipo de suplemento.

Opções de permissões

A plataforma de suplementos fornece um modelo de permissões que o suplemento usa para declarar o nível de acesso aos dados de um usuário de que necessita para seus recursos. Cada nível de permissão corresponde ao subconjunto da API JavaScript para Office que o suplemento tem permissão para usar para seus recursos. Por exemplo, a permissão WriteDocument para suplementos de conteúdo e painel de tarefas permite acesso ao método Document.setSelectedDataAsync que permite uma gravação de suplemento no documento do usuário, mas não permite acesso a nenhum dos métodos para leitura de dados do documento. Esse nível de permissão faz sentido para suplementos que só precisam gravar em um documento, como um suplemento em que o usuário pode consultar dados para inserir em seu documento.

Como prática recomendada, você deve solicitar permissões com base no princípio do mínimo privilégio. Ou seja, você deve solicitar permissão para acessar apenas o subconjunto mínimo da API que o suplemento requer para funcionar corretamente. Por exemplo, se o suplemento precisa apenas ler dados no documento de um usuário para seus recursos, você não deve solicitar mais do que a permissão ReadDocument. (Porém, lembre-se de que a solicitação de permissões insuficientes fará com que a plataforma de suplementos bloqueie o uso de algumas APIs pelo suplemento e gerará erros em tempo de execução.)

Você especifica permissões no manifesto do suplemento, conforme mostrado no exemplo abaixo nesta seção, e os usuários finais podem ver o nível de permissão solicitado de um suplemento antes de decidirem instalar ou ativar o suplemento pela primeira vez. Além disso, os suplementos do Outlook que solicitam a permissão ReadWriteMailbox exigem privilégio de administrador explícito para instalar.

O exemplo a seguir mostra como um suplemento do painel de tarefas especifica a permissão ReadDocument em seu manifesto. Para manter as permissões em destaque, outros elementos no manifesto não são exibidos.

<?xml version="1.0" encoding="utf-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.0"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
           xmlns:ver="http://schemas.microsoft.com/office/appforoffice/1.0"
           xsi:type="TaskPaneApp">

... <!-- To keep permissions as the focus, not displaying other elements. -->
  <Permissions>ReadDocument</Permissions>
...
</OfficeApp>

Para saber mais sobre permissões para suplementos de painel de tarefas e de conteúdo, consulte Solicitar permissões para uso da API em suplementos .

Para obter mais informações sobre permissões para suplementos do Outlook, confira os tópicos a seguir.

Política de mesma origem

Como os Suplementos do Office são páginas da Web executadas em um controle de navegador da Web, eles devem seguir a política de mesma origem imposta pelo navegador. Por padrão, uma página da Web em um domínio não pode fazer chamadas de serviço Web XmlHttpRequest para outro domínio diferente daquela em que está hospedada.

Uma maneira de superar essa limitação é usar JSON/P -- forneça um proxy para o serviço Web, incluindo uma marca de script com um atributo src que aponta para algum script hospedado em outro domínio. Você pode criar as marcasscript via programação gerando de forma dinâmica a URL para a qual apontar o atributo src e passando parâmetros à URL por meio de parâmetros da consulta de URI. Os provedores de serviços Web criam e hospedam o código JavaScript em URLs específicas e retornam scripts diferentes, dependendo dos parâmetros de consulta de URI. Em seguida, esses scripts são executados onde estão inseridos e funcionam como esperado.

A seguir há um exemplo de JSON/P no exemplo de suplemento do Outlook.

// Dynamically create an HTML SCRIPT element that obtains the details for the specified video.
function loadVideoDetails(videoIndex) {
    // Dynamically create a new HTML SCRIPT element in the webpage.
    const script = document.createElement("script");
    // Specify the URL to retrieve the indicated video from a feed of a current list of videos,
    // as the value of the src attribute of the SCRIPT element. 
    script.setAttribute("src", "https://gdata.youtube.com/feeds/api/videos/" + 
        videos[videoIndex].Id + "?alt=json-in-script&amp;callback=videoDetailsLoaded");
    // Insert the SCRIPT element at the end of the HEAD section.
    document.getElementsByTagName('head')[0].appendChild(script);
}

O Exchange e o SharePoint fornecem proxies do lado do cliente para habilitar o acesso de domínio cruzado. Em geral, a política de mesma origem em uma intranet não é tão estrita como na Internet. Para saber mais, confira Política de mesma origem, parte 1: sem exibição e Como lidar com limitações de política de mesma origem nos Suplementos do Office.

Dicas para evitar scripts mal-intencionados entre sites

Um ator ruim pode atacar a origem de um suplemento inserindo script mal-intencionado por meio do documento ou campos no suplemento. Um desenvolvedor deve processar a entrada do usuário para evitar a execução de JavaScript de um usuário mal-intencionado em seu domínio. A seguir estão algumas boas práticas a seguir para lidar com a entrada do usuário de um documento ou mensagem de email ou por meio de campos em um suplemento.

  • Em vez da propriedade DOM innerHTML, use as propriedades innerText e textContent quando apropriado. Faça o seguinte para suporte entre navegadores da Internet Explorer e Firefox.

     var text = x.innerText || x.textContent
    

    Para obter informações sobre as diferenças entre innerText e textContent, consulte Node.textContent. Para saber mais sobre a compatibilidade de DOM entre navegadores comuns, consulte Compatibilidade de DOM W3C ‒ HTML.

  • Se você precisar usar innerHTML, verifique se a entrada do usuário não contém conteúdo mal-intencionado antes de passá-lo para innerHTML. Para obter mais informações e um exemplo de como usar o innerHTML com segurança, consulte propriedade innerHTML .

  • Se estiver usando jQuery, use o método .text() em vez do método .html().

  • Use o método toStaticHTML para remover atributos e elementos HTML dinâmicos da entrada dos usuários antes de passá-la para innerHTML.

  • Use a função encodeURIComponent ou encodeURI para codificar texto que se destina a ser uma URL que vem da entrada do usuário ou a contém.

  • Consulte Desenvolver suplementos seguros para obter mais práticas recomendadas para criar soluções Web mais seguras.

Dicas para impedir "clickjacking"

Como os Suplementos do Office são renderizados em um iframe ao executar em um navegador com aplicativos cliente do Office, use as dicas a seguir para minimizar o risco de sequestro de cliques -- uma técnica usada por hackers para enganar os usuários a revelar informações confidenciais.

Em primeiro lugar, identifique ações confidenciais que o suplemento pode executar. Elas incluem ações que um usuário não autorizado pode usar de forma mal-intencionada, como iniciar uma transação financeira ou publicar dados confidenciais. Por exemplo, o suplemento pode permitir que o usuário envie um pagamento a um destinatário definido pelo usuário.

Segundo, para ações confidenciais, o suplemento deve confirmar com o usuário antes de executar a ação. A confirmação deve detalhar o efeito que a ação terá. Também deve detalhar como o usuário pode impedir a ação, se necessário, escolhendo um botão específico marcado como "Não Permitir" ou ignorando a confirmação.

Em terceiro lugar, para garantir que nenhum ator de ameaça possa ocultar ou mascarar a confirmação, você deve exibi-la fora do contexto do suplemento (ou seja, não em uma caixa de diálogo HTML).

Veja a seguir alguns exemplos de como você pode obter a confirmação.

  • Envie um e-mail ao usuário com um link de confirmação.

  • Envie uma mensagem de texto ao usuário com um código de confirmação para ele inserir no suplemento.

  • Abra um diálogo de confirmação em uma nova janela do navegador para uma página que não possa ser exibida em iframe. Geralmente, esse é o padrão usado por páginas de login. Use a API de diálogo para criar um novo diálogo.

Além disso, verifique se o endereço usado para contatar o usuário não poderia ter sido fornecido por um ator de ameaça. Por exemplo, para confirmações de pagamento, use o endereço arquivado na conta autorizada do usuário.

Outras práticas de segurança

Os desenvolvedores também devem tomar nota das seguintes práticas de segurança.

  • Os desenvolvedores não devem usar controles ActiveX em Suplementos do Office, pois os controles ActiveX não dão suporte à natureza de plataforma cruzada da plataforma de suplementos.

  • Os suplementos de painel de tarefas e conteúdo assumem as mesmas configurações de SSL que o navegador usa por padrão e permite que a maioria dos conteúdos seja entregue apenas pelo SSL. Os suplementos do Outlook exigem que todo o conteúdo seja fornecido por SSL. Os desenvolvedores devem especificar no <elemento SourceLocation> do manifesto de suplemento uma URL que usa HTTPS para identificar o local do arquivo HTML para o suplemento.

    Para garantir que os suplementos não estejam fornecendo conteúdo usando HTTP, ao testar suplementos, os desenvolvedores devem garantir que as seguintes configurações sejam selecionadas em Opções de Internet em Painel de Controle e nenhum aviso de segurança apareça em seus cenários de teste.

    • Verifique se a configuração de segurança, Exibir conteúdo misto, para a zona da Internet está definida como Prompt. Você pode fazer isso selecionando o seguinte em Opções de Internet: na guia Segurança , selecione a zona da Internet , selecione Nível personalizado, role para procurar Exibir conteúdo misto e selecione Solicitar se ele ainda não estiver selecionado.

    • Verifique se a opção Avisar ao alterar o modo de segurança está marcada na guia Avançado da caixa de diálogo Opções da Internet.

  • Para garantir que os suplementos não usem excessivamente os recursos de memória ou do núcleo da CPU e causem a negação de serviço em um computador cliente, a plataforma de suplementos estabelece limites de uso de recursos. Como parte dos testes, os desenvolvedores devem verificar se o desempenho de um suplemento está dentro dos limites de uso de recursos.

  • Antes de publicar um suplemento, os desenvolvedores devem verificar se as informações de identificação pessoal expostas nos arquivos do suplemento estão seguras.

  • Os desenvolvedores não devem inserir chaves que usam para acessar APIs ou serviços da Microsoft e outros (como Bing, Google ou Facebook) diretamente nas páginas HTML de seu suplemento. Em vez disso, devem criar um serviço Web personalizado ou armazenar as chaves em alguma outra forma de armazenamento seguro na Web, que podem então chamar para passar o valor de chave ao suplemento.

  • Os desenvolvedores devem fazer o seguinte ao enviar um suplemento ao AppSource.

    • Hospedar o suplemento que estão enviando em um servidor Web que dê suporte a SSL.
    • Produzir uma declaração com uma política de privacidade compatível.
    • Estar preparados para assinar um acordo contratual ao enviar o suplemento.

Além das regras de uso de recursos, os desenvolvedores de suplementos do Outlook também devem verificar se os suplementos estão de acordo com os limites para a especificação de regras de ativação e se usam a API JavaScript. Para saber mais, confira Limites de ativação e API JavaScript para suplementos do Outlook.

Controle de administradores de TI

Em uma configuração corporativa, os administradores de TI têm autoridade final para habilitar ou desabilitar o acesso ao AppSource e a catálogos particulares.

O gerenciamento e a execução das configurações do Office são feitos com as configurações de política de grupo. Eles são configuráveis através da Ferramenta de Implantação do Office, em conjunto com a Ferramenta de Personalização do Office.

Nome da configuração Descrição
Permitir catálogos e suplementos da Web inseguros Permite que os usuários executem Suplementos do Office não seguros, que são Suplementos do Office que têm localizações de página da Web ou catálogo que não são protegidos por SSL (https://) e não estão nas zonas de Internet dos usuários.
Bloquear Suplementos da Web Permite que você impeça os usuários de executar suplementos do Office que usam tecnologias Web.
Bloquear a Office Store Permite que você impeça os usuários de obter ou executar suplementos do Office provenientes do AppSource.

Confira também