Configurando o App Builder como um provedor de identidade no Jitterbit App Builder
O App Builder pode atuar tanto como um Provedor de Serviço SAML (SP) quanto como um Provedor de Identidade SAML (IdP). Isso permite que uma instância do Viny (o IdP) autentique usuários em nome de outra instância (o SP).
Existem quatro tarefas principais envolvidas:
- Gerar um certificado de assinatura.
- Criar um provedor de segurança SAML IdP.
- Criar um provedor de segurança SAML SP.
- Testar
As instruções abaixo fazem as seguintes suposições:
- Você possui pelo menos duas instâncias do App Builder.
- Você tem acesso de administrador a cada instância do App Builder.
As instruções abaixo se referirão às seguintes propriedades:
Exemplo | Notas | |
---|---|---|
URL do App Builder IdP | https://idp.example.com/Vinyl/ | A URL raiz da aplicação da instância do App Builder que atua como o IdP. Inclui a barra final. |
URL do App Builder SP | https://sp.example.com/Vinyl/ | A URL raiz da aplicação da instância do App Builder que atua como o SP. Inclui a barra final. |
Nome do Provedor de Segurança IdP | VinylIdP | Cada provedor de segurança do App Builder recebe um nome lógico. Este nome é usado no Endpoint de Redirecionamento de Solicitação (veja abaixo). |
Nome do Provedor de Segurança SP | VinylSP | Cada provedor de segurança do App Builder recebe um nome lógico. Este nome é usado na URL do Serviço de Consumidor de Aserção (ACS) (veja abaixo). Este é o nome que os usuários verão no formulário de login. |
Endpoint de Redirecionamento de Solicitação | https://idp.example.com/Vinyl/signin-VinylIdP | O App Builder provisiona automaticamente um Endpoint de Redirecionamento de Solicitação para provedores de segurança SAML IdP. Observe que o Nome do Provedor de Segurança IdP (acima) aparece no Endpoint de Redirecionamento de Solicitação. |
URL do Serviço de Consumidor de Aserção | https://sp.example.com/Vinyl/signin-VinylSP | O App Builder provisiona automaticamente um endpoint de Serviço de Consumidor de Aserção (ACS) para provedores de segurança SAML SP. Observe que o Nome do Provedor de Segurança SP aparece no endpoint ACS. |
Gerar um certificado de assinatura
No SAML Single Sign-On (SSO), a confiança é estabelecida por meio de certificados de assinatura. O processo para adquirir um certificado está fora do escopo deste documento. No entanto, para fins ilustrativos, os seguintes comandos demonstram como gerar um certificado compatível usando a ferramenta de linha de comando OpenSSL.
O seguinte comando gera uma chave privada codificada em PEM (key.pem
) e um certificado autoassinado (cert.pem
):
$ openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -nodes -days 1095 -subj "/CN=idp.example.com/O=App BuilderIdP"
Você precisará do conteúdo do arquivo cert.pem
para configurar o provedor de segurança App Builder SP.
O seguinte comando gera um arquivo PKCS#12 (cert.pfx
) contendo tanto a chave privada quanto o certificado:
$ openssl pkcs12 -export -in cert.pem -inkey key.pem -out cert.pfx
Você será solicitado a fornecer uma senha. Você precisará da senha para configurar o provedor de segurança App Builder IdP.
Finalmente, o seguinte comando codifica em base64 o arquivo PKCS#12:
$ openssl base64 -in cert.pfx -out cert.txt -A
Você precisará do conteúdo do arquivo cert.txt
para configurar o provedor de segurança App Builder IdP.
Criar um provedor de segurança SAML IdP
Para criar um provedor de segurança SAML IdP, comece fazendo login na instância do App Builder que servirá como o IdP.
- Navegue até o IDE
- Clique no botão Provedores de Segurança
- No painel Autenticação de Usuário, clique no botão + Autenticação de Usuário
-
Forneça o seguinte:
- Nome: Nome do Provedor de Segurança IdP, por exemplo,
VinylIdP
- Tipo: Provedor de Identidade SAML
- Nome: Nome do Provedor de Segurança IdP, por exemplo,
-
Clique no botão Salvar
-
No painel Propriedades, clique no botão + Propriedade para adicionar cada uma das seguintes propriedades:
- AssertionConsumerService: URL do Serviço de Consumidor de Assertivas, por exemplo,
https://sp.example.com/Vinyl/signin-VinylSP
. - Audience: URL do App Builder SP, por exemplo,
https://sp.example.com/Vinyl/
. - Issuer: URL do App Builder IdP, por exemplo,
https://idp.example.com/Vinyl/
. - Recipient: URL do Serviço de Consumidor de Assertivas, por exemplo,
https://sp.example.com/Vinyl/signin-VinylSP
. - SigningCertificate: arquivo PKCS#12 codificado em base64 (veja Gerar um Certificado de Assinatura).
- SigningCertificatePassword: senha do certificado de assinatura (veja Gerar um Certificado de Assinatura).
- AssertionConsumerService: URL do Serviço de Consumidor de Assertivas, por exemplo,
-
No painel Claims, clique no botão + Claim para mapear cada uma das seguintes propriedades:
- Name:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
- Group:
http://schemas.xmlsoap.org/claims/Group
- Name:
-
No painel Provider, clique no botão Edit
- Marque a opção Enabled
- Clique no botão Save
Os passos acima incluem uma reivindicação de grupo. A reivindicação de grupo é usada para passar a filiação a grupos para o SP. No entanto, os grupos não são passados por padrão. Para passar um grupo, é necessário adicioná-lo ao provedor de segurança do IdP. Por exemplo:
- Navegue até o IDE
- Clique no botão User Management
- Clique no botão Identities
- Selecione o provedor de segurança do IdP, por exemplo,
VinylIdP
- No painel Provider Groups, clique no botão + Group
- Forneça um Name, por exemplo,
Administrators
- Selecione o Group, por exemplo,
Administrators
- Clique no botão Save
Criar um provedor de segurança SAML SP
Para criar um provedor de segurança SAML SP, comece fazendo login na instância do App Builder que servirá como o SP.
- Navegue até o IDE
- Clique no botão Security Providers
- No painel User Authentication, clique no botão + User Authentication
-
Forneça o seguinte:
- Name: Nome do Provedor de Segurança SP, por exemplo,
VinylSP
. - Type: SAML
- User Provisioning: Marque para habilitar o provisionamento de usuários.
- Show On Login Form: Marque para mostrar o provedor de autenticação no formulário de login.
- Name: Nome do Provedor de Segurança SP, por exemplo,
-
Clique no botão Save
-
No painel Properties, clique no botão + Property para adicionar cada uma das seguintes propriedades:
- Audience: URL do SP do App Builder, por exemplo,
https://sp.example.com/Vinyl/
. - Issuer: URL do IdP do App Builder, por exemplo,
https://idp.example.com/Vinyl/
. - Recipient: URL do Serviço de Consumidor de Aserção, por exemplo,
https://sp.example.com/Vinyl/signin-VinylSP
. - RequestRedirectEndpoint: Endpoint de Redirecionamento de Solicitação, por exemplo,
https://idp.example.com/Vinyl/signin-VinylIdP
. - SigningCertificate: Certificado codificado em PEM (veja Gerar um Certificado de Assinatura).
- Audience: URL do SP do App Builder, por exemplo,
-
No painel Claims, clique no botão + Claim para mapear cada uma das seguintes propriedades:
- Name:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
- Group:
http://schemas.xmlsoap.org/claims/Group
- Name:
-
No painel Provider, clique no botão Edit
- Marque a opção Enabled
- Clique no botão Save
Os passos acima incluem uma reivindicação de grupo. A reivindicação de grupo é usada para mapear reivindicações para grupos de provedores de segurança. No entanto, os grupos de provedores de segurança não são mapeados para grupos de segurança do App Builder por padrão. Para mapear um grupo de provedor de segurança a um grupo de segurança do App Builder:
- Navegue até o IDE
- Clique no botão User Management
- Clique no botão Identities
- Selecione o provedor de segurança SP, por exemplo,
VinylSP
- No painel Provider Groups, clique no botão + Group
- Forneça um Name, por exemplo,
Administrators
- Selecione o Group, por exemplo,
Administrators
- Clique no botão Save
Teste
Para testar, comece abrindo um navegador em modo Incognito/Privado.
- Navegue até a URL do App Builder SP, por exemplo,
https://sp.example.com/Vinyl/
. - No formulário de login, clique na opção para fazer login com o App Builder SP, por exemplo,
VinylSP
. Você será redirecionado para o formulário de login do IdP do App Builder. - Faça login na instância do IdP do App Builder. Você será redirecionado de volta para a instância do App Builder SP.
Se o teste for bem-sucedido, você estará logado na instância do App Builder SP.
Solução de Problemas
"opção de login com..." ausente do formulário de login
Se a opção "Sign in with..." estiver ausente do formulário de login, o provedor de segurança do App Builder SP não está habilitado ou a opção Show On Login Form não foi marcada.
erro 404 não encontrado após clicar em "login com..."
Se você receber um erro 404 Not Found
após clicar no botão "Sign in with..." no formulário de login, isso pode indicar que o Provedor de Segurança do IdP do App Builder não está habilitado, está com nome incorreto ou está configurado de forma inadequada. Para evitar interrupções no serviço, o App Builder desabilitará o provedor de segurança em tempo de execução se detectar uma configuração incorreta.