Configurar a autenticação SSO da Web usando o ADFS (Windows SharePoint Services)
Atualizado em: 2008-04-10
Neste artigo:
Sobre sistemas de autenticação federados
Antes de começar
Configurando o aplicativo Web extranet para usar autenticação SSO da Web
Permitindo o acesso de usuários ao site extranet
Trabalhando com o People Picker
Trabalhando com declarações de email e UPN
Trabalhando com grupos e declarações de grupos organizacionais
Sobre sistemas de autenticação federados
O Windows SharePoint Services 3.0 oferece suporte para cenários de autenticação federada onde o sistema de autenticação não é local no computador que hospeda o Windows SharePoint Services 3.0. Os sistemas de autenticação federada também são conhecidos como sistemas de logon único (SSO). Com o ADFS (Serviços de Federação do Active Directory), funcionários de uma empresa podem acessar servidores hospedados em outra empresa usando suas contas existentes do Active Directory. O ADFS também estabelece uma relação de confiança entre as duas empresas e uma experiência de logon único simples para usuários finais. O ADFS depende de redirecionamentos 302 pra autenticar usuários finais. Os usuários recebem um token (cookie) de autenticação após serem autenticados.
Antes de começar
Antes de usar o ADFS para configurar a autenticação SSO para seu aplicativo Web extranet, familiarize-se com os seguintes recursos:
Entrada do Blog da Equipe de Produtos e Tecnologias Microsoft SharePoint sobre a configuração de vários provedores de autenticação (https://blogs.msdn.com/sharepoint/archive/2006/08/16/configuring-multiple-authentication-providers-for-sharepoint-2007.aspx) (em inglês).
Guia passo a passo sobre os Serviços de Federação do Active Directory (https://go.microsoft.com/fwlink/?linkid=145396\&clcid=0x416). Os nomes de servidor e exemplos usados neste artigo se baseiam nesse guia passo a passo que descreve a configuração do ADFS em um ambiente de teste pequeno. Nesse ambiente, um novo servidor chamado Trey-SharePoint é associado à floresta Trey Research. Siga as etapas do guia passo a passo para configurar a infraestrutura do ADFS. No entanto, como o artigo descreve como configurar o Windows SharePoint Services 3.0 em um modo de aplicativo com reconhecimento de declaração, você não precisa implementar todas as etapas descritas no guia para criar aplicativos de agente de token Windows NT.
Dica
Ao utilizar o People Picker para adicionar usuários ao Windows SharePoint Services 3.0, o Windows SharePoint Services 3.0 valida os usuários no provedor, que neste exemplo é o ADFS. Portanto, você deve configurar o Servidor de Federação antes de configurar o Windows SharePoint Services 3.0.
Importante
O processo de instalação foi capturado em um arquivo VBScript que pode ser usado para configurar o Windows SharePoint Services 3.0 para que use o ADFS na autenticação. Esse arquivo de script está contido no arquivo (SetupSharePointADFS.zip) e está disponível no blog de Produtos e Tecnologias do Microsoft SharePoint, listado na seção de anexos. Para obter mais informações, consulte a página do blog sobre um script para configurar o SharePoint para que use o ADFS na autenticação (em inglês).
Configurando o aplicativo Web extranet para usar autenticação SSO da Web
Instalar o Agente Web para Aplicativos com Reconhecimento de Declaração.
Baixe e instale o hotfix do ADFS descrito no documento que explica que o provedor de função e o provedor de associação não podem ser chamados do Windows SharePoint Services 3.0 em um computador baseado no Windows Server 2003 R2 que esteja executando o ADFS e o Microsoft Windows SharePoint Services 3.0 (https://go.microsoft.com/fwlink/?linkid=145397\&clcid=0x416). Esse hotfix será incluído no Windows Server 2003 Service Pack 2 (]SP2).
Instale o Windows SharePoint Services 3.0, configure todos os serviços e servidores do farm e crie um novo aplicativo Web. Por padrão, esse aplicativo Web será configurado para usar a autenticação do Windows, e será o ponto pelo qual seus usuários da intranet acessarão o site. No exemplo usado neste artigo, o site é chamado de http://trey-moss.
Estenda o aplicativo Web que você criou na etapa 2 em outra zona. Na página Gerenciamento de Aplicativos do site da Administração Central do SharePoint, clique em Criar ou Estender Aplicativo Web, clique em Estender um aplicativo Web existente e siga este procedimento:
Adicione um cabeçalho de host. Esse é nome DNS pelo qual o site será conhecido pelos usuários da extranet. Neste exemplo, o nome é extranet.treyresearch.net
Altere a zona para Extranet.
Forneça ao site um nome de cabeçalho de host que você configurará no DNS para solução dos usuários da extranet.
Clique em Usar SSL (Secure Sockets Layer) e altere o número da porta para 443. O ADFS exige que os sites sejam configurados para usar o SSL.
Na caixa Carregar URL Balanceada, exclua a cadeia de caracteres de texto :443. O Internet Information Services (IIS) usará automaticamente a porta 443 porque você especificou o número da porta na etapa anterior.
Conclua o resto do procedimento da página para concluir a extensão do aplicativo Web.
Na página Mapeamentos Alternativos de Acesso, verifique se as URLs exibidas são semelhantes às indicadas na tabela abaixo.
URL interna Zona URL Pública para Zona http://trey-moss
Padrão
http://trey-moss
https://extranet.treyresearch.net
Extranet
https://extranet.treyresearch.net
Adicione um certificado SSL ao site Extranet do IIS. Certifique-se de que esse certificado SSL seja emitido para extranet.treyresearch.net, porque esse é o nome que os clientes usarão ao acessar os sites.
Configure o provedor de Autenticação para a zona extranet do seu aplicativo Web para que ele use o SSO da Web da seguinte forma:
Na página Gerenciamento de Aplicativos do site da Administração Central do farm, clique em Provedores de Autenticação.
Clique em Alterar no canto superior direito da página e selecione o aplicativo Web no qual você deseja habilitar o SSO da Web.
Na lista de duas zonas mapeadas para este aplicativo Web, (ambas as quais devem indicar Windows), clique no link Windows da zona Extranet.
Na seção Tipo de Autenticação, clique em SSO da Web.
Na caixa Nome do provedor de associação, digite
SingleSignOnMembershipProvider2
Anote este valor; você o adicionará ao elemento de nome da seção <associação> dos arquivos web.config que serão editados posteriormente neste procedimento.
Na caixa Nome do gerenciador de atribuição, digite
SingleSignOnRoleProvider2
Anote este valor; você o adicionará ao elemento do nome da seção <roleManager> nos arquivos web.config que serão editados posteriormente neste procedimento.
Verifique se a configuração Habilitar Integração com Cliente está definida como Não.
Clique em Salvar.
Seu aplicativo Web extranet está configurado para usar o SSO da Web. No entanto, neste ponto o site estará inacessível porque ninguém tem permissão para usá-lo. A próxima etapa é atribuir permissões a usuários, para que eles possam acessar o site.
Dica
Após selecionar o WebSSO como Provedor de Autenticação, a Autenticação Anônima será habilitada automaticamente para o site SharePoint no IIS (não é necessária uma ação do usuário). Essa configuração é necessária para que o site permita o acesso usando somente declarações.
Permitindo o acesso de usuários ao site extranet
Use um editor de texto para abrir o arquivo web.config do site na zona padrão que está usando a autenticação do Windows.
Adicione a seguinte entrada em qualquer ponto do nó <system.web>.
<membership>
<providers>
<add name="SingleSignOnMembershipProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://fs-server/adfs/fs/federationserverservice.asmx" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
<providers>
<remove name="AspNetSqlRoleProvider" />
<add name="SingleSignOnRoleProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://fs-server/adfs/fs/federationserverservice.asmx" />
</providers>
</roleManager>
Altere o valor de fs-server para refletir o Servidor de Federação (adfsresource.treyresearch.net) do seu recurso. Verifique se você digitou corretamente os nomes do provedor de associação e dos gerenciadores de atribuição na página de Provedores de Autenticação da Administração Central. Quando esta entrada for adicionada ao arquivo web.config, o People Picker no site de zona padrão que está usando a autenticação do Windows será capaz de reconhecer os provedores ADFS e, portanto, poderá resolver as declarações do ADFS. Isso permitirá que você conceda permissões às declarações do ADFS no seu site.
Conceda acesso para declarações do ADFS ao site desta forma:
Navegue para o site na zona padrão que utiliza a autenticação do Windows como administrador do site.
Clique no menu Ações do Site, aponte para Configurações do Site e clique em Permissões Avançadas.
Clique em Novo e, em seguida, em Adicionar Usuários.
Para adicionar uma declaração de usuário, especifique seu endereço de email ou Nome Principal do Usuário na seção Usuários/Grupos. Se ambas as declarações UPN e de email forem enviadas do servidor de federação, o SharePoint usará o UPN para confirmar o MembershipProvider. Portanto, se quiser usar email, você terá que desabilitar a declaração UPN no seu servidor de federação. Consulte "Trabalhando com declarações de email e UPN” para obter mais informações.
Para adicionar uma declaração de grupo, digite o nome da declaração que o site SharePoint deve usar na seção Usuários/Grupos. Por exemplo: crie uma declaração de grupo organizacional chamada Colaboradores do Adatum no Servidor de Federação. Adicione o nome de declaração Colaboradores do Adatum ao site Sharepoint como o faria com um usuário ou grupo do Windows. Você pode atribuir a essa declaração Membros da Home [Contribute] e, depois, qualquer usuário que acessar o site SharePoint usando esta declaração de grupo terá acesso de Colaboração ao site.
Selecione o nível de permissão ou grupo do SharePoint adequado.
Clique em OK.
Use o editor de texto de sua escolha para abrir o arquivo web.config do site extranet e adicione a seguinte entrada ao nó <configSections>.
<sectionGroup name="system.web">
<section name="websso" type="System.Web.Security.SingleSignOn.WebSsoConfigurationHandler, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />
</sectionGroup>
Adicionar a seguinte entrada ao nó <httpModules>
<add name="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />
Dica
O módulo de autenticação do ADFS sempre deve ser especificado após o módulo SPRequest do Sharepoint no nó <httpModules> do arquivo web.config. É mais seguro adicioná-lo como última entrada desta seção.
Adicione a seguinte entrada em qualquer ponto do nó <system.web>.
<membership defaultProvider="SingleSignOnMembershipProvider2">
<providers>
<add name="SingleSignOnMembershipProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider2">
<providers>
<add name="SingleSignOnRoleProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</providers>
</roleManager>
<websso>
<authenticationrequired />
<auditlevel>55</auditlevel>
<urls>
<returnurl>https://your_application</returnurl>
</urls>
<fs>https://fs-server/adfs/fs/federationserverservice.asmx</fs>
<isSharePoint />
</websso>
Dica
Altere o valor de fs-server para seu computador de Servidor de Federação e o valor de your_application para refletir a URL de seu aplicativo Web extranet.
Navegue para o site https://extranet.treyresearch.net como usuário do ADFS com permissões para o site extranet.
Sobre o uso da Administração Central
Você também pode usar a política da Administração Central para conceder direitos a usuários do ADFS, mas é melhor não usar esse método pelos seguintes motivos:
Conceder direitos por política é uma operação muito grosseira. Ela permite que o usuário (ou grupo) tenha o mesmo conjunto de direitos em todos os sites de todos os conjuntos de sites do aplicativo Web inteiro. Ela deve ser usada com muita parcimônia; neste cenário específico, podemos conceder acesso a usuários do ADFS sem usar este método.
Depois que os sites são usados em um ambiente extranet, é muito provável que os usuários internos sejam responsáveis por conceder acesso a sites e conteúdo. Como somente os administradores de farm têm acesso ao site de Administração Central, não faz sentido que os usuários internos possam adicionar declarações do ADFS do site de zona padrão que está usando autenticação do Windows.
À medida que estende os aplicativos Web usando provedores diferentes, você pode configurar um ou mais deles para localizar usuários e grupos de provedores variados que estão sendo usados no aplicativo Web. Neste cenário, configuramos o site que usa a autenticação do Windows de forma a permitir que os usuários desse site selecionem outros usuários e grupos do Windows e declarações do ADFS de um só site.
Trabalhando com o People Picker
O People Picker não pode realizar pesquisas de atribuições com curinga. Se você possui uma Atribuição de SSO da Web chamada Leitores e digitar Leit na caixa de diálogo de pesquisa do People Picker, ele não localizará sua declaração. Se você digitar Leitores, a atribuição será encontrada. Isso não constitui um defeito; simplesmente não é possível realizar pesquisas com curinga usando o provedor Atribuição.
Por padrão, arquivos executáveis na linha de comando, como stsadm.exe, não podem resolver declarações do ADFS. Por exemplo, você pode querer adicionar um novo usuário ao site extranet usando o comando stsadm.exe –o adduser. Para permitir que o Stsadm (ou outro arquivo executável) resolva usuários, crie um novo arquivo config da seguinte maneira:
Crie um novo arquivo chamado stsadm.exe.config no mesmo diretório onde está localizado stsadm.exe (%programfiles%\Common Files\Microsoft Shared Debug\Web Server Extensions\12\BIN). Adicione a seguinte entrada ao arquivo stsadm.exe.config:
<configuration>
<system.web>
<membership defaultProvider="SingleSignOnMembershipProvider2">
<providers>
<add name="SingleSignOnMembershipProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://fs-server/adfs/fs/federationserverservice.asmx" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider2">
<providers>
<add name="SingleSignOnRoleProvider2" type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fs="https://fs-server/adfs/fs/federationserverservice.asmx" />
</providers>
</roleManager>
</system.web>
</configuration>
Dica
Altere o valor de fs-server no seu Servidor de Federação de recurso (adfsresource.treyresearch.net).
Trabalhando com declarações de email e UPN
Para configurar se o Servidor de Federação poderá ou não enviar declarações de email ou UPN para o Windows SharePoint Services 3.0, siga o procedimento abaixo.
Configurar declarações de UPN e email em um Servidor de Federação
Em Ferramentas Administrativas do seu Servidor de Federação, abra o snap-in ADFS.
Dica
Você também pode abrir o snap-in ADFS, digitando ADFS.MSC na caixa de diálogo Executar.
Selecione o nó de aplicativo do Windows SharePoint Services 3.0 (seu aplicativo já deve ter sido adicionado à lista de nós).
Na lista de declarações à direita, clique com o botão direito do mouse em Email e selecione Habilitar ou Desabilitar.
Na lista de declarações à direita, clique com o botão direito do mouse em UPN e selecione Habilitar ou Desabilitar.
Dica
Se UPN e Email forem habilitados, o Windows SharePoint Services 3.0 usará o UPN para fazer a verificação de declarações. Portanto, ao configurar o Windows SharePoint Services 3.0, tenha cuidado ao escolher a declaração de usuário. Lembre-se também que a declaração do UPN só funcionará de forma consistente se os sufixos do UPN e os sufixos de email aceitos pelo Servidor de Federação forem idênticos, porque o provedor de associação tem o email como base. Devido a essa complexidade na configuração de declarações do UPN, o email é a configuração de declaração de usuário recomendada para autenticação de associação.
Trabalhando com grupos e declarações de grupos organizacionais
No Windows SharePoint Services 3.0, direitos podem ser atribuídos a grupos do Active Directory adicionando-os a um grupo do SharePoint ou diretamente a um nível de permissão. O nível de permissões que um determinado usuário tem em um site é calculado com base nos grupos do Active Directory dos quais ele é membro, dos grupos do SharePoint aos quais ele pertence e em quaisquer níveis de permissão aos quais tenha ele sido adicionado diretamente.
Quando você usa o ADFS como provedor de função no Windows SharePoint Services 3.0, o processo é diferente. Não há como o provedor SSO Web resolver diretamente um grupo do Active Directory; em vez disso, ele resolve a associação usando declarações de grupo organizacionais. Ao usar o ADFS com o Windows SharePoint Services 3.0, você precisa criar um conjunto de declarações de grupo organizacionais no ADFS. Depois é possível associar vários grupos do Active Directory com uma declaração de grupo organizacional do ADFS.
Para que as declarações de grupo funcionem com a versão mais recente do ADFS, você precisa editar o arquivo ADFS no IIS do seu servidor ADFS.
Abra o arquivo web.config file e adicione <getGroupClaims /> ao nó <FederationServerConfiguration> dentro do nó <System.Web>, conforme mostrado no exemplo abaixo.
<configuration>
<system.web>
<FederationServerConfiguration>
<getGroupClaims />
</FederationServerConfiguration>
</system.web>
</configuration>
No Adatum (Floresta de Contas), faça o seguinte:
Crie um grupo do Active Directory chamado Trey SharePoint Readers.
Crie um grupo do Active Directory chamado Trey SharePoint Contributors.
Adicione Alansh ao grupo Readers e Adamcar ao grupo Contributors.
Crie uma declaração de grupo organizacional chamada Trey SharePoint Readers.
Crie uma declaração de grupo organizacional chamada Trey SharePoint Contributors.
Clique com o botão direito do mouse no armazenamento de conta do Active Directory e clique em Nova Extração de Declaração de Grupo.
Selecione a declaração de grupo organizacional Trey SharePoint Readers e associe-a ao grupo Trey SharePoint Readers do Active Directory.
Repita a etapa 6 e associe a declaração Trey SharePoint Contributors ao grupo Trey SharePoint Contributors do Active Directory.
Clique com o botão direito do mouse em Trey Research Account Partner e crie os mapeamentos de declaração de saída:
Selecione a declaração Trey SharePoint Reader e mapeie para a declaração de saída adatum-trey-readers.
Selecione a declaração Trey SharePoint Contributor e mapeie para a declaração de saída adatum-trey-contributors.
Dica
Os nomes de mapeamento de declaração devem ser combinados entre as organizações, pois devem corresponder exatamente.
No lado Trey Research, inicie ADFS.MSC e faça o seguinte:
Crie uma declaração de grupo organizacional chamada Adatum SharePoint Readers.
Crie uma declaração de grupo organizacional chamada Adatum SharePoint Contributors.
Crie mapeamentos de grupo de entrada para suas declarações:
Clique com o botão direito do mouse no parceiro de conta Adatum e clique em Mapeamento da Declaração de Email de Entrada.
Selecione Adatum SharePoint Readers e mapeie para o nome de declaração de entrada adatum-trey-readers.
Selecione Adatum SharePoint Contributors e mapeie para o nome de declaração de entrada adatum-trey-contributors.
Clique com o botão direito do mouse no aplicativo Web do Windows SharePoint Services 3.0 e clique em Habilitar nas declarações Reader e Contributor.
Navegue para o site http://trey-moss no lado Trey Research como administrador do site e faça o seguinte:
Clique no menu Ações do Site, aponte para Configurações do Site e clique em Pessoas e Grupos.
Se o grupo Membros do seu site ainda não estiver selecionado, clique nele.
Clique em Novo e, em seguida, clique em Adicionar Usuários na barra de ferramentas.
Clique no ícone do catálogo de endereços ao lado da caixa Usuários/Grupos.
Na caixa Localizar da caixa de diálogo People Picker, digite
Adatum SharePoint Readers
Na seção Dar Permissão, selecione Home page do grupo do SharePoint Visitantes [leitores].
Na caixa Localizarind, digite
Adatum SharePoint Contributors
Na seção Dar Permissão, selecione Home page do grupo do SharePoint Membros [Contribuir].
Baixar este manual
Este tópico está incluído no seguinte manual baixável para facilitar a leitura e a impressão:
Consulte a lista completa de manuais disponíveis na seção sobre os manuais para Windows SharePoint Services que podem ser baixados.