Ir para o conteúdo

Configurando os Serviços de Federação do Active Directory Usando o Logon Único SAML

O Vinyl pode ser integrado aos Serviços de Federação do Active Directory (AD FS) usando o protocolo SAML Single Sign-On (SSO). O protocolo SAML SSO define as seguintes funções operacionais:

Ator Função
Vinyl Provedor de Serviços (SP)
AD FS Provedor de identidade (IdP) / Serviço de token de segurança (STS)
Usuário Navegador

A configuração envolve os seguintes procedimentos:

  1. Crie um provedor de segurança Vinyl para AD FS
  2. Crie um AD FS Relying Party Trust para Vinyl

Requisitos

Para prosseguir, você precisará do seguinte:

  • Acesso de administrador ao AD FS.
  • Acesso de administrador ao Vinyl.
  • O Vinyl precisará se conectar ao AD FS via HTTPS para recuperar o documento de metadados. O AD FS deve usar um certificado TLS com uma raiz confiável: o Vinyl não poderá recuperar o documento de metadados se o certificado não for confiável ou for inválido.
  • O Vinyl precisará estar disponível via HTTPS. O provedor de segurança Exigir HTTPS deve estar habilitado (ou outras medidas tomadas para garantir que o Vinyl seja acessível apenas via HTTPS).
  • As máquinas clientes precisarão ser configuradas para confiar no AD FS. Caso contrário, o AD FS solicitará que o usuário entre.

As instruções abaixo se referirão às seguintes propriedades:

Exemplo Notas
URL de Vinyl https://example.com/Vinyl/ O Vinyl deve ser acessível via HTTPS. O URL deve incluir a barra final. O caminho diferencia maiúsculas de minúsculas.
Nome do provedor ADFS Cada provedor de segurança do Vinyl recebe um nome lógico. Como o nome do provedor aparecerá na URL do Assertion Consumer Service (veja abaixo), evite espaços, pontuação e caracteres especiais.
URL do serviço ao consumidor de declaração https://example.com/Vinyl/signin-Okta O Vinyl provisiona automaticamente um endpoint de Assertion Consumer Service (ACS) para provedores de segurança SAML Single Sign-On (SSO). O AD FS refere-se ao URL do ACS como o " URL do serviço SSO SAML 2.0 de terceira parte confiável". Observe que o nome do provedor aparece na URL.
URI de público https://example.com/Vinyl/ Embora o URI do público seja arbitrário, o AD FS e o Vinyl devem usar o mesmo valor. Considere usar o URL do Vinyl.
URL do documento de metadados da federação https://fs.example.com/FederationMetadata/2007-06/FederationMetadata.xml A URL do documento de metadados de federação pode ser recuperada do AD FS. Para fazer isso, inicie o console de gerenciamento do AD FS. Selecione AD FS → Serviço → Endpoints. Localize o endpoint dos Metadados de Federação de Tipo.

Crie um Provedor de Segurança de Vinyl para AD FS

Para criar o provedor de segurança, comece entrando no Vinyl como administrador:

  1. Navegue até o IDE
  2. Selecione o botão Provedores de segurança
  3. No painel Autenticação do usuário, clique no botão + Autenticação do usuário
  4. Forneça o seguinte:

    • Nome: Security Provider Name (Veja acima) Exemplo: ADFS
    • Tipo: * SAML*
    • Ativado: Verifique
    • Provisionamento de usuários: marque para ativar o provisionamento de usuários Just-in-Time (JIT)
    • Associação ao grupo de suprimentos: verifique se o AD FS foi configurado para passar a associação ao grupo de usuários
    • Mostrar no formulário de login: Verifique
  5. Clique no botão Salvar

  6. No painel Propriedades, clique em + Propriedade
  7. Forneça o seguinte:

    • Parâmetro: MetadataEndpoint
    • Valor: Federation Metadata Document URL (Veja acima).\

      Exemplo: https://fs.example.com/FederationMetadata/2007-06/FederationMetadata.xml

  8. Clique no ícone Salvar (Verificar)

  9. No painel Propriedades, clique em + Propriedade
  10. Forneça o seguinte:

    • Parâmetro: Público
    • Valor: Audience URI (Veja acima).

      Exemplo: https://example.com/Vinyl/

  11. Clique no ícone Salvar (Verificar)

Além disso, quaisquer declarações mapeadas no AD FS precisarão ser mapeadas no Vinyl. Por exemplo, para mapear a declaração email:

  1. No painel Reivindicação, clique em + Reivindicação
  2. Forneça o seguinte:

    • Identificador: nome do tipo de declaração.

      Exemplo: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

    • Uso: uso do tipo de declaração.

      Exemplo: * Endereço de Email *

  3. Clique no ícone Salvar (Verificar)

Crie uma Entidade Confiável do AD FS para Vinyl

Cada instância do Vinyl deve ser registrada no AD FS como um trust de terceira parte confiável. Os detalhes completos da criação, configuração e manutenção de relações de confiança de terceiros estão fora do escopo deste documento. Para obter informações adicionais que descrevem como criar uma terceira parte confiável do AD FS, consulte o seguinte artigo do TechNet:

https://technet.microsoft.com/en-ca/library/dd807108.aspx

A criação de uma confiança de terceira parte confiável requer as seguintes informações:

  • URL do serviço SSO SAML 2.0 da parte confiável: corresponde ao Assertion Consumer Service URL.

    Exemplo: https://example.com/Vinyl/signin-ADFS

  • Identificador de confiança da parte confiável: corresponde ao Audience URI propriedade.

    Exemplo: https://example.com/Vinyl/

Você também pode fornecer mapeamentos de declarações opcionais. O seguinte artigo do TechNet descreve como criar regras de declaração de confiança de terceira parte confiável do AD FS:

https://technet.microsoft.com/en-us/library/dd807115.aspx

As reivindicações comumente mapeadas incluem:

  • Endereço Email - http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
  • Associação ao grupo - http://schemas.xmlsoap.org/claims/Group

Consulte Reivindicações para obter informações adicionais sobre reivindicações.

Solução de Problemas

Execute o seguinte comando do PowerShell no servidor AD FS para imprimir as configurações de confiança da terceira parte confiável:

> Get-ADFSRelyingPartyTrust -Identifier https://example.com/Vinyl/signin-ADFS

O argumento Identificador corresponde ao Assertion Consumer Service URL (como descrito acima).

Ausência de Associação ao Grupo

Por padrão, o ADFS não inclui declarações de grupo em declarações SAML. Os administradores devem criar uma ou mais regras de declaração para incluir a associação ao grupo. É possível criar uma única regra de declaração que inclua todos os membros do grupo. No entanto, usando a regra interna de "Reivindicação de Grupo" do ADFS, é necessária uma regra separada para cada grupo.

O artigo a seguir descreve como incluir membros de grupos que correspondam a uma expressão regular (por exemplo, grupos começando com "Vinyl"):

http://social.technet.microsoft.com/wiki/contents/articles/8008.ad-fs-2-0-selectively-send-group-membership-s-as-a-claim.aspx

O artigo a seguir descreve como usar expressões regulares em regras de transformação de declarações:

http://social.technet.microsoft.com/wiki/contents/articles/16161.ad-fs-2-0-using-regex-in-the-claims-rule-language.aspx

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.