Configurando a autenticação Shibboleth

Esta seção descreve como configurar o Shibboleth para que seja possível usar o Service Desk ou o Asset Manager com a política de logon Apenas Shibboleth.

Para obter mais informações e informações específicas sobre como configurar o Shibboleth, consulte a documentação do Shibboleth.

O Shibboleth é composto de duas partes:

  • Um Provedor de Identificação (IdP) – um aplicativo de web que é configurar para interagir com o Active Directory. Ele exibe uma página de login para a inserção de credenciais relevantes e confirma sua identidade com o(s) sistema(s) configurados que ele possui.
  • Um Provedor de Serviço (SP) – um complemento para seu servidor web (por exemplo, IIS ou Apache) que é configurado para proteger certos caminhos do website (como /ServiceDesk.WebAccess). Ele redireciona usuários para o IdP para realizar o login e, em seguida, transmitir informações sobre a identidade deles no aplicativo web ao adicionar cabeçalhos à solicitação HTTP. O SP e o IdP não precisa se comunicar diretamente, mas eles precisam ser configurados para confiarem um no outro. O navegador do usuário precisa de visibilidade de ambos.

Se você estiver usando o IIS, certifique-se de que o recurso do Windows de Compatibilidade de Gerenciamento com o IIS 6 esteja instalado em seu servidor de web.

Os exemplos abaixo incluem exemplos de endereço. Lembre-se de substituir esses endereços com seus próprios valores

Conectando com seu IdP interno

O primeiro passo é conectar com o IdP interno.

Para conectar com seu IdP interno:

  1. Vá em https://localhost/Shibboleth.sso/Metadata no seu servidor de web para baixar um arquivo XML que contém informações detalhadas sobre o SP.
  2. Salve-o com um nome único para seu SP.
  3. No servidor Shibboleth, copie o arquivo XML do passo anterior para C:\Program Files (x86)\Shibboleth\IdP\metadata.
  4. Abra o arquivo C:\Program Files (x86)\Shibboleth\IdP\conf\metadata-providers.xml em um editor de texto.
  5. Onde o comentário orientar, adicione uma linha como a descrito abaixo com uma ID única e o caminho para seu arquivo de metadados similar a:
Copiar
<MetadataProvider id="LocalMetadataUNIQUEID" xsi:type="FilesystemMetadataProvider" metadataFile="%{idp.home}/metadata/example.com.xml"/>
  1. Salve e feche o arquivo.
  2. Reinicie o serviço Shibboleth 3 IdP Daemon e desconecte do servidor.
  3. Em seu servidor, navegue até C:\Program Files\Shibboleth\etc\shibboleth e abra shibboleth2.xml.
  4. Na seção <Sessions>, substitua a tag <SSO> para ser igual a:
Copiar
<SSO entityID="https://www.example.com/idp/shibboleth"> SAML2 SAML1</SSO>
  1. Na seção <ApplicationDefaults>, adicione a uma tag <MetadataProvider> a:
Copiar
<MetadataProvider type="XML"
    uri="https://www.example.com/idp/shibboleth"
    backingFilePath="lab-shib01-idp-metadata.xml"
    reloadInterval="180000"/>
  1. Salve o arquivo e reinicie o IIS e o serviço Shibboleth 2 Daemon (padrão).

Na parte inferior da lista de variáveis do servidor, há alguns valores relacionados ao Shibboleth, como HTTP_EPPN, que confirma o nome de usuário conectado.

Mais informações sobre a sessão estão disponíveis em https://webserver/Shibboleth.sso/Session.

Alterando o nome da variável de servidor para HTTP_LANDESK_USER

O cabeçalho-padrão esperado pelos aplicativos Service Desk e Asset Manager para o nome do usuário conectado é HTTP_LANDESK_USER. Você pode substituir este arquivo tps.config para corresponder ao padrão (consulte Configurando o Web Access para usar uma variável de servidor diferente) ou pode reconfigurar o Shibboleth.

Configurando e protegendo o Service Desk e o Asset Manager

Quando você tiver associado os usuários do Service Desk e do Asset Manager ao login de rede usando o componente Administração no console, e configurado a Política de logon como descrito em Configuração da Diretiva de logon, você poderá proteger a instância do Web Access.

Para proteger a instância do Web Access:

  1. Navegue até C:\Program Files\Shibboleth\etc\shibboleth e abra shibboleth2.xml.
  2. Na seção <Host>, adicione uma tag <Path> com o nome da instância do Web Access:
Copiar
<Host name="hd37f6c6dv3ctrh.example.com">
    <Path name="secure" authType="shibboleth" requireSession="true"/>
    <Path name="ServiceDesk.WebAccess" authType="shibboleth"
        requireSession="true"/>
</Host>
  1. Salve o arquivo e reinicie o IIS e o serviço Shibboleth 2 Daemon (padrão).
  2. Vá em https://webserver/ServiceDesk.WebAccess.
    Você está conectado.

O Web Access procura o valor HTTP_LANDESK_USER em dois lugares. Primeiro, ele procura nos cabeçalhos HTTP que o SP do Shibboleth preenche. Em seguida, ele procura na string de consulta de URL, que é como você pode testar a autenticação Shibboleth sem a configuração de ambiente totalmente integrado.

Para testar o Web Access usando a string de consulta de URL, navegue até: https://webserver/ServiceDesk/WebAccess/[email protected].

Isso não causa qualquer efeito em um ambiente Shibboleth integrado. O SP ainda redireciona você à página de login do IdP e preenche o cabeçalho HTTP, que tem preferência sobre o valor do URL.

Configurando o Web Access para usar uma variável de servidor diferente

Em vez de reconfigurar o Shibboleth para usar o nome de atributo HTTP_LANDESK_USER, você pode reconfigurar o Web Access para usar o nome de atributo padrão HTTP_EPPN.

Para configurar o Web Access para usar uma variável de servidor diferente:

  1. Abra o arquivo tps.config do Web Access e acione a linha:
Copiar
<add key="ShibbolethHeaderId" value="HTTP_EPPN" />
  1. Recicle o pool de aplicativos usados pelo Web Access.