Fornecedor de Identidade Shibboleth


A instalação e configuração de um Fornecedor de Identidade Shibboleth depende do tipo de repositório de utilizadores que a instituição suporta (Active Directory, OpenLDAP ou Azure AD). A equipa RCTSaai fornece suporte na instalação e configuração do Shibboleth IdP 5.2.3 para o sistema operativo Debian 13, disponibilizando um playbook Ansible que automatiza a respetiva instalação e configuração. O playbook suporta os dois tipos de integração com repositório de utilizadores — Active Directory / OpenLDAP e Azure AD — bastando indicar a opção pretendida no ficheiro de parâmetros (type_of_idp: ldap ou type_of_idp: azure).

Requisitos do Servidor

Esta máquina tem requisitos específicos em termos de sistema operativo, pelo que reforçamos que deve ser instalada uma VM com o Debian 13. Este Debian deverá ter uma instalação Server Basic ou Minimal.

Em termos de hardware, necessitamos que a máquina tenha no mínimo:

  • 20GB de armazenamento
  • 4GB de RAM
  • Processador com 4 núcleos

Requisitos de Rede

A máquina deverá ter acesso à internet nos seguintes portos:

  • 80 (o porto 80 será depois fechado)
  • 443

Adicionalmente, deverá conseguir comunicar com o repositório de utilizadores da instituição (AD, OpenLDAP ou Azure AD).

Integração com AD ou OpenLDAP

A instalação e configuração do Shibboleth IdP com ligação a um Active Directory ou OpenLDAP é realizada através do playbook Ansible, configurando o parâmetro type_of_idp: ldap no ficheiro de parâmetros.

Integração com Azure AD

A integração do Shibboleth IdP com Azure AD utiliza o Shibboleth IdP como um proxy SAML que assume simultaneamente o perfil de Identity Provider perante os serviços RCTSaai e o perfil de Service Provider perante a Azure AD, a saber:

  • SAML PROXY - Shibboleth Perfil Service Provider: Este perfil é responsável por delegar a autenticação e recolha de atributos na Azure AD
  • SAML PROXY - Shibboleth Perfil Identity Provider: Este perfil é responsável pelo mapeamento e filtragem de atributos para serviços RCTSaai e eduGAIN

Com esta integração, o utilizador seleciona o Fornecedor de Identidade da sua instituição (Shibboleth IdP) e é redirecionado para a Azure AD onde realiza a autenticação. Os atributos são depois enviados para o Shibboleth IdP onde serão tratados, mapeados e filtrados. Após o consentimento no envio dos atributos, o utilizador é redirecionado para o serviço. A salientar, este utilizador terá uma sessão ativa na Azure AD e outra no Shibboleth IdP.

A instalação é realizada através do mesmo playbook Ansible, configurando o parâmetro type_of_idp: azure no ficheiro de parâmetros.

Esta integração assenta sobre as instruções disponíveis no site oficial do Shibboleth: Using SAML Proxying in the Shibboleth IdP to connect with Azure AD.