FicheirosExperience CloudSegurança de dados

Ficheiros e utilizadores guest/Experience Cloud: riscos de exposição

Como os ficheiros ficam visíveis para utilizadores guest e Experience Cloud no Salesforce: o campo Visibility e as más configurações que expõem dados.

AgentForceAccess 3 min de leitura
Um ficheiro dentro de um anel que delimita a organização, com feixes a atravessar para utilizadores guest externos e um globo

O acesso a ficheiros já é suficientemente difícil internamente. Acrescente utilizadores do Experience Cloud (comunidade) e guest e a coisa fica mais aguda em ambas as direções: os ficheiros que quer que os utilizadores externos vejam por vezes não aparecem, e os que não quer por vezes vazam para o público. Ambos os casos se resumem ao mesmo pequeno conjunto de definições. Eis como acertar nelas.

Os utilizadores externos usam o mesmo modelo — com uma barreira adicional

Os utilizadores da comunidade e guest veem os ficheiros através do mesmo modelo ContentDocumentLink que toda a gente. Mas há uma barreira adicional que os utilizadores internos raramente encontram: o campo Visibility do link.

VisibilityQuem inclui
AllUsersUtilizadores internos e externos/da comunidade
InternalUsersApenas utilizadores internos
SharedUsersApenas utilizadores com quem foi explicitamente partilhado

Para que um utilizador do Experience Cloud veja um ficheiro anexado a um registo, duas condições têm de ser verdadeiras em simultâneo: tem de conseguir aceder ao registo e o campo Visibility do link do ficheiro tem de incluir os utilizadores externos (normalmente AllUsers).

É por isto que “o utilizador da comunidade consegue ver o registo mas não o ficheiro” é um pedido de suporte tão comum — o acesso ao registo está correto, mas o Visibility é InternalUsers.

Modo de falha 1: ficheiros que deveriam aparecer, não aparecem

A versão benigna. Um utilizador da comunidade consegue abrir um caso, mas os respetivos anexos não aparecem. A correção está quase sempre no Visibility do ContentDocumentLink do ficheiro, e em garantir que os ficheiros carregados dentro da comunidade herdam a visibilidade correta. Verifique o link, não a partilha do registo.

Modo de falha 2: ficheiros que não deveriam aparecer, aparecem

A versão perigosa — e a razão pela qual este tema é relevante para a segurança.

Os utilizadores guest não estão autenticados. São visitantes anónimos do seu site público. Por isso, tudo o que a configuração de um utilizador guest expuser fica, na prática, disponível para toda a internet:

  • Um link público (sem login, por definição) num ficheiro sensível.
  • Ficheiros anexados a registos que o perfil do utilizador guest consegue alcançar, com visibilidade AllUsers.
  • Sharing sets / sharing rules demasiado abrangentes que concedem ao público guest ou externo mais registos do que o pretendido — e, por consequência, mais ficheiros.

O acesso guest excessivamente permissivo está entre os problemas de exposição de dados no Salesforce mais frequentemente reportados. Os ficheiros vão de boleia com quaisquer registos que tenha exposto acidentalmente.

As duas barreiras a auditar, em conjunto

Como o acesso externo a ficheiros depende do acesso ao registo E do Visibility do ficheiro, tem de verificar ambos como um par:

  1. Que registos conseguem alcançar os utilizadores guest e externos? (Modelo de partilha da comunidade, sharing sets, sharing rules.)
  2. Qual é o Visibility dos ficheiros anexados a esses registos?
  3. Existe algum link público em ficheiros sensíveis?

O estado final pretendido: exatamente os ficheiros que tencionava publicar estão acessíveis ao público externo — e mais nada. Chegar lá é a mesma questão central que o resto do modelo de acesso a registos, apenas com o público de maior risco possível.

Saber o que o público consegue realmente alcançar

A combinação — acesso externo a registos multiplicado pelo Visibility do ficheiro mais quaisquer links públicos — é precisamente o que torna a exposição a utilizadores guest fácil de avaliar mal e difícil de verificar manualmente. O AgentForceAccess avalia-a da mesma forma que avalia o acesso interno: pergunte o que um utilizador guest ou da comunidade consegue ver, e ele traça os registos que estes alcançam e os ficheiros que esses registos expõem, para que “está alguma coisa a vazar para o público” passe a ser uma pergunta a que consegue efetivamente responder.

Perguntas frequentes

Porque é que o meu utilizador da comunidade não consegue ver um ficheiro num registo a que tem acesso?

Na maioria das vezes, o Visibility do ContentDocumentLink está definido como InternalUsers, o que exclui os utilizadores externos mesmo quando o acesso ao registo está correto. Para expor o ficheiro aos utilizadores da comunidade, normalmente é preciso Visibility = AllUsers. O acesso ao registo, por si só, não chega se o Visibility excluir esse público.

Qual é o risco associado aos utilizadores guest e aos ficheiros?

Os utilizadores guest são visitantes não autenticados. Qualquer ficheiro que a sua configuração de partilha ou um link público exponha fica, na prática, disponível para toda a internet. O acesso guest demasiado abrangente — ou um link público esquecido — é uma das deteções de exposição de dados mais comuns no Salesforce.

Como é que a visibilidade dos ficheiros se relaciona com a partilha de registos numa comunidade?

São duas barreiras separadas. O utilizador precisa de acesso ao registo (através do modelo de partilha da comunidade, dos sharing sets ou das sharing rules) E o Visibility do link do ficheiro tem de incluir os utilizadores externos. Ambos têm de estar alinhados, e é por isso que o acesso a ficheiros em comunidades é um tema frequente de suporte e segurança.

O que devo verificar antes de expor ficheiros numa comunidade?

Confirme que registos os utilizadores guest e externos conseguem alcançar e, depois, confirme o Visibility dos ficheiros anexados a esses registos. Audite todos os links públicos. O objetivo é que exatamente os ficheiros pretendidos — e mais nenhuns — estejam acessíveis ao público externo.

Veja na sua própria org

O AgentForceAccess explica, em linguagem clara, porque é que qualquer utilizador vê qualquer registo ou ficheiro — em todos os mecanismos de partilha do Salesforce.

Pedir acesso antecipado