Ir para o conteúdo

Provedor de identidade SAML no Jitterbit App Builder

A autenticação SAML Single Sign-On (SSO) é definida nos seguintes documentos:

Em um cenário SSO, existem três funções:

  • Principal - O usuário que acessa um serviço restrito.
  • Service Provider (SP) - Fornece acesso a serviços restritos.
  • Identity Provider (IdP) - Autentica usuários.

O App Builder pode ser configurado como SP ou IdP usando o provedor de segurança apropriado. Este documento aborda o provedor de segurança SAML IdP. O provedor de segurança SAML IdP autentica usuários em nome de um SP terceirizado. Normalmente, o terceirizado é outra instância do App Builder.

Para a função SP, consulte o provedor de segurança SAML.

Fluxos

A especificação SAML Single Sign-On (SSO) define vários fluxos. O provedor de segurança SAML IdP suporta os seguintes fluxos SAML SSO:

  • Service Provider (SP) iniciado
  • Identity Provider (IdP) iniciado

Service provider (SP) iniciado

No fluxo iniciado por Service Provider (SP), um usuário navega para um serviço terceirizado e tenta acessar um recurso restrito. O serviço terceirizado redireciona o usuário para o App Builder por meio da vinculação SAML Redirect (HTTP GET). Se o usuário ainda não foi autenticado, o App Builder o redireciona para o formulário de login.

Após a autenticação do usuário, o App Builder o redireciona de volta para o serviço terceirizado usando a vinculação SAML Post (HTTP POST). O serviço terceirizado valida a SAML Response, mapeia o identificador de nome para uma conta de usuário local e concede os direitos associados a essa conta de usuário.

No fluxo SP Initiated, o serviço terceirizado normalmente registra a URL que o usuário tentou acessar antes de realizar o redirecionamento. Após a conclusão do processo SAML SSO, o SP redireciona o usuário para essa URL. Isso permite deep links.

Identity provider (IdP) iniciado

No fluxo iniciado por Identity Provider (IdP), um usuário segue um link para o Single Sign-On Service. Se o usuário ainda não foi autenticado, o App Builder o redireciona para o formulário de login.

Após a autenticação do usuário, o App Builder o redireciona de volta para o serviço terceirizado usando a vinculação SAML Post (HTTP POST). Como no fluxo SP Initiated, o serviço terceirizado valida a SAML Response, mapeia o identificador de nome para uma conta de usuário local e concede os direitos associados a essa conta de usuário.

Como o fluxo IdP não é iniciado pelo SP terceirizado, o usuário é normalmente redirecionado para uma página padrão após a conclusão do processo SAML SSO. No entanto, alguns SPs permitirão que o IdP redirecione o usuário para um local arbitrário passando uma URL no parâmetro RelayState.

Configuração

Tokens

  • Issuer: Emissor de asserção SAML.
  • Audience: Restrição de audiência de asserção SAML. O valor deve ser uma URI sintaticamente válida.
  • Recipient: Destinatário de asserção SAML. O valor deve ser uma URI sintaticamente válida. O padrão é o Assertion Consumer Service.
  • Entity ID: Identificador de entidade SAML. O valor deve ser uma URI sintaticamente válida. O padrão é o Issuer.
  • Subject: SAML NameId. O padrão é o nome de usuário atual.

Endpoints

Tipo Descrição
Assertion Consumer Service Endpoint do Service Provider (SP) terceirizado que recebe mensagens de resposta SAML (SAMLResponse).
Single Sign-On Service Endpoint que recebe mensagens de solicitação de autenticação (AuthNRequest). O padrão é baseado na URL atual. Consulte Single Sign-On Service abaixo.

Certificados

Finalidade Tipo Formato Descrição
Assinatura Certificado X.509 com Chave Privada PKCS#12 (PFX), protegido por senha, codificado em base64 Certificado X.509 com chave privada. Usado para assinar a resposta SAML Single Sign-On (SSO).

Conforme mencionado acima, o App Builder requer um certificado de assinatura PKCS#12 codificado em base64 com chave privada. O processo de geração de um certificado está fora do escopo deste documento. No entanto, para fins ilustrativos, os comandos a seguir demonstram como gerar um certificado compatível usando o utilitário de linha de comando OpenSSL.

O comando a seguir gera uma chave privada (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=localhost/O=App Builder"

O comando a seguir gera um arquivo PKCS#12 (cert.pfx) contendo a chave privada e o certificado:

$ openssl pkcs12 -export -in cert.pem -inkey key.pem -out cert.pfx

Será solicitado que você forneça uma senha. O App Builder precisará conhecer essa senha para descriptografar a chave privada.

Por fim, o comando a seguir codifica em base64 o arquivo PKCS#12:

$ openssl base64 -in cert.pfx -out cert.txt -A

Copie e cole o conteúdo de cert.txt no App Builder.

Propriedades

O provedor de segurança SAML IdP define os seguintes parâmetros adicionais:

Parâmetro Padrão Descrição
AllowRelayStatePassthrough False Indica se valores arbitrários de RelayState recebidos do cliente devem ser passados para o Provedor de Serviço SAML (SP).

Observe que isso se aplica apenas a um logon iniciado pelo Provedor de Identidade (IdP): em um logon iniciado pelo SP, o SP determina o valor do parâmetro RelayState.

Por padrão, o SAML IdP não passa o valor de RelayState para o SP. Defina como True para permitir que valores de RelayState sejam passados para o SP.
CacheDuration Duração do cache de metadados do SAML IdP em segundos.
RelayState Valor passado para o Provedor de Serviço SAML (SP) no parâmetro RelayState.

Observe que isso se aplica apenas a um logon iniciado pelo Provedor de Identidade (IdP): em um logon iniciado pelo SP, o SP determina o valor do parâmetro RelayState.

Os valores aceitáveis variam de acordo com a implementação. Algumas implementações de SAML SP aceitam um URI de redirecionamento.
ValidUntil Data de expiração dos metadados do SAML IdP. Espera uma data formatada em ISO 8601, como:
  • 2025-06-09
  • 2025-06-09T16:13:52+00:00
  • 2025-06-09T16:13:52Z

Declarações

O provedor de segurança SAML IdP mapeia propriedades de usuário para declarações. As declarações são incorporadas na asserção SAML como atributos. O nome do atributo corresponde ao identificador da declaração.

Por exemplo, se a propriedade Name foi mapeada para o identificador de declaração http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name, a asserção SAML conteria o seguinte atributo:

<Attribute AttributeName="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name">
  <AttributeValue>Arthur.Dent</AttributeValue>
</Attribute>

A propriedade Group pode ser usada para passar a associação de grupo de segurança. Por padrão, as asserções SAML não incluem grupos. É necessário registrar explicitamente os grupos que devem ser incluídos.

Para incluir a associação de grupo, crie um grupo de provedor de segurança e mapeie-o para um grupo do App Builder. Se o usuário for membro do grupo do App Builder, o grupo do provedor de segurança será adicionado à asserção. O identificador do grupo do provedor de segurança é usado. Se o identificador for nulo, o nome será usado.

Integração

O provedor de segurança SAML IdP expõe os seguintes endpoints:

  • Serviço de Logon Único
  • Endpoint de Metadados

Serviço de logon único

O Serviço de Logon Único recebe mensagens de solicitação SAML (AuthNRequest). A URL do Serviço de Logon Único terá o seguinte formato:

https://example.com/Vinyl/signin-SAMLIDP

A URL é composta pelas seguintes partes:

Componente Descrição
https://example.com/Vinyl/ URL absoluta do diretório raiz da aplicação do App Builder.
SAMLIDP Esquema do provedor de segurança SAML IdP. O valor diferencia maiúsculas de minúsculas. Caracteres especiais precisam ser codificados em URL.

Ponto de extremidade de metadados

O Ponto de Extremidade de Metadados publica um documento de metadados (Metadata). A URL do Ponto de Extremidade de Metadados terá o seguinte formato:

https://example.com/Vinyl/metadata-SAMLIDP

A URL é composta pelas seguintes partes:

Componente Descrição
https://example.com/Vinyl/ URL absoluta do diretório raiz da aplicação do App Builder.
SAMLIDP Esquema do provedor de segurança SAML IdP. O valor diferencia maiúsculas de minúsculas. Caracteres especiais precisam ser codificados em URL.

Problemas conhecidos e limitações

O provedor de segurança SAML IdP do App Builder tem as seguintes limitações:

  • Apenas uma única restrição de público pode ser fornecida.
  • Respostas SAML não podem ser criptografadas.
  • Respostas SAML não podem ser assinadas.
  • Asserções SAML são sempre assinadas.
  • O protocolo de resolução de artefatos não é suportado.
  • O protocolo de logout não é suportado.