Ativar conjuntos de permissões baseados em sessão sem código
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Mencionar as maneiras pelas quais você pode ativar um conjunto de permissões baseado em sessão.
- Explicar por que você pode querer usar ferramentas declarativas para ativar um conjunto de permissões baseado em sessão.
- Ativar uma permissão baseada em sessão sem código.
Acompanhar com o Trail Together
Deseja acompanhar um especialista enquanto trabalha nesta etapa? Veja este vídeo que faz parte da série Trail Together.
(Este clipe começa na marca dos 11:24 minutos, caso você queira retroceder e ver o início da etapa novamente.)
Acessibilidade
Esta unidade requer algumas instruções adicionais para usuários de leitores de tela. Para acessar uma versão detalhada desta unidade para leitores de tela, clique no link abaixo.
Abrir as instruções do leitor de tela do Trailhead.
Opções de ativação para conjuntos de permissões baseados em sessão
Agora que você criou um conjunto de permissões baseado em sessão, vamos torná-lo utilizável. Para torná-lo utilizável, você precisa ter uma maneira de ativar uma sessão para o conjunto de permissões. Se você gosta de botar a mão na massa com as APIs, pode fazer isso, não vamos impedir. O objeto PermissionSet na Soap API contém um campo chamado HasActivationRequired, um operador booleano que indica se o conjunto de permissões requer uma sessão ativa associada (true) ou não (false). Insira um registro no objeto SessionPermSetActivation com a combinação de ID e conjunto de permissões da sessão para realizar a ativação.
Não sabe programar? Tudo bem. O Salesforce tem uma ótima ferramenta declarativa que você pode usar desde já: o Flow Builder. Usaremos um fluxo para ajudar a tornar seu processo de ativação de sessão mais suave, mesmo que você não programe.
Começar a trabalhar
Antes de mergulhar de cabeça, é melhor se familiarizar com o uso do Flow Builder. Se você não estiver familiarizado com fluxos, não tem problema. Criamos um simples aqui. Na verdade, esse fluxo funciona com apenas uma etapa! Porém, você provavelmente já sabe que o Trailhead já está preparado para ajudar se você quiser aprender mais – e nós o incentivamos a fazer isso. Confira a trilha Criar fluxos com o Flow Builder. Mas é preciso ter as permissões para acessar fluxos para continuar! Vamos verificar as permissões agora mesmo.
- Acesse seu perfil. Em Setup (Configuração), acesse Users (Usuários) e selecione seu perfil. Você provavelmente está usando o perfil de Administrador do sistema.
- Procure Gerenciar o Flow e verifique se essa opção está selecionada.
Quando testarmos nosso conjunto de permissões baseadas em sessão posteriormente, também faremos login como outro usuário. Vamos nos certificar de que os administradores do Salesforce tenham essa capacidade enquanto estamos fazendo isso.
- Em Setup (Configuração), acesse Login Access Policies (Políticas de acesso de login).
- Habilite Administrators Can Log in as Any User (Administradores podem fazer login como qualquer usuário).
- Clique em Save (Salvar).
Agora, de volta ao nosso fluxo para conjuntos de permissões baseados em sessão.
- Em Setup (Configuração), insira
Flows
(Fluxos) na caixa Busca rápida, selecione Flows (Fluxos) e clique em New Flow (Novo fluxo).
- Verifique se Start from Scratch (Começar do zero) foi selecionado e clique em Next (Avançar).
- Selecione Fluxo de tela e clique em Criar.
- Na tela do fluxo, no caminho a seguir ao elemento Start (Iniciar), clique em . Selecione Action (Ação).
- Em Search Actions (Pesquisar Ações), comece a digitar
Activate
(Ativar) e selecione Activate Session-Based Permission Set (Ativar conjunto de permissões baseado em sessão).
- Em Label (Rótulo), use
Activate Employment Contracts Access
(Ativar acesso a contratos de emprego). O nome da API é Ativar_acesso_a_contratos_de_emprego por padrão.
- Em Set Input Values (Definir valores de entrada) de Selected Action (Ação selecionada), para Permission Set Name (Nome do conjunto de permissões), insira
Employment_Contracts_Access
. (Esse valor é o nome da API de seu conjunto de permissões!)
- Salve seu fluxo como Fluxo de tela, com o nome
Activate Contracts Access
(Ativar acesso a contratos).
O fluxo ficará assim.
As etapas de criação de fluxo eram fáceis, não é? Tão fáceis, na verdade, que, se você for um usuário experiente de fluxos, provavelmente está pensando: “Não podemos fazer um fluxo maior?”. Podemos. No momento, porém, estamos concentrados em usar conjuntos de permissões baseados em sessão, então vamos continuar. Execute o fluxo do Flow Builder clicando em Run (Executar). A execução do fluxo ativa o conjunto de permissões. Mas depois de clicar em Run (Executar), você verá uma tela de erro. Opa! Agora, verifique seu email.
O que foi? “Verifique seu email”?
Sim. O motivo é que você também receberá uma mensagem explicando o erro que você viu no Salesforce. Parece que ainda não há ninguém atribuído ao conjunto de permissões Acesso a contratos de emprego. Se você tiver problemas ao trabalhar com seu fluxo, verifique se recebeu emails sobre erros. Lembre-se de que estamos trabalhando com três áreas diferentes: conjuntos de permissões, atribuições de usuário e fluxos. Os detalhes nos emails podem ajudá-lo a solucionar problemas rapidamente. Por exemplo, você receberá um erro se fizer referência a um nome de conjunto de permissões inexistente em seu fluxo, se seu fluxo tiver problemas lógicos ou se você não tiver atribuído a um usuário o conjunto de permissões referenciado no fluxo. Nesse caso, você receberá um email com detalhes sobre a falta de atribuição de usuário.
Ocorreu um erro: O conjunto de permissões deve ser pré-atribuído ao usuário antes de ser ativado
Lembra que dissemos que você poderia ignorar o aviso que recebeu antes porque ainda estamos criando esse fluxo? Você também pode ignorar esse erro. (Atribuímos o conjunto de permissões para um usuário a seguir.) Em geral, provavelmente você atribui usuários ao seu conjunto de permissões primeiro. No entanto, digamos que você se esqueceu de atribuir um novo funcionário ao conjunto de permissões. O que aconteceria se essa pessoa tentasse executar o fluxo? É claro que você já sabe a resposta.
É bom conhecer alguns erros que você ou os usuários podem encontrar e têm soluções fáceis. Agora, ative seu fluxo: volte ao Flow Builder e clique em Activate (Ativar). Ativar seu fluxo sem um usuário atribuído ao conjunto de permissões não fará mal. No entanto, nosso fluxo não pode realizar o que precisamos até que alguém seja atribuído ao conjunto de permissões.
Queremos que nosso usuário possa editar e criar contratos quando o conjunto de permissões baseado em sessão estiver ativado. Essa pessoa é gerente de contratação e precisa de acesso a contratos de emprego para terceirizados. Certifique-se de que a pessoa tenha atualmente acesso somente de leitura (sem edição ou criação) ao objeto Contracts (Contratos). A pessoa também deve ser capaz de executar fluxos.
Lembra-se de Lynda Herman, que você criou no desafio prático da primeira unidade? Vamos usá-la! Só precisamos ativar algumas permissões adicionais antes de continuarmos.
- Em Setup (Configuração), vá para Profiles (Perfis). Selecione Minimum Access - Salesforce Clone (Acesso mínimo - Clone do Salesforce) (você criou esse perfil na última unidade e o atribuiu à Lynda).
- Na caixa Find Settings (Localizar configurações), pesquise e clique em Lightning Experience User (Usuário do Lightning Experience). Na página System Permissions (Permissões do sistema), habilite Lightning Experience User (Usuário do Lightning Experience).
- Na caixa Find Settings (Localizar configurações), pesquise e clique em Manage Flow (Gerenciar fluxo). Na página App Permissions (Permissões do aplicativo), clique em Manage Flow (Gerenciar fluxo).
- Na caixa Find Settings (Localizar configurações), pesquise e selecione o objeto Contracts (Contratos). Habilite a permissão Read (Ler).
- Em Setup (Configuração), acesse Permission Sets (Conjuntos de permissões).
- Atribua à Lynda o conjunto de permissões Employment Contracts Access (Acesso a contratos de trabalho) que você criou anteriormente.
Agora, faça login como Lynda e acesse o objeto Contracts (Contratos). Você pode ver os contratos. No entanto, não há botão Novo, então você não pode criar um no momento.
Mantenha-se conectado como Lynda, vá para Flows (Fluxos) em Setup (Configuração) e execute o fluxo Activate Contracts Access (Ativar acesso a contratos). Se você for até o objeto Contratos, observe que agora há um botão Novo disponível para criar um contrato.
No restante da sessão atual, o usuário tem acesso para criar, ler, editar e excluir o objeto Contratos e acesso para editar o nome do contrato, a data de início do contrato e os termos do contrato (meses). Mas provavelmente não queremos que nossos usuários executem fluxos a partir da Configuração sempre que forem criar ou alterar um contrato. Na próxima unidade, tornaremos o processo mais fácil para todos.
Recursos
- Ajuda do Salesforce: Criar um fluxo que possa ativar ou desativar um conjunto de permissões baseado em sessão
- Trailhead: Criar fluxos com o Flow Builder