Configurando os Serviços de Federação do Active Directory usando WS-Federation no Jitterbit App Builder
O App Builder pode se integrar aos Serviços de Federação do Active Directory (AD FS) usando o protocolo WS-Federation Passive. O protocolo WS-Federation Passive define os seguintes papéis operacionais:
Ator | Papel |
---|---|
App Builder | Parte confiável |
AD FS | Provedor de Identidade (IdP) / Serviço de Token de Segurança (STS) |
Usuário | Requerente passivo |
A configuração envolve os seguintes procedimentos:
- Criar um Provedor de Segurança do App Builder para AD FS
- Criar uma Confiança de Parte Confiável do AD FS para o App Builder
Requisitos
Para prosseguir, você precisará do seguinte:
- Acesso de administrador ao AD FS.
- Acesso de administrador ao App Builder.
- O App Builder 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 App Builder não conseguirá recuperar o documento de metadados se o certificado não for confiável ou estiver de outra forma inválido.
- O App Builder precisará estar disponível via HTTPS. O provedor de segurança "Requerer HTTPS" deve estar habilitado (ou outras medidas devem ser tomadas para garantir que o App Builder 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 faça login.
As instruções abaixo se referirão às seguintes propriedades:
Exemplo | Notas | |
---|---|---|
URL do App Builder | https://example.com/Vinyl/ | O App Builder deve ser acessível via HTTPS. A URL deve incluir a barra final. O caminho é sensível a maiúsculas e minúsculas. |
Nome do Provedor | ExampleADFS | Cada provedor de segurança do App Builder recebe um nome lógico. Como o nome do provedor aparecerá na URL do Protocolo Passivo (veja abaixo), evite espaços, pontuação e caracteres especiais. |
URL do Protocolo Passivo | https://example.com/Vinyl/signin-ExampleADFS | O App Builder provisiona automaticamente um endpoint de Protocolo Passivo para provedores de segurança WS-Federation. Observe que o Nome do Provedor aparece na URL. |
URL do Documento de Metadados de 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 do Tipo Metadados de Federação. |
Público | https://example.com/Vinyl/signin-ExampleADFS | Um valor de Público é altamente recomendado para limitar o escopo da autenticação. Considere usar a URL do Protocolo Passivo. |
Wtrealm | https://example.com/Vinyl/signin-ExampleADFS | Embora o Wtrealm seja arbitrário, o AD FS e o App Builder devem usar o mesmo valor. Considere usar a URL do Protocolo Passivo. |
Criar um provedor de segurança do App Builder para AD FS
Para criar o Provedor de Segurança, comece fazendo login no App Builder como administrador:
- Navegue até o IDE
- Selecione o botão Provedores de Segurança
- No painel Autenticação de Usuário, clique no botão + Autenticação de Usuário
-
Forneça o seguinte:
-
Nome:
Nome do Provedor de Segurança
(veja acima)Exemplo: ExampleADFS
-
Tipo: WS-Federation
- Habilitado: Marque
- Provisionamento de Usuário: Marque para habilitar o provisionamento de usuário Just-in-Time (JIT).
- Fornece Membro de Grupo: Marque se o AD FS foi configurado para passar a associação de grupo de usuário.
- Mostrar no Formulário de Login: Marque
-
-
Clique no botão Salvar
- No painel Propriedades, clique no botão + Propriedade
-
Forneça o seguinte:
- Parâmetro: MetadataAddress
-
Valor:
URL do Documento de Metadados de Federação
(veja acima).Exemplo:
https://fs.example.com/FederationMetadata/2007-06/FederationMetadata.xml
-
Clique no ícone Salvar (Marcar)
- No painel Propriedades, clique no botão + Propriedade
-
Forneça o seguinte:
- Parâmetro: Wtrealm
-
Valor:
Wtrealm
(veja acima).Exemplo:
https://example.com/Vinyl/signin-ExampleADFS
-
Clique no ícone Salvar (Marcar)
- No painel Propriedades, clique no botão + Propriedade
-
Forneça o seguinte:
- Parâmetro: Audience
-
Valor: Audience (veja acima).
Exemplo:
https://example.com/Vinyl/signin-ExampleADFS
-
Clique no ícone Salvar (Marcar)
Além disso, quaisquer declarações mapeadas no AD FS precisarão ser mapeadas no App Builder. Por exemplo, para mapear a declaração de email:
- No painel Declarações, clique no botão + Declaraçã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 (Marcar)
Criar uma confiança de parte confiável do AD FS para o App Builder
Cada instância do App Builder deve ser registrada no AD FS como uma confiança de parte confiável. Os detalhes completos sobre como criar, configurar e manter as confianças de parte confiável estão fora do escopo deste documento. Para informações adicionais sobre como criar uma confiança de parte confiável do AD FS, consulte o seguinte artigo do TechNet:
https://technet.microsoft.com/en-ca/library/dd807108.aspx
Criar uma confiança de parte confiável requer as seguintes informações:
- Protocolo: WS-Federation Passivo
-
URL do protocolo WS-Federation Passivo da parte confiável: Corresponde ao
Passive Protocol URL
(veja acima).\Exemplo:
https://example.com/Vinyl/signin-ExampleADFS
-
Identificador da confiança de parte confiável: Corresponde à propriedade
Wtrealm
(veja acima).\Exemplo:
https://example.com/Vinyl/signin-ExampleADFS
Criar uma URL de endpoint do AD FS para o App Builder
Cada instância do App Builder deve ser registrada no AD FS como um endpoint. Crie um endpoint na aba Endpoints no AD FS da seguinte forma:
- Clique no botão Adicionar WS-Federation.
- Defina o endpoint como padrão (caixa de seleção).
-
URL Confiável: Corresponde à propriedade Wtrealm (veja acima).
Exemplo:
https://example.com/Vinyl/signin-ExampleADFS
Mapeamentos de reivindicações (opcional)
Você também pode fornecer mapeamentos de reivindicações opcionais. O seguinte artigo do TechNet descreve como criar regras de reivindicação de confiança de parte confiável do AD FS:
https://technet.microsoft.com/en-us/library/dd807115.aspx
As reivindicações comumente mapeadas incluem:
- Endereço de Email -
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
- Membro de Grupo -
http://schemas.xmlsoap.org/claims/Group
Consulte Reivindicações para informações adicionais sobre reivindicações.
Solução de Problemas
Configurações de configuração
Nota
Suas configurações de configuração podem variar dos exemplos fornecidos neste artigo, dependendo do seu ambiente exato. Por exemplo, dependendo de como seu App Pool está configurado, você pode estar usando demo.zudy.com/signin-AD
ou demo.zudy.com/vinyl/signin-AD
.
"erro de tempo de execução" ao clicar no link "entrar com..."
A URL pode ser: http://example.com/Vinyl/service/authentication/external?returnUrl=...
Revise o Log de Eventos do Windows. Especificamente, verifique o log de Aplicativos para avisos do ASP.Net com um ID de evento de 1309. Você pode encontrar uma entrada com a seguinte mensagem de exceção:
Unable to get document from: https://fs.example.com/FederationMetadata/2007-06/FederationMetadata.xml
Isso indica que o App Builder não conseguiu recuperar o Documento de Metadados da Federação. Certifique-se de que o servidor web do App Builder consegue fazer uma conexão HTTPS com o endpoint do Documento de Metadados do AD FS. Também verifique se o certificado TLS é válido. Se o certificado não for assinado por uma raiz confiável, você pode registrá-lo manualmente.
"erro de tempo de execução" após entrar no AD FS
A URL pode ser: http://example.com/Vinyl/signin-ADFS
Revise o Log de Eventos do Windows. Especificamente, verifique o log de Aplicativos para avisos do ASP.Net com um ID de evento de 1309. Você pode encontrar uma entrada com uma das seguintes mensagens de exceção.
Reivindicação ausente
The identity does not contain a claim matching the given type.
Isso indica que a asserção SAML está faltando uma ou mais reivindicações obrigatórias. Revise a configuração da regra de reivindicação.
Público inválido
IDX10214: Audience validation failed. Audiences: 'https://example.com/Vinyl'. Did not match: validationParameters.ValidAudience: 'https://example.com/Vinyl/' or validationParameters.ValidAudiences: 'null'
Isso indica que a asserção SAML tem uma restrição de público inválida. Neste exemplo específico, o público está faltando a barra final. Certifique-se de que o identificador de confiança da parte confiável está correto.
Imprimir configurações de confiança da parte confiável do AD FS
Execute o seguinte comando PowerShell a partir do servidor AD FS para imprimir as configurações de confiança do parceiro confiável:
> Get-ADFSRelyingPartyTrust -Identifier https://example.com/Vinyl/signin-ADFS`
O argumento Identifier corresponde ao Passive Protocol URL
(conforme descrito acima).
Falta de associação a grupos
Por padrão, o ADFS não inclui declarações de grupo nas afirmações SAML. Os administradores devem criar uma ou mais regras de declaração para incluir a associação a grupos. É possível criar uma única regra de declaração que inclua todas as associações a grupos. No entanto, ao usar a regra de "Declaração de Grupo" integrada do ADFS, uma regra separada é necessária para cada grupo.
O seguinte artigo descreve como incluir a associação a grupos que correspondem a uma expressão regular (por exemplo, grupos que começam com "App Builder"):
O seguinte artigo descreve como usar expressões regulares nas regras de transformação de declarações:
Configuração de declarações ausente ou incorreta
A seguinte mensagem de erro pode ser vista após a autenticação:
A conta de usuário (`<username>`) foi autenticada com sucesso, mas nenhuma página de destino disponível foi configurada para suas aplicações.
Isso indica que a configuração do provedor de segurança e do AD FS foi bem-sucedida, mas significa que as declarações ainda não foram configuradas ou precisam ser corrigidas.
Revise as declarações retornadas ao App Builder a partir do ADFS (certifique-se de que a opção Store Claims esteja marcada) para garantir que as declarações corretas estão sendo passadas (associações a grupos, atributos personalizados) para o App Builder e que estas podem ser mapeadas na configuração de Declarações do Provedor de Segurança.