O Serviço de Federação é um serviço de função dos Serviços de Federação do Active Directory (AD FS) que pode ser instalado independentemente de outros serviços de função do AD FS. O Serviço de Federação funciona como um serviço de token de segurança. Quando você instala o serviço de função Serviço de Federação em um computador, faz do computador um servidor de federação. Faz também com que o snap-in dos Serviços de Federação do Active Directory esteja disponível no menu Ferramentas Administrativas nesse computador. Para obter mais informações sobre o snap-in AD FS, consulte Usando o snap-in Serviços de Federação do Active Directory.
O Serviço de Federação é projetado para usar os Serviços de Domínio Active Directory (AD DS) a fim de fornecer tokens em resposta a solicitações para tokens de segurança. Isso permite que domínios e florestas do Active Directory funcionem como:
-
Provedores de identidade que podem se federar a parceiros de conta e de recurso compatíveis. Como um provedor de identidade, o Serviço de Federação pode projetar identidades do Active Directory pela Internet para interagir com aplicativos em provedores de serviços compatíveis.
-
Provedores de serviços que podem se federar a parceiros de conta e de recurso compatíveis. Como um provedor de serviços, o Serviço de Federação pode permitir que identidades de outras organizações acessem aplicativos baseados no Windows e no ASP.NET de um parceiro.
-
Provedores de token de segurança para aplicativos que são compatíveis com a especificação do protocolo WS-F PRP.
Como um parceiro de conta, o Serviço de Federação permite que os usuários acessem recursos em organizações de parceiros. Em resposta a uma solicitação de um parceiro de recurso, o Serviço de Federação coleta e verifica as credenciais de usuário em relação ao AD DS ou a uma instância do Active Directory Lightweight Directory Services (AD LDS). O Serviço de Federação pode preencher um conjunto de declarações da organização baseadas nos atributos do protocolo LDAP (Lightweight Directory Access Protocol) da conta do usuário. As declarações da organização são, em seguida, mapeadas para as declarações apropriadas do parceiro de recurso e empacotadas em um token de segurança que é assinado pelo certificado de autenticação de tokens do Serviço de Federação. O token de segurança resultante é postado como a resposta à solicitação original do parceiro de recurso. O parceiro de recurso usa, em seguida, o token para permitir o acesso ao usuário.
Como um parceiro de recurso, o Serviço de Federação desempenha a função oposta. Quando um usuário tenta acessar um aplicativo protegido por AD FS, o Serviço de Federação determina o parceiro de conta que deve autenticar o usuário. Ele então envia uma solicitação de autenticação a esse parceiro. Quando o usuário retorna um token de segurança, o Serviço de Federação verifica se o token foi assinado corretamente pelo parceiro. Ele extrai, em seguida, as declarações do token, que são mapeadas para as declarações da organização, e a diretiva de filtro é aplicada ao aplicativo específico. As declarações da organização filtradas são empacotadas em um token de segurança que é assinado pelo certificado de autenticação de tokens do Serviço de Federação ou protegido por uma chave da sessão Kerberos para o aplicativo da Web. O token de segurança resultante é postado de volta ao URL (Uniform Resource Locator) do aplicativo original. O aplicativo usa, em seguida, o token para permitir o acesso ao usuário.
O AD FS usa o protocolo WS-F PRP para transmitir declarações nos tokens de segurança que são emitidos pelo Serviço de Federação para o aplicativo da Web. Para obter mais informações sobre a especificação do WS-F PRP, consulte Recursos do AD FS.
Essas declarações são preenchidas inicialmente de repositórios de conta do AD DS ou AD LDS. O Serviço de Federação emite tokens baseados nas credenciais que são apresentadas. Depois que o repositório de conta verifica as credenciais do usuário, as declarações do usuário são geradas de acordo com as regras da diretiva de confiança. O Serviço de Federação mapeia as declarações de entrada para declarações de saída que forem apropriadas para um parceiro de recurso. Os mapeamentos de declaração resultantes são adicionados a um token de segurança que é emitido para o parceiro de recurso. Para obter mais informações sobre declarações, consulte Noções básicas sobre declarações.
Depois que o Serviço de Federação verifica o token, um cookie de autenticação é emitido e gravado no navegador do cliente. Sempre que o cliente precisar ser autenticado, o Serviço de Federação usará esse cookie para que o cliente não tenha que inserir as credenciais novamente. Isso permite o logon único (SSO). Para obter mais informações sobre cookies, consulte Noções básicas sobre os cookies usados pelo AD FS.
Páginas da Web do Serviço de Federação
O Serviço de Federação fornece uma página da Web que solicita que o usuário selecione um parceiro de conta apropriado no qual ele possa se autenticar. O Serviço de Federação também fornece uma página da Web que solicita as credenciais do usuário, como um nome de usuário e uma senha para a autenticação baseada em formulários. Também é fornecida uma página da Web que oferece suporte para a Autenticação Integrada do Windows.
Por trás das páginas da Web, o Serviço de Federação fornece um serviço da Web do Microsoft ASP.NET que processa as solicitações do proxy de cliente ou de servidor de federação. O proxy de servidor de federação está localizado na rede de perímetro. Ele atua como um intermediário entre um cliente da Internet e um Serviço de Federação na intranet. Para obter mais informações sobre a função do proxy de servidor de federação, consulte Noções básicas sobre o Serviço de Função Proxy de Serviço de Federação.
Há dois tipos básicos de solicitações às quais o Servidor de Federação responde:
-
Solicitações para emitir tokens de segurança
-
Solicitações para recuperar dados de diretiva de confiança
Descoberta de parceiro de conta
A descoberta de parceiro de conta é o processo pelo qual os usuários podem identificar o parceiro de conta que preferem para autenticação, no caso de mais de um único parceiro de conta estar configurado. O servidor de federação apresenta esta opção para o navegador do cliente como uma caixa suspensa que contém os nomes do parceiro de conta da forma como eles estão configurados na diretiva de confiança.
Um mecanismo que você pode usar para evitar a descoberta de parceiro de conta é incluir o parâmetro whr
na sequência da consulta para o recurso que está sendo acessado, por exemplo,
https://webserver/testapp/testpage.aspx?whr=urn:federation:<accountpartner>
onde <accountpartner>
indica o realm de parceiro de conta do cliente.
Quando o parâmetro whr
é usado, o servidor de federação de recurso remove o parâmetro e grava um cookie no navegador do cliente para lembrar desta configuração em solicitações futuras. Em seguida, a solicitação continua do mesmo modo, como se ela não tivesse sido fornecida.