Openflow Connector for Salesforce Bulk API: Configuração do Salesforce¶
Nota
O conector está sujeito aos Termos do conector Snowflake.
Este tópico descreve as etapas para configurar o Salesforce para o Openflow Connector for Salesforce Bulk API.
O conector é autenticado com o Salesforce usando o OAuth 2.0 JWT Bearer Flow. Isso exige criar um par de chaves de certificado, configurar um aplicativo de cliente externo no Salesforce e autorizar um usuário a utilizar o aplicativo.
Importante
O Salesforce descontinuou os aplicativos conectados para priorizar aplicativos de cliente externo. Se você já tem um aplicativo conectado, a Snowflake recomenda criar um novo aplicativo de cliente externo.
Criação de certificados¶
Você precisa de uma chave privada e um certificado público para configurar o aplicativo cliente externo no Salesforce. O conector usa a chave privada para assinar tokens JWT, e o certificado público é enviado ao aplicativo de cliente externo no Salesforce para que o Salesforce possa verificar a assinatura.
Gere a chave privada. Será solicitada uma senha para proteger a chave privada.
Registre a senha. Você precisará dela quando for configurar os parâmetros do conector no Snowflake.
Crie um certificado autoassinado a partir da chave privada.
Você também pode gerar uma solicitação de assinatura de certificado (CSR) para ter um certificado assinado pelo CA da empresa.
Nota
Você é responsável por proteger e alternar os arquivos de chave pública e chave privada usados para autenticar pares de chaves de acordo com as políticas de segurança de sua organização.
Criação de um aplicativo cliente externo no Salesforce¶
Crie um aplicativo cliente externo no Salesforce com fluxo do bearer JWT. O conector exige esse fluxo OAuth específico para autenticar. Usar um fluxo OAuth diferente (como um fluxo de código de autorização) causa erros do tipo invalid_grant.
Entre no Salesforce como administrador.
Acesse Setup » Apps » App Manager e selecione New External Client App.
Preencha os campos obrigatórios:
External Client App Name: Por exemplo,
Openflow connector for Salesforce Bulk API.Contact Email: Por exemplo,
salesforceadmin@mycompany.com.
Na seção API (Enable OAuth Settings), marque a caixa de seleção Enable OAuth.
Forneça um Callback URL válido (por exemplo,
https://www.google.com/).Nota
O Salesforce exige o URL de retorno de chamada, mas ele não é usado pelo JWT Bearer Flow. Você pode fornecer qualquer URL válido.
Forneça os OAuth Scopes desejados para o aplicativo. Os seguintes escopos são necessários para que o conector funcione corretamente:
Gerenciamento de dados do usuário via APIs (
api)Execução de solicitações a qualquer momento (
refresh_token,offline_access)
Em Flow Enablement, selecione a caixa de seleção Enable JWT Bearer Flow e carregue o arquivo
public.crtcriado na etapa anterior.Importante
Você deve selecionar Enable JWT Bearer Flow especificamente. Não habilite outros fluxos, exceto se você tiver um motivo específico. O certificado que você carregar aqui deve corresponder à chave privada (
private.key) que você configurar nos parâmetros do conector.Clique em Create para concluir o processo de criação do aplicativo.
Acesse a guia Settings, expanda a seção OAuth Settings e clique em Consumer Key and Secret para recuperar as credenciais do seu aplicativo.
Registre os valores de Consumer Key e Consumer Secret para usar ao configurar o conector no Snowflake. Consumer Key é usado como o parâmetro OAuth2 Client ID na configuração do conector.
Aprovar um aplicativo cliente para um usuário¶
O conector interage com as APIs Salesforce em nome de um usuário específico (o assunto OAuth2 configurado nos parâmetros do conector). Você precisa autorizar esse usuário a utilizar o aplicativo de cliente externo. Isso é feito atribuindo os perfis ou conjuntos de permissão apropriados.
Se essa etapa não for concluída, o conector receberá um erro de permissão ao tentar autenticar, mesmo que o JWT Bearer Flow esteja configurado corretamente.
Acesse a guia Policies do aplicativo cliente.
Clique em Edit.
Expanda a seção OAuth Policies e mude Permitted Users para Admin approved users are pre-authorized.
Expanda a seção App Policies e selecione os perfis ou conjuntos de permissões atribuídos ao usuário do Salesforce que você quer que o conector use. Por exemplo, se o usuário tiver o perfil
System Administrator, ele deve ser selecionado.Nota
O usuário especificado como o OAuth2 Subject na configuração do conector deve pertencer a pelo menos um dos perfis ou conjuntos de permissões selecionados aqui. Se o usuário não estiver autorizado, você receberá um erro de permissão ao verificar ou executar o conector.
Clique em Save.
Verificação da correspondência de credenciais¶
Antes de prosseguir com a configuração do Snowflake, confirme se todas estas credenciais pertencem ao mesmo aplicativo de cliente externo e par de chaves:
A chave do consumidor (ID de cliente) foi recuperada do aplicativo de cliente externo que você acabou de criar.
A chave privada (
private.key) corresponde ao certificado (public.crt) carregado para o mesmo aplicativo de cliente externo.O assunto OAuth2 (usuário) está autorizado para este aplicativo de cliente externo, graças à atribuição do perfil ou conjunto de permissões.
Se você criou vários aplicativos de cliente externos ou testou diferentes configurações, misturar credenciais de diferentes aplicativos ou pares de chaves é uma fonte comum de erros invalid_grant. Em caso de dúvida, crie um novo aplicativo de cliente externo usando um novo certificado e par de chaves.
Próximos passos¶
Execute as tarefas de configuração do Snowflake:
Openflow Connector for Salesforce Bulk API: configurar o Snowflake