Provedor de segurança de chave de API no Jitterbit App Builder
O provedor de segurança de Chave de API permite que administradores protejam APIs REST do App Builder usando um código de chave de API gerado pelo App Builder. O consumidor passa a chave de API para o App Builder ao fazer solicitações de API REST. Como cada chave de API está associada a um usuário individual, isso fornece tanto autenticação quanto autorização.
Definição e casos de uso
As chaves de API do App Builder consistem em um número aleatório criptograficamente gerado de 128 bits. As chaves são codificadas em base64url. Abaixo está um exemplo de uma chave de API:
DLOo9sPS5slJEMHpXBFt3g
As chaves de API têm as seguintes vantagens em relação à autenticação padrão por nome de usuário/senha:
- Elas têm maior entropia do que combinações de nome de usuário e senha.
- Elas podem sobreviver a uma redefinição de senha.
- Elas podem ser facilmente revogadas.
- Elas podem ser rotacionadas.
- Elas são mais rápidas. Senhas devem ser hashadas, o que é deliberadamente lento.
As desvantagens, ou fraquezas, das chaves de API incluem a gestão de sua distribuição e o risco de vazamentos. Alguns dos casos de uso onde as chaves de API podem ser o método de autenticação mais adequado incluem:
- Contas de nível de serviço
- Comunicação de aplicativo para aplicativo
- Comunicação de servidor para servidor
- Acesso somente leitura
- Informações não sensíveis
Adicionar um provedor de segurança de chave de API
Para adicionar um novo provedor de segurança de chave de API, siga estas etapas:
-
Vá para IDE > Provedores de Segurança. A página Segurança é aberta.
-
Na tabela Autenticação de Usuário, clique em + Autenticação de Usuário. O diálogo Provedor aparece:

-
Na seção Configurações, preencha estes campos:
-
Nome: Insira um nome para identificar seu provedor de segurança de chave de API.
-
Tipo: No menu suspenso, selecione Chave de API como o tipo de provedor de segurança que você está criando. Fazer isso alterará os demais campos que são exibidos no diálogo.
-
Prioridade: Insira um número para definir a ordem em que os provedores de segurança aparecem no formulário de login.
-
Ativado: Clique nesta caixa de seleção para ativar o novo provedor de segurança.
-
Identificador: Este campo é gerado automaticamente pelo App Builder.
-
-
Na seção Chaves, preencha estes campos:
-
Expiração Padrão: Insira quantos minutos para a duração padrão das novas chaves. (Alterar este campo não afeta chaves existentes.)
-
Expiração Máxima: Insira quantos minutos para a duração máxima das novas chaves. (Alterar este campo não afeta chaves existentes.)
-
Comprimento: Insira o comprimento (em bytes) das novas chaves. (Alterar este campo não afeta chaves existentes.)
-
-
Clique em Salvar.
Após salvar um novo provedor de segurança de chave de API, você será levado de volta à página Segurança, onde a tabela Autenticação de Usuário mostrará o novo que você acabou de criar. Ao clicar no ícone no final de sua linha, você pode continuar configurando-o.
Configurar um provedor de segurança de chave de API
Para configurar seu provedor de segurança de chave de API, vá para IDE > Provedores de Segurança. Localize-o na tabela Autenticação de Usuário e clique no ícone no final de sua linha. A página Provedor será exibida, onde você pode adicionar configurações adicionais. O painel Provedor à esquerda mostra as mesmas configurações e chaves que foram exibidas quando você criou o provedor de segurança. O painel Propriedades à direita permite que você configure alguns parâmetros extras, descritos abaixo.
Para adicionar uma nova propriedade, clique no botão + Propriedade. Isso abrirá o diálogo Propriedades, que contém os campos Parâmetro e Valor. Os seguintes parâmetros estão disponíveis:

Nota
Nenhum desses parâmetros é obrigatório. Você deve adicioná-los apenas se houver necessidade de alterar a forma como sua chave de API será passada a partir da configuração padrão. Veja Passar uma chave de API para saber mais.
-
AllowApiKeyInQueryString: Use este parâmetro para permitir que a chave da API seja passada na string de consulta em vez de no cabeçalho HTTP (veja a seção Passar uma chave da API). O valor padrão éFalse. -
AllowInsecureHttp: Use este parâmetro para permitir que a chave da API seja passada por meio de uma solicitação HTTP insegura em vez de uma solicitação HTTPS segura (veja a seção Passar uma chave da API). O valor padrão éFalse. -
HttpHeaderName: Use este parâmetro para alterar o nome do cabeçalho HTTP que passará a chave da API do padrãoX-API-Key. -
QueryStringParameterName: Quando você também tiver usado a opçãoAllowApiKeyInQueryStringpara passar a chave da API por meio de um dos parâmetros da string de consulta, pode usar esta opção para alterar o nome do parâmetro do nome padrãoapiKey(veja a seção Passar uma chave da API).
Clique em Salvar e feche o diálogo de Propriedades. O novo parâmetro que você adicionou será listado na tabela de Propriedades.
Gerar uma chave da API
Quando você tiver um provedor de segurança de chave da API configurado, pode gerar chaves da API associadas a usuários seguindo estas etapas:
-
Vá para IDE > Runtime > Gerenciamento de Usuários.
-
O painel Usuários lista todos os usuários. Localize o usuário para o qual deseja gerar uma chave da API e clique no ícone no final da sua linha.
-
No diálogo Usuário, clique em Mais > Chaves. O diálogo Chaves será aberto.
-
Clique em Criar. O diálogo Gerar Chave será aberto.
-
No menu Provedor, selecione o provedor de segurança de chave da API que você criou.
-
(Opcional) Forneça uma Descrição para esta chave e insira um tempo de expiração personalizado no campo Expira Em.
-
Clique em Salvar. A chave da API será criada.
Passar uma chave da API
Na maioria dos cenários, a Jitterbit recomenda que o cliente passe a chave da API por meio de um cabeçalho personalizado em uma conexão HTTPS segura para limitar o risco de exposição. O seguinte exemplo ilustra isso:
GET /Vinyl/rest/v1/sales/customers HTTP/1.1
Host: example.com:443
Accept: application/json
X-API-Key: ABCd0eFG1hiJKLMnOPQr2s
Esse é o comportamento padrão, que o App Builder seleciona automaticamente. Você também pode usar o parâmetro HttpHeaderName ao configurar sua chave de API para alterar o nome do cabeçalho HTTP que irá passar a chave de API do padrão X-API-Key.
Os seguintes exemplos são algumas exceções a essa recomendação:
-
Em alguns cenários, conexões HTTPS podem ser encerradas prematuramente. Para contornar esse problema, você pode forçar o App Builder a aceitar chaves de API enviadas via conexões HTTP definindo o parâmetro
AllowInsecureHttpcomoTruedurante a configuração da chave de API. -
Nos casos em que você não tem acesso aos cabeçalhos da solicitação HTTP, também é possível enviar a chave de API via parâmetros da string de consulta. Para habilitar essa opção, defina
AllowApiKeyInQueryStringcomoTruenas configurações da chave de API. O exemplo abaixo ilustra como a chave de API é passada nesse cenário:GET /Vinyl/rest/v1/sales/customers?apiKey=ABCd0eFG1hiJKLMnOPQr2s HTTP/1.1 HOST: example.com:443 Accept: application/jsonNota
No exemplo acima, a chave foi enviada sob o nome
apiKey. Você pode alterar isso acessando a configuração da chave de API e adicionando o parâmetroQueryStringParameterNamepara escolher um nome diferente.