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 abrange 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 de Postagem 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 do 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 o deep linking.

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 link profundo 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 de Consumidor de Asserção (por exemplo, https://example.com/Vinyl/signin-SAML).

Cuidado

Por razões de legado, o Público padrão é a URL da 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 por um 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 o 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 se 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 asserção ou ambas devem ser assinadas. As opções incluem: - AssertionOrResponse - A asserção ou a resposta deve ser assinada. - Assertion - A asserção deve ser assinada. - Response - Apenas a resposta deve ser assinada. A asserção herda a assinatura da resposta. - AssertionAndResponse - Tanto a asserçã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 asserções SAML contêm atributos. Os atributos são pares chave/valor multivalorados. O App Builder trata os atributos de asserçã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ção

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ção. Uma URL do Serviço de Consumidor de Afirmação 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.

Provisionar usuários

Uma vez que o provedor de segurança SAML está configurado, você deve garantir que os usuários tenham identidades correspondentes no App Builder para conseguir fazer login com sucesso.

Provisionamento manual

Os usuários podem ser associados manualmente ao provedor de segurança SAML por um administrador:

  1. Navegue até IDE > Gerenciamento de Usuários.

  2. No painel Identidades, clique em + Identidade para criar uma nova identidade.

  3. Ao configurar a nova identidade, certifique-se de selecionar SAML como o Provedor de segurança e insira o Identificador que corresponde ao nome de usuário IdP do usuário (normalmente o email ou NameID).

Provisionamento automático

Para lidar com a integração em massa de usuários sem entrada manual, você pode habilitar o recurso Combinar Usuário Existente. Isso é útil quando você já possui uma lista de usuários no App Builder e deseja vinculá-los automaticamente às suas identidades SAML no primeiro login.

  1. Navegue até IDE > Provedores de Segurança.

  2. Se o seu provedor de segurança SAML já existir, encontre-o no painel Autenticação de Usuário e clique duas vezes no ícone de expandir no final de sua linha. Se ainda não existir, clique em + Autenticação de Usuário.

  3. Na tela de configuração que se abre, localize o grupo de campos Provisionamento e habilite a caixa de seleção Provisionamento de Usuário. Ao fazer isso, a caixa de seleção Combinar Usuário Existente aparecerá. Habilite-a.

Uma vez que esse recurso esteja habilitado, quando um usuário tentar fazer login via SAML, o App Builder verifica se já existe uma conta de usuário local com um nome de usuário que corresponda ao identificador de nome SAML. Se uma correspondência for encontrada, o sistema cria automaticamente o link de identidade para esse usuário durante o processo de login, concedendo acesso imediatamente.

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 de acordo com o 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 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.