Acesso a registosModelo de partilhaAdministração Salesforce

Quem vê um registo no Salesforce? Como o acesso é decidido

Como o Salesforce decide quem vê um registo: org-wide defaults, hierarquia de funções, regras de partilha, partilhas manuais, equipas e territórios.

AgentForceAccess 4 min de leitura
Pilha abstrata de camadas translúcidas e luminosas que representam as regras de partilha do Salesforce

Se administrar uma org de Salesforce durante tempo suficiente, mais cedo ou mais tarde alguém perguntará: “Como é que esta pessoa consegue ver aquele registo?” A resposta honesta é que o Salesforce nunca decide a visibilidade de um registo num único sítio. Sobrepõe vários mecanismos uns aos outros e concede a união de todos eles.

Este guia percorre cada camada pela ordem em que o Salesforce a avalia, para que possa raciocinar sobre qualquer questão de “quem vê o quê” a partir dos primeiros princípios.

A única regra que explica tudo

A partilha no Salesforce é aditiva e prevalece a mais permissiva. Parte-se do nível mínimo definido pelos org-wide defaults e, a partir daí, todos os outros mecanismos só podem adicionar acesso por cima. Nada no modelo de partilha padrão retira acesso.

Por isso, quando estiver a investigar por que motivo um utilizador vê um registo, nunca está à procura da regra que o permite e de uma regra que o bloqueia. Está à procura de uma única concessão — porque uma basta.

Se nem que seja um mecanismo conceder acesso, o utilizador tem acesso. Ponto final.

Camada 1 — As permissões de objeto decidem se, não quais

Antes de a partilha ser sequer considerada, o utilizador precisa de acesso ao nível do objeto através do seu perfil ou conjuntos de permissões:

Se um utilizador não tiver permissão Read em Opportunities, nenhuma regra de partilha do mundo lhe mostrará uma oportunidade. As permissões de objeto são o portão; o modelo de partilha é o que acontece depois de o atravessar.

Camada 2 — Os org-wide defaults definem o limite mínimo

Os org-wide defaults (OWD) definem o nível mais restritivo para cada objeto:

  • Private — só o proprietário do registo (e quem está acima dele na hierarquia de funções) o pode ver.
  • Public Read Only — todos podem visualizar, só o proprietário pode editar.
  • Public Read/Write — todos podem visualizar e editar.

Tudo o que se segue existe para alargar o acesso acima deste limite mínimo a pessoas específicas.

Camada 3 — A hierarquia de funções propaga o acesso para cima

Se a opção Grant Access Using Hierarchies estiver ativada para o objeto, qualquer pessoa acima do proprietário do registo na hierarquia de funções herda o acesso do proprietário. É por isto que um gestor de vendas vê os negócios dos seus comerciais sem qualquer regra explícita — e é, isoladamente, a razão mais comum para acessos inesperados.

Camada 4 — As regras de partilha abrem o acesso lateralmente

As regras de partilha estendem o acesso através da hierarquia, a pares e a outros ramos:

  • Baseadas na propriedade — partilham os registos detidos por um grupo de utilizadores com outro grupo.
  • Baseadas em critérios — partilham os registos que correspondem a valores de campos (por exemplo, Region = EMEA) com um grupo, função ou território.

Ambas concedem acesso a um grupo de utilizadores de uma só vez, o que torna uma regra baseada em critérios demasiado abrangente num culpado frequente quando “demasiadas” pessoas conseguem ver algo.

Camada 5 — Partilhas manuais e implícitas

  • Partilha manual — o botão Share num registo, que concede a um utilizador ou grupo específico acesso a esse único registo.
  • Partilha implícitacomportamento incorporado, como o acesso a uma conta-mãe que implica acesso limitado aos seus casos e contactos filhos.
  • Apex managed sharing — partilhas programáticas criadas por código personalizado, muitas vezes as mais difíceis de detetar.

Camada 6 — Equipas e territórios

  • As equipas de Account, Opportunity e Case concedem acesso a esse registo aos membros da equipa listados.
  • O Enterprise Territory Management concede acesso com base nos territórios a que um utilizador e um registo pertencem.

Juntando tudo: como rastrear qualquer acesso

Para responder a “por que motivo este utilizador vê este registo”, verifique cada camada até encontrar uma concessão:

  1. O utilizador tem Read no objeto (ou View All) através do perfil/conjunto de permissões?
  2. O OWD já é público para este objeto?
  3. Está acima do proprietário na hierarquia de funções?
  4. Alguma regra de partilha o inclui?
  5. Existe uma partilha manual, implícita ou em Apex?
  6. Está numa equipa, ou num território correspondente?

O primeiro “sim” é a sua resposta — e lembre-se de que pode haver mais do que um. Para a versão passo a passo deste rastreio, consulte um utilizador consegue ver um registo que não devia; o mesmo modelo rege quem pode ver um ficheiro, uma vez que os ficheiros herdam o acesso do registo.

É exatamente este o trabalho que o AgentForceAccess automatiza: pergunte em linguagem corrente por que motivo um utilizador vê um registo, e ele rastreia todas as camadas acima e cita a concessão exata que o permite.

Perguntas frequentes

Um System Administrator ignora o modelo de partilha?

Sim. As permissões "View All Data" e "Modify All Data" — atribuídas por defeito ao perfil System Administrator — ignoram por completo os org-wide defaults, as regras de partilha e a hierarquia de funções. As permissões de objeto "View All" / "Modify All" fazem o mesmo para um único objeto.

Se duas regras de partilha se aplicarem ao mesmo registo, qual prevalece?

A mais permissiva. O acesso no Salesforce é aditivo: concede a união de todas as regras aplicáveis. O acesso nunca pode ser reduzido por se adicionar outra regra — apenas alargado.

Porque é que um gestor vê registos que nunca lhe foram atribuídos explicitamente?

A hierarquia de funções concede aos gestores acesso aos registos detidos por (ou partilhados com) utilizadores abaixo deles na hierarquia, desde que a opção "Grant Access Using Hierarchies" esteja ativada para esse objeto.

As permissões de objeto e as definições de partilha fazem a mesma coisa?

Não. As permissões de objeto (nos perfis e conjuntos de permissões) decidem se um utilizador pode aceder a um objeto e o que pode fazer com ele. O modelo de partilha decide que registos específicos desse objeto pode ver.

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