Ir para o conteúdo

Provedor de Segurança - SAML

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

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

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

O Vinyl pode ser configurado como SP ou IdP usando o provedor de segurança apropriado. Este documento cobre o provedor de segurança * SAML*, que é usado para a papel SP. Nesta papel, o Vinyl delega a autenticação a um IdP de externo. Os IdPs suportados incluem:

Para a papel do 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 oferece suporte aos seguintes fluxos SAML SSO:

  • Provedor de serviços (SP) iniciado
  • Provedor de identidade (IdP) iniciado

Provedor de Serviços (sp) Iniciado

No fluxo iniciado pelo Provedor de Serviços (SP), um usuário navega até o Vinyl e tenta acessar uma página restrita. O Vinyl redireciona o usuário para o Provedor de Identidade (IdP) por meio da ligação de redirecionamento SAML (HTTP GET). Uma vez autenticado, o IdP redireciona o usuário de volta ao Vinyl usando a ligação SAML Post (HTTP POST). O Vinyl valida a resposta SAML, mapeia o identificador do nome para uma conta de usuário local do Vinyl e concede os direitos associados à conta do usuário.

Observe que, antes de redirecionar o usuário para o IdP, o Vinyl registra a URL da página que o usuário tentou acessar. Depois que o usuário for autenticado, o Vinyl o redirecionará de volta à página solicitada originalmente. Isso permite links diretos.

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 Vinyl através do SAML Post binding (HTTP POST). Tal como acontece com o fluxo iniciado pelo SP, o Vinyl valida a resposta SAML, mapeia o identificador do nome para uma conta de usuário local do Vinyl e concede os direitos associados à conta do usuário.

Normalmente, o Vinyl redirecionará o usuário para sua página inicial após o login bem-sucedido. No entanto, o IdP pode realizar um deep link passando o URI no parâmetro SAML Response RelayState. Consulte o parâmetro AllowRelayStateRedirects abaixo.

Configuração

Fichas

  • Emissor: o emissor da declaração SAML. O padrão é o público.
  • Público: restrição de público de declaração SAML. O valor deve ser um URI sintaticamente válido.
  • Destinatário: o destinatário da declaração SAML. Este valor deve ser um URI sintaticamente válido. O padrão é o URI do Assertion Consumer Service (por exemplo, SAML).

Cuidado

Por motivos legados, Audience usa como padrão o URL raiz do aplicativo (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 SAML Single Sign-On (SSO). Este parâmetro será necessário se os parâmetros Request Redirect Endpoint ou SigningCertificate forem indefinidos.
URI do estado de relé URI de redirecionamento RelayState permitido para uma solicitação iniciada pelo provedor de identidade SAML (IdP). Consulte o parâmetro AllowRelayStateRedirects para obter informações adicionais.
Solicitar Endpoint de redirecionamento endpoint de solicitação de autenticação SAML Single Sign-On (SSO) para a associação de redirecionamento. Este parâmetro será obrigatório se o Endpoint de metadados for indefinido.

Certificados

Finalidade 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 resposta SAML Single Sign-On (SSO).

O certificado de validação de assinatura será necessário se o Metadata Endpoint for indefinido.

Propriedades

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

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

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

Para se proteger contra ataques de retransmissão aberta, o URI deve corresponder ao endpoint_RelayState URI_.
IgnorarTlsErrors False Indica se o Vinyl deve ignorar erros de certificado HTTPS ao fazer solicitações de back-channel para recuperar os metadados do serviço.

Esta configuração é apenas para fins de configuração e teste. Não habilite esta configuração em um sistema em execução.
Requisito de Assinatura AssertionOrResponse Indica se a resposta SAML, a asserção ou ambas devem ser assinadas. As opções incluem: - AssertionOrResponse - A afirmação ou a resposta devem ser assinadas. - Assertion - A afirmação deve ser assinada. - Response - Somente a resposta deverá 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 as informações de identificação pessoal (PII) devem ser registradas. Esta configuração entra em vigor na inicialização.

Reivindicações

As asserções SAML contêm atributos. Os atributos são pares chave/valor com vários valores. O Vinyl trata os atributos de asserção SAML como declarações. O nome do atributo é mapeado para um identificador de declaração.

Por exemplo, dada uma asserção SAML com o seguinte atributo:

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

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

A tabela a seguir descreve os mapeamentos de declaração padrão:.

Identificador Finalidade 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 externo para um usuário do Vinyl.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name Nome Nome de usuário.
http://schemas.xmlsoap.org/claims/Group Grupo Associação ao 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 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

Afirmação de Atendimento ao Consumidor

O provedor de segurança SAML expõe um único endpoint. O endpoint recebe respostas SAML. Isso é conhecido como Serviço de Asserção ao Consumidor. Um URL de serviço ao consumidor de declaração de vinil pode ser parecido com isto:

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 do aplicativo Vinyl.
SAML Nome do provedor de segurança SAML codificado em URL. O valor diferencia maiúsculas de minúsculas.

Solução de Problemas

Erro "o AudienceRestrictionCondition Não Era Válido Porque o Público Especificado Não Está Presente em AudienceUris."

Este erro indica que o URI do público não corresponde. Certifique-se de que a propriedade Audience tenha sido definida explicitamente. Se não for definido, o padrão será o URL atual, que pode variar de acordo com o usuário. O valor diferencia maiúsculas de minúsculas.

Problemas Conhecidos e Limitações

O provedor de segurança Vinyl SAML Single Sign-On (SSO) tem as seguintes limitações:

  • Apenas poderá ser validada uma única restrição de público.
  • O protocolo de resolução de artefato não é compatível.
  • O protocolo Logout não é suportado.