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.