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:
- Crie um provedor de segurança Vinyl para AD FS
- 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:
- Navegue até o IDE
- Selecione o botão Provedores de segurança
- No painel Autenticação do usuário, clique no botão + Autenticação do usuário
-
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
- Nome:
-
Clique no botão Salvar
- No painel Propriedades, clique em + Propriedade
-
Forneça o seguinte:
- Parâmetro: MetadataEndpoint
-
Valor:
Federation Metadata Document URL
(Veja acima).\Exemplo:
https://fs.example.com/FederationMetadata/2007-06/FederationMetadata.xml
-
Clique no ícone Salvar (Verificar)
- No painel Propriedades, clique em + Propriedade
-
Forneça o seguinte:
- Parâmetro: Público
-
Valor:
Audience URI
(Veja acima).Exemplo:
https://example.com/Vinyl/
-
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:
- No painel Reivindicação, clique em + Reivindicação
-
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 *
-
-
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¶
Imprimir Configurações de Confiança da Parte Confiável do AD FS¶
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.