Introdução à proteção de segredos
Objetivos de aprendizagem
Após concluir esta unidade, você estará apto a:
- Explicar o que são segredos de aplicativos.
- Explicar de quem você precisa guardar os segredos de aplicativos.
- Listar três riscos de expor segredos de aplicativos aos administradores do Salesforce.
O que são segredos?
Praticamente todos os aplicativos lidam com dados confidenciais de um tipo ou de outro, seja a senha que um usuário digita para se autenticar no aplicativo ou uma chave de criptografia que protege os dados em repouso. Esses dados são chamados de segredos de aplicativos. Se invasores ou usuários mal-intencionados tiverem acesso ao segredo, poderão usá-lo para acessar informações ou sistemas confidenciais.
É importante que os desenvolvedores considerem como proteger os segredos em qualquer plataforma, incluindo o Salesforce. Neste módulo, você aprenderá a identificar segredos em seus aplicativos e a determinar o método mais eficaz para armazenar e proteger esses segredos.
Aqui estão alguns exemplos comuns de segredos: dados que podem ser usados para verificar os privilégios de um usuário em uma determinada situação.
- Senhas e frases secretas
- Criptografia e chaves de API
- Tokens OAuth
Além desses exemplos, sua empresa pode considerar outras formas de dados como secretos e sujeitos a proteção adicional. Por exemplo, você pode estar sujeito a um requisito regulatório para criptografar alguns tipos de dados de usuários.
De quem você está protegendo seus segredos?
Agora que você sabe o que deve ser protegido, considere de quem você protege essas informações. Talvez você esteja pensando em um invasor. Você quer proteger dados confidenciais de invasores externos que tentam entrar na sua instância do Salesforce. Mas pense também nos riscos de expor segredos a outros usuários, incluindo administradores do Salesforce, desenvolvedores do AppExchange e clientes.
Considere as seguintes hipóteses.
- Um usuário baixa um malware sem querer e sua sessão do Salesforce fica comprometida.
- Um funcionário descontente foi recentemente demitido, mas que ainda tem acesso aos sistemas da sua empresa.
- Um usuário de comunidades de CRM descobre que tem acesso privilegiado à API.
Em cada hipótese, um segredo não protegido corretamente pode ficar visível para alguém que não deveria ter acesso a ele. Por esses motivos, é bom proteger segredos de diferentes tipos de usuários, incluindo:
-
Usuários padrão: usuários com licenças normais e permissões gerais do Salesforce
-
Usuários externos: usuários com permissões reduzidas, possivelmente usando uma licença de comunidades ou visualizando dados em um site Force.com
-
Usuários administradores com acesso administrativo: usuários com licenças normais do Salesforce, mas permissões mais específicas, como Modificar todos os dados
Lembre-se de que nem todo segredo precisa ser protegido de todo tipo de usuário. Este módulo tem como objetivo fornecer ferramentas para proteger os segredos dos aplicativos, de modo que até mesmo os dados mais confidenciais possam ser armazenados com segurança no Salesforce.
Por que proteger segredos de administradores?
Os administradores estão em posições de maior confiança em relação a outros usuários porque têm um nível maior de acesso ao sistema. Aderir ao princípio do menor privilégio: conceder apenas os menores privilégios que um usuário, programa ou processo precisa para desempenhar a função que lhe foi atribuída. Conceder ao administrador acesso a itens adicionais, como chaves de criptografia, pode parecer inofensivo, mas veja algumas coisas que devem ser consideradas.
- Se um segredo armazenado for a senha para um serviço externo, o administrador do Salesforce poderá não estar autorizado a acessar o serviço diretamente. Portanto, para proteger esse serviço, você quer garantir que eles não possam acessar a senha.
- O segredo armazenado pode ser uma chave de criptografia que nenhum usuário, inclusive o administrador, pode acessar. E assim, mais uma vez, você quer garantir que nem o administrador possa acessá-la.
- Se um administrador tem acesso ao segredo, um invasor pode tentar obtê-lo comprometendo a conta desse administrador.
Só porque alguém pode acessar algo isso não significa que deveria!
Agora que você já sabe a importância de proteger segredos, pode determinar o método mais eficaz para armazenar e proteger segredos à medida que você desenvolve o aplicativo. Em seguida, veja como usar os recursos de segurança da Salesforce Platform.