Ir para o conteúdo

Provedor de segurança SAML no Jitterbit App Builder

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

Em um cenário de SSO, existem três papéis:

  • Principal - O usuário que acessa um serviço restrito.
  • Provedor de Serviço (SP) - Fornece acesso a serviços restritos.
  • Provedor de Identidade (IdP) - Autentica usuários.

O App Builder pode ser configurado como um SP ou IdP usando o provedor de segurança apropriado. Este documento aborda o provedor de segurança SAML, que é utilizado para o papel de SP. Nesse papel, o App Builder delega a autenticação a um IdP de terceiros. Os IdPs suportados incluem:

Para o papel de IdP, consulte o provedor de identidade SAML.

Fluxos

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

  • Iniciado pelo Provedor de Serviço (SP)
  • Iniciado pelo Provedor de Identidade (IdP)

Iniciado pelo Provedor de Serviço (SP)

No fluxo iniciado pelo Provedor de Serviço (SP), um usuário navega até o App Builder e tenta acessar uma página restrita. O App Builder redireciona o usuário para o Provedor de Identidade (IdP) via o binding de Redirecionamento SAML (HTTP GET). Uma vez autenticado, o IdP redireciona o usuário de volta para o App Builder usando o binding Post SAML (HTTP POST). O App Builder valida a Resposta SAML, mapeia o identificador de nome para uma conta de usuário local do App Builder e concede os direitos associados à conta de usuário.

Observe que, antes de redirecionar o usuário para o IdP, o App Builder registra a URL da página que o usuário tentou acessar. Uma vez que o usuário tenha se autenticado, o App Builder redireciona o usuário de volta para a página originalmente solicitada. Isso permite links profundos.

Provedor de identidade (IdP) iniciado

No fluxo do Provedor de Identidade (IdP), um usuário navega diretamente para o IdP. Uma vez autenticado, o usuário é redirecionado para o App Builder via o binding SAML Post (HTTP POST). Assim como no fluxo Iniciado pelo SP, o App Builder valida a Resposta SAML, mapeia o identificador de nome para uma conta de usuário local do App Builder e concede os direitos associados à conta do usuário.

Normalmente, o App Builder redireciona o usuário para sua página inicial após um login bem-sucedido. No entanto, o IdP pode realizar um deep link passando o URI no parâmetro RelayState da Resposta SAML. Veja o parâmetro AllowRelayStateRedirects abaixo.

Configuração

Tokens

  • Emissor: O emissor da asserção SAML. O padrão é o público.
  • Público: Restrição de público da asserção SAML. O valor deve ser um URI sintaticamente válido.
  • Destinatário: O destinatário da asserção SAML. Este valor deve ser um URI sintaticamente válido. O padrão é o URI do Serviço Consumidor de Asserções (por exemplo, https://example.com/Vinyl/signin-SAML).

Cuidado

Por razões de legado, o Público padrão é a URL raiz da aplicação (por exemplo, https://example.com/Vinyl/). É altamente recomendável que você defina explicitamente o Público em vez de confiar no padrão.

Endpoints

Tipo Descrição
Endpoint de Metadados Endpoint de metadados do serviço de SSO (Single Sign-On) SAML. Este parâmetro é obrigatório se os parâmetros Endpoint de Redirecionamento de Solicitação ou SigningCertificate estiverem indefinidos.
URI RelayState URI de redirecionamento RelayState permitido para uma solicitação iniciada pelo Provedor de Identidade (IdP) SAML. Veja o parâmetro AllowRelayStateRedirects para informações adicionais.
Endpoint de Redirecionamento de Solicitação Endpoint de solicitação de autenticação SSO (Single Sign-On) SAML para o binding de Redirecionamento. Este parâmetro é obrigatório se o Endpoint de Metadados estiver indefinido.

Certificados

Propósito Tipo Formato Descrição
Validação de Assinatura Certificado X.509
  • PEM (CERTIFICATE)
  • PKCS#12 (PFX), codificado em base64
Certificado X.509 usado para validar assinaturas de respostas SAML de Single Sign-On (SSO).

O certificado de validação de assinatura é necessário se o Endpoint de Metadados não estiver definido.

Propriedades

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

Parâmetro Padrão Descrição
AllowRelayStateRedirects False Indica se um provedor de identidade SAML (IdP) iniciado pode incluir uma URI de redirecionamento no parâmetro RelayState. A URI de redirecionamento é o local para onde o usuário será redirecionado após fazer login.

Por padrão, o parâmetro RelayState não pode conter uma URI de redirecionamento. Defina como True para permitir URIs de redirecionamento no parâmetro RelayState.

Para proteger contra ataques de relé aberto, a URI deve corresponder ao endpoint da RelayState URI.
IgnoreTlsErrors False Indica se o App Builder deve ignorar erros de certificado HTTPS ao fazer solicitações de canal de retorno para recuperar os metadados do serviço.

Esta configuração é apenas para configuração e testes. Não ative esta configuração em um sistema em funcionamento.
SignatureRequirement AssertionOrResponse Indica se a resposta SAML, a afirmação ou ambas devem ser assinadas. As opções incluem: - AssertionOrResponse - A afirmação ou a resposta deve ser assinada. - Assertion - A afirmação deve ser assinada. - Response - Apenas a resposta deve ser assinada. A afirmação herda a assinatura da resposta. - AssertionAndResponse - Tanto a afirmação quanto a resposta devem ser assinadas.
LogPII False Indica que informações pessoalmente identificáveis (PII) devem ser registradas. Esta configuração entra em vigor na inicialização.

Declarações

As afirmações SAML contêm atributos. Os atributos são pares chave/valor de múltiplos valores. O App Builder trata os atributos de afirmação SAML como declarações. O nome do atributo mapeia para um identificador de declaração.

Por exemplo, dado um assertion SAML com o seguinte atributo:

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

Mapear o identificador http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name para a propriedade Name definirá o nome do usuário como "Arthur.Dent" quando a conta do usuário for provisionada.

A tabela a seguir descreve os mapeamentos de reivindicações padrão:

Identificador Propósito Descrição
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier Identificador de Nome Identificador único e imutável usado para mapear a identidade de terceiros a um usuário do App Builder.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name Nome Nome do usuário.
http://schemas.xmlsoap.org/claims/Group Grupo Associação a grupo de segurança.
http://schemas.zudy.com/identity/claims/fullname Nome Completo Nome completo.
http://schemas.zudy.com/identity/claims/displayname Nome de Exibição Nome amigável.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress Endereço de Email Endereço de email.
http://schemas.zudy.com/identity/claims/phonenumber Número de Telefone Número de telefone.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/thumbprint Impressão digital do certificado X.509.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/x500distinguishedname Nome distinto do certificado X.509.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dns Nome DNS do certificado X.509.

Integração

Serviço de consumidor de afirmações

O provedor de segurança SAML expõe um único endpoint. O endpoint recebe Respostas SAML. Isso é referido como o Serviço de Consumidor de Afirmações. Uma URL de Serviço de Consumidor de Afirmações do App Builder pode parecer algo assim:

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

A URL é composta pelas seguintes partes:

Componente Descrição
https://example.com/Vinyl/ URL absoluta do diretório raiz da aplicação App Builder.
SAML Nome do provedor de segurança SAML codificado em URL. O valor é sensível a maiúsculas e minúsculas.

Solução de problemas

Erro "The AudienceRestrictionCondition was not valid because the specified Audience is not present in AudienceUris."

Esse erro indica que a URI do público não corresponde. Certifique-se de que a propriedade Audience foi definida explicitamente. Se não estiver definida, ela será padrão para a URL atual, que pode variar por usuário. O valor é sensível a maiúsculas e minúsculas.

Problemas conhecidos e limitações

O provedor de segurança SAML Single Sign-On (SSO) do App Builder possui as seguintes limitações:

  • Apenas uma única restrição de público pode ser validada.
  • O protocolo de resolução de Artifact não é suportado.
  • O protocolo de Logout não é suportado.