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 SSO, há 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.

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 é usado para a papel SP. Nesta papel, App Builder delega autenticação a um IdP de externo. Os IdPs suportados incluem:

Para a papel 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 para App Builder e tenta acessar uma página restrita. App Builder redireciona o usuário para o Provedor de Identidade (IdP) por meio da vinculação de redirecionamento SAML (HTTP GET). Uma vez autenticado, o IdP redireciona o usuário de volta para App Builder usando a ligação SAML Post (HTTP POST). App Builder valida a resposta SAML, mapeia o identificador de nome para um local App Builder conta de usuário e concede os direitos associados à conta de usuário.

Observe que, antes de redirecionar o usuário para o IdP, App Builder registra a URL da página que o usuário tentou acessar. Depois que o usuário for autenticado, App Builder redireciona o usuário de volta para a página originalmente solicitada. Isso permite 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 App Builder por meio da ligação SAML Post (HTTP POST). Assim como no fluxo SP Iniciado, App Builder valida a resposta SAML, mapeia o identificador de nome para um local App Builder conta de usuário e concede os direitos associados à conta de usuário.

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

Configuração

Fichas

  • Issuer: O emissor da asserção SAML. O padrão é o público.
  • Audience: restrição de audiência de asserção SAML. O valor deve ser um URI sintaticamente válido.
  • Recipient: O destinatário da asserção SAML. Este valor deve ser um URI sintaticamente válido. O padrão é o URI do Assertion Consumer Service (por exemplo, https://example.com/App Builder/signin- SAML).

Cuidado

Por motivos de legado, Audience usa como padrão a URL raiz do aplicativo (por exemplo, https://example.com/App Builder/). É altamente recomendável que você defina explicitamente o Audience 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 é necessário se os parâmetros Request Redirect Endpoint ou SigningCertificate não estiverem definidos.
URI RelayState URI de redirecionamento RelayState permitido para uma solicitação iniciada pelo SAML Identity Provider (IdP). Consulte o parâmetro AllowRelayStateRedirects para obter informações adicionais.
Request Redirect Endpoint endpoint de solicitação de autenticação SAML Single Sign-On (SSO) para a associação de redirecionamento. Este parâmetro é necessário se o Metadata Endpoint não estiver definido.

Certificados

| Objetivo | Tipo | Formato | Descrição |TABLEROWEND| ...TABLEROWEND | 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 é necessário se o Metadata Endpoint não estiver definido. |

Propriedades

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

Parâmetro Padrão Descrição
PermitirRedirecionamentosDeEstadoDeRetransmissão False Indica se um sign-on iniciado pelo SAML Identity Provider (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 o login.

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

Para proteger contra ataques de retransmissão aberta, o URI deve corresponder ao endpoint_RelayState URI_.
Ignorar ErrosTls False Indica se App Builder 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 resposta deve ser assinada. - Assertion- A afirmação deve ser assinada. - Response- Somente a resposta deve ser assinada. A asserçã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.

Reivindicações

Asserções SAML contêm atributos. Atributos são pares chave/valor multivalorados. App Builder trata atributos de asserção SAML como claims. O nome do atributo mapeia para um identificador de claim.

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 de usuário for provisionada.

A tabela a seguir descreve os mapeamentos de reivindicaçã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 an App Builder usuário.
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 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

Afirmação de Serviço ao Consumidor

O provedor de segurança SAML expõe um único endpoint. O endpoint recebe Respostas SAML. Isso é chamado de Assertion Consumer Service. {{ no such element: dict object['a_ab_uc'] }} o URL do serviço de declaração ao consumidor pode ser parecido com este:

https://example.com/App Builder/signin-SAML

A URL é composta das seguintes partes:

Componente Descrição
https://example.com/App Builder/ URL absoluta do App Builder diretório raiz do aplicativo.
SAML Nome do provedor de segurança SAML codificado em URL. O valor diferencia maiúsculas de minúsculas.

Solução de Problemas

Erro "a AudienceRestrictionCondition Não Era Válida 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 definida, 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 e Limitações Conhecidos

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

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