Provedores e identidades no Jitterbit App Builder
Visão geral
Toda aplicação App Builder, fonte de dados e serviço web precisa de uma forma de confirmar quem ou o quê está fazendo uma solicitação e controlar o que esse solicitante pode fazer. O App Builder lida com ambos através de provedores de segurança, que são módulos configuráveis independentemente que você habilita e configura para corresponder ao seu ambiente, em vez de um único sistema de login integrado. Por exemplo, um provedor de segurança pode verificar um nome de usuário e senha na própria tabela de usuários do App Builder, outro pode validar uma chave de API enviada por um sistema externo, e um terceiro pode delegar a decisão inteiramente a um serviço de identidade de terceiros, como Salesforce ou um provedor de SSO.
Alguns provedores de segurança também suportam identidades: registros que vinculam uma conta de usuário ou grupo definido por um sistema externo, como um provedor de identidade de terceiros ou uma fonte de dados externa, ao seu usuário ou grupo de segurança correspondente do App Builder. Uma identidade é o que permite que o App Builder reconheça um usuário que se conecta através de um provedor externo como um usuário específico e já existente do App Builder, em vez de tratar cada conexão externa como desconhecida.
Esta página aborda:
-
Provedores
Os tipos de provedor padrão que o App Builder oferece e como certos serviços web (REST, Webhook e App Builder Connector) podem ser associados a provedores específicos. -
Gerenciamento de identidades
Como os provedores mapeiam contas de usuário externas e grupos de segurança para usuários e grupos do App Builder.
Provedores
Nem todo provedor de segurança faz o mesmo trabalho. Dependendo do seu tipo, um provedor de segurança pode desempenhar um ou mais dos seguintes papéis:
- Autenticação de usuário: Confirma a identidade de uma pessoa que se conecta a uma aplicação App Builder.
- Autenticação de fonte de dados: Confirma a identidade que o próprio App Builder apresenta quando se conecta a uma fonte de dados externa, como um banco de dados ou uma API de terceiros.
- Segurança em nível de conexão: Protege a conexão subjacente entre o App Builder e uma fonte de dados, independentemente da identidade usada para autenticar.
- Políticas de autorização: Governa o que um usuário ou conexão já autenticado pode fazer, diferente de confirmar quem são.
Cada provedor de segurança que você configura define seu próprio conjunto de parâmetros, que o administrador do site define para corresponder ao seu ambiente. O App Builder oferece uma configuração padrão que já habilita um conjunto inicial de provedores de segurança, portanto a autenticação geralmente funciona pronta para uso; os administradores podem ajustar, desabilitar ou adicionar a esses conforme necessário. Você também pode importar e exportar configurações de provedor de segurança.
Tipos de provedor padrão
O App Builder oferece os seguintes tipos de provedor padrão, cada um cobrindo um esquema de autenticação ou autorização específico. Selecione o nome de um provedor para seu guia de configuração.
| Tipo de provedor | Descrição |
|---|---|
| Active Directory (AD) | Provedor de autenticação baseado em formulários. |
| Chave de API | Provedor de autenticação de API REST. |
| Servidor de autorização | Permite que o App Builder funcione como um servidor de autorização OAuth 2.0 e OpenID Connect (OIDC). |
| HTTP | Autentica solicitações de cliente HTTP para APIs REST. |
| Autenticação integrada do Windows (IWA) | Esquema de SSO para domínios Active Directory. |
| Jitterbit Harmony | Autentica solicitações HTTP para endpoints do Jitterbit API Manager. |
| JWT SSO | Protocolo de logon único (SSO) personalizado. |
| Usuário local | Provedor de autenticação baseado em formulários. |
| OAuth | Provedor de autorização OAuth. |
| OData | Esquemas de autenticação de fonte de dados OData. |
| OpenID Connect | Habilita suporte para OpenID Connect 1.0. |
| Reescrever URL | Restaura uma URL reescrita por um proxy reverso. |
| Salesforce | Autenticação e autorização do Salesforce usando OAuth2. |
| SAML | SAML Single Sign-On (SSO). |
| Provedor de identidade SAML | Autenticação SAML Single Sign-On (SSO). |
| Serviços SAP OData | Esquemas de autenticação do SAP NetWeaver Gateway OData Service. |
| SuccessFactors OData | Esquemas de autenticação de serviço web SuccessFactors OData. |
| Senha Successfactors | Provedor de autenticação de usuário baseado em formulários. |
| Provisionamento de usuário | Registro de usuário programático. |
| Gerenciamento de acesso web (WAM) | Esquema de SSO para sistemas legados de gerenciamento de acesso web. |
| WS-Federation | WS-Federation SSO. |
Associações de serviço web
Um serviço web, neste contexto, é um endpoint que sistemas externos chamam programaticamente, em vez de uma página que uma pessoa acessa. Desde o App Builder 4.67, três tipos de serviço web devem ser explicitamente associados a provedores específicos e individualmente configurados permitidos para autenticar suas solicitações. Anteriormente, qualquer provedor habilitado de um tipo elegível podia autenticar solicitações para qualquer serviço web, independentemente do tipo.
| Serviço web | Caminho | Tipos de provedor elegíveis | Configurar autenticação |
|---|---|---|---|
| REST API | /rest/v1 |
Chave de API, HTTP, Servidor de Autorização | Publicar um app Jitterbit App Builder como endpoint de REST API |
| Webhook | /webhook/v1 |
Chave de API, HTTP, Servidor de Autorização | Webhooks no Jitterbit App Builder |
| App Builder Connector | /connect/v1 |
Chave de API, HTTP, Servidor de Autorização | App Builder Connector no Jitterbit App Builder |
Cada instância de serviço web (cada endpoint REST individual, endpoint Webhook ou aplicação Remote Connector) é associada a provedores específicos e individualmente configurados desses tipos, não apenas ao tipo em geral; as páginas vinculadas descrevem como fazer essa associação. Ao atualizar de uma versão anterior do App Builder, uma migração associa automaticamente cada provedor existente de um tipo elegível a cada serviço web existente do tipo correspondente, para que as integrações existentes continuem autenticando sem reconfiguração manual. Um serviço web criado após atualizar para o App Builder 4.67 não é automaticamente associado a nenhum provedor e não autenticará nenhuma solicitação até que você associe explicitamente um.
Gerenciamento de identidade
Quando um provedor de segurança delega autenticação a um sistema externo, seja um provedor de identidade de terceiros como Salesforce ou SAML SSO, ou uma fonte de dados externa, o App Builder precisa de uma forma de traduzir o que esse sistema externo relata sobre o usuário em seus próprios termos: uma conta de usuário específica do App Builder e, opcionalmente, os grupos de segurança do App Builder dos quais as permissões desse usuário devem vir. Esta seção aborda os dois mecanismos que o App Builder usa para fazer essa tradução:
- Identidades, que mapeiam uma conta de usuário externa para um usuário do App Builder.
- Grupos de provedor, que mapeiam um grupo, função ou escopo externo para um grupo de segurança do App Builder, para que as permissões de um usuário possam ser derivadas de sua associação a grupos externos, em vez de serem atribuídas a cada usuário individualmente.
Identidades
Uma identidade vincula uma conta de usuário externa, conforme relatado por um provedor de segurança específico, a um usuário do App Builder. Sempre que esse provedor autentica uma solicitação em nome de uma conta externa, o App Builder precisa de uma identidade correspondente para saber qual de seus próprios usuários a conta representa. Sem uma, o App Builder não tem como saber qual usuário do App Builder a conta externa representa. Um usuário pode ter apenas uma identidade por provedor de segurança, mas pode ter identidades separadas para diferentes provedores, por exemplo, se a mesma pessoa conseguir fazer login tanto pelo Salesforce quanto pelo SAML SSO.
As identidades têm as seguintes propriedades:
- Provedor: O provedor de segurança (usuário ou fonte de dados) que possui a identidade.
- Nome: O nome de usuário único atribuído pelo provedor de segurança. Durante a autenticação, um provedor de identidade externo normalmente retorna um conjunto de declarações, informações sobre o usuário, como seu nome ou uma ID única, transportadas no token de autenticação ou asserção; essa propriedade corresponde à declaração
Name. - Identificador: Um identificador único e imutável atribuído pelo provedor de segurança, correspondendo à declaração
NameIdentifier. Diferentemente deName, esse parâmetro é opcional, mas recomendado quando o provedor o suporta, pois não muda mesmo se o nome ou nome de usuário do usuário mudar posteriormente.
Identidades são necessárias ao delegar a autenticação de usuários para provedores de segurança externos, como Salesforce ou SAML Single Sign-On (SSO). Para concluir o login, o App Builder utiliza as declarações fornecidas pelo provedor e procura por uma identidade correspondente, verificando primeiro a declaração NameIdentifier e recorrendo à declaração Name se nenhuma correspondência for encontrada.
Identidades também são relevantes para a autenticação de fonte de dados. A maioria das conexões de fonte de dados autentica como uma única conta de serviço compartilhada, o que significa que todos os usuários do App Builder acessam a fonte de dados com a mesma credencial. Algumas fontes de dados, porém, suportam autenticação restrita ao usuário, onde a conexão autentica como o usuário específico do App Builder conectado. Para essas, o provedor de segurança utiliza o Name da identidade, se definido para o usuário, recorrendo ao nome de usuário do App Builder se não estiver; o Identifier da identidade não é utilizado para esse fim.
Grupos de provedores
Além de identidades individuais, um provedor externo também pode definir seus próprios grupos de segurança, às vezes chamados de funções ou escopos, que agrupam múltiplos usuários, por exemplo, uma função "Gerentes de Vendas" do Salesforce ou um grupo "Financeiro" de um IdP SAML. Em vez de atribuir permissões a cada usuário individualmente através de sua identidade, um administrador de segurança pode mapear cada um desses grupos externos para um único grupo de segurança do App Builder, de modo que todos os usuários pertencentes ao grupo externo herdem automaticamente as permissões concedidas ao grupo de segurança correspondente do App Builder.
Os grupos de provedores de segurança possuem as seguintes propriedades:
- Provedor: O provedor de segurança (usuário ou fonte de dados) ao qual o grupo pertence.
- Identificador: O nome único atribuído ao grupo pelo provedor de segurança.
- Grupo: O grupo de segurança do App Builder ao qual o grupo do provedor de segurança está mapeado.
Registro
Antes que um grupo de provedor de segurança possa ser mapeado, ele deve primeiro existir no App Builder como um registro. Os grupos de provedores de segurança podem ser registrados de duas formas:
- Manual: Administradores fazem login no App Builder e adicionam grupos de provedores de segurança diretamente. Isso geralmente é necessário para provedores de segurança de fonte de dados, que não têm como relatar seus grupos ao App Builder por conta própria.
- Automático: O App Builder registra novos grupos de provedores de segurança dinamicamente, durante o processo de autenticação do usuário, atualizando a associação de grupo do usuário ao mesmo tempo. Os provedores de segurança SAML e WS-Federation suportam isso, mas apenas uma vez habilitado explicitamente usando a flag Supplies Group Membership desse provedor.
Mapeamento
Independentemente de como um grupo de provedor de segurança é registrado, ele pode ser mapeado para um grupo de segurança do App Builder. Cada grupo de provedor de segurança pode ser mapeado para um, e apenas um, grupo de segurança do App Builder; múltiplos grupos de provedores de segurança, porém, podem ser mapeados para o mesmo grupo de segurança do App Builder.
Associação
Um grupo de provedor de segurança estende a associação de grupo de segurança do App Builder de um usuário em vez de substituí-la. Ao calcular os direitos de acesso de um usuário, o App Builder leva em conta tanto os grupos de segurança aos quais o usuário pertence diretamente quanto os grupos de segurança aos quais o usuário pertence por meio de um grupo de provedor de segurança mapeado.