O Shibboleth é um produto gratuito e de código aberto que oferece uma solução de identidade federada para conectar usuários a aplicativos, tanto dentro quanto fora das instituições. A estrutura flexível de provedor de módulo de SSO do Lumina foi projetada para oferecer suporte a uma ampla variedade de soluções de identidade, permitindo a integração completa do Shibboleth à sua infraestrutura em alguns passos simples.
Visão geral
Este documento tem como objetivo orientar os usuários sobre como integrar o servidor IDP Shibboleth de sua instituição como sistema de SSO para fazer login no Lumina usando o protocolo SAML 2.0. Depois de configurado corretamente, os usuários poderão fazer um login iniciado pelo provedor de serviços (SP), ser redirecionados ao provedor de identidade (IDP) e solicitados a informar as credenciais, ser autenticados com sucesso e, então, ser redirecionados de volta ao Lumina, onde serão conectados como usuários.
Configuração do Shibboleth
A configuração envolve criar os metadados do SP para o Lumina e adicioná-los como provedor de metadados do SP no IDP Shibboleth. Em seguida, configurar o Lumina para se comunicar com o IDP permitirá testar e ativar o novo sistema de SSO.
Para instruções sobre como criar os metadados do SP, clique aqui.
Observação: Em algumas etapas, <organization> deve ser substituído pelo DNS curinga da organização associada ao Lumina. Por exemplo, para “https://hudson.yuja.com”, <organization> seria substituído por “hudson”.
Criar os metadados do SP
- Acesse https://www.samltool.com/sp_metadata.php.
-
Insira os seguintes parâmetros:
Parâmetro Valor EntityId https://<organization>.yuja.com Attribute Consume Service Endpoint
(HTTP-POST)
https://<organization>.yuja.com/D/SamlReceiveResponse NameId Format urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress AuthnRequestsSigned False WantAssertionsSigned True - Deixe os demais campos vazios e clique em BUILD SP METADATA.
- Copie o texto do campo de texto SP Metadata.
- Abra qualquer editor de texto. Cole o texto copiado e salve-o como um arquivo .xml. Salve o arquivo .xml em um local conveniente, pois ele será necessário na próxima etapa.
Configuração do IDP Shibboleth
- No diretório do seu IDP Shibboleth, abra %IDP_HOME%/conf/metadata-providers.xml em qualquer editor de texto.
- Dentro do elemento <MetadataProvider> com xsi:type=”ChainingMetadataProvider”, adicione o elemento a seguir, substituindo <someId> por qualquer string de identificador apropriada: <MetadataProvider id="<someId>" xsi:type="FilesystemMetadataProvider" metadataFile="C:\path\to\YuJa\metadata" />
- Certifique-se de que o IDP libere os seguintes atributos para o Lumina na resposta SAML:
- Nome principal (ou seja, nome de usuário)
- Nome
- Sobrenome
-
Função
Observação: Os nomes dos atributos usados na resposta SAML são necessários para que o Lumina provisione e crie usuários. Informe esses valores ao Lumina após a configuração.
A declaração Role é usada para determinar se os usuários são provisionados como estudantes (o padrão) ou recebem privilégios ampliados (Instrutor/Gerente de TI). Os valores sugeridos para esse campo são IT Manager e Instructor (para os usuários aos quais você deseja conceder privilégios de Gerente de TI/Instrutor, respectivamente), mas você pode usar valores existentes ou personalizados.
- O Lumina não criptografa as solicitações de autenticação e não reconhece respostas criptografadas. Portanto, o IDP deve ser configurado para tornar a criptografia opcional:
- Abra %IDP_HOME%/conf/idp.properties em qualquer editor de texto.
- Se necessário, adicione a seguinte linha ao arquivo de propriedades: idp.encryption.optional = true
- Abra o arquivo de metadados do IDP, localizado em %IDP_HOME%/metadata/idp-metadata.xml. Ele será necessário para configurar o lado do Lumina.
Configuração do SAML no Lumina
Depois que o IDP estiver configurado, o SP deve ser configurado para se comunicar com o IDP. Alguns dos parâmetros de configuração estão nos metadados do IDP. Siga as etapas abaixo para integrar o Shibboleth ao Lumina.
- Faça login no Lumina como Gerente de TI e acesse Painel de administrador → Integrações.
- Em Selecione integração, escolha SSO – Shibboleth (SAML).
-
Insira as informações a seguir. Ao criar o sistema de SSO pela primeira vez, você pode deixar em branco os campos de Provisionamento de usuário para que possa executar primeiro Testar login SAML e obter os valores. Você sempre pode inserir os valores depois e salvar a configuração.
Atributo Obrigatório? Descrição URL de SSO do Shibboleth Sim A URL usada para o SSO. É para onde o Lumina enviará os tokens AuthnRequest.
Encontrada nos metadados do IDP Shibboleth em:
<IDPSSODescriptor> → <SingleSignOnService>
Localize o elemento com o binding “SAML:2.0:bindings:HTTP-Redirect” e use o atributo “Location” dessa tag.
Por exemplo: https://idp.example.com/idp/profile/SAML2/Redirect/SSO
Formato do Name ID Sim O formato a ser usado pelo SP e pelo IDP ao se comunicarem sobre um sujeito.
Encontrado nos metadados do IDP Shibboleth em:
<IDPSSODescriptor> → <NameIDFormat> como o valor dessa tag. Observe que, se disponível, emailAddress deve ser priorizado e usado.
Por exemplo: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
URL de logout remoto Atualmente não compatível Deixe este valor em branco. Impressão digital do certificado de assinatura do Shibboleth Não, mas é fortemente
recomendado
A impressão digital exclusiva do certificado do IDP usado para assinar as respostas SAML.
A impressão digital não está explicitamente nos metadados, mas o certificado usado para assinar a SAMLResponse ou a Assertion está.
Consulte a seção intitulada Como obter a impressão digital de um certificado deste documento para mais detalhes.
Por exemplo: 7j2mka9cfe2d09j23eefe01442f6a49d1222391f
Atributo de nome Não O nome do atributo na resposta SAML** que descreve o nome do usuário (ou seja, o primeiro nome).
Por exemplo: urn:oid:2.5.4.42
Atributo de sobrenome Não O nome do atributo na resposta SAML** que descreve o sobrenome do usuário (ou seja, o último nome). - Por exemplo: urn:oid:2.5.4.4 Atributo de e-mail Não O nome do atributo na resposta SAML** que descreve o endereço de e-mail do usuário.
Por exemplo: urn:oid:0.9.2342.19200300.100.1.3
Atributo de função Não O nome do atributo na resposta SAML** que descreve a função do usuário.
Por exemplo: urn:oid:1.3.6.1.4.1.5923.1.1.1.5
Gerente de TI Não Pode ser usada uma lista de valores separados por vírgula
Se o valor recebido no Atributo de função corresponder a qualquer um desses valores, o usuário será provisionado como gerente de TI.
Por exemplo: IT Manager
Instrutor Não Pode ser usada uma lista de valores separados por vírgula
Se o valor recebido no Atributo de função corresponder a qualquer um desses valores, o usuário será provisionado como instrutor.
Por exemplo: Instructor ou Instructor,Teacher,TA
Sincronizar dados automaticamente no login do usuário Não Se habilitado, sempre que um usuário fizer login via Shibboleth, suas informações básicas serão atualizadas com base nos dados recebidos no token de resposta SAML. Observação: Para obter um exemplo de resposta SAML, siga primeiro as instruções em Plug-in útil do Chrome para depuração de tokens SAML, na seção Ferramentas adicionais deste documento. Depois de instalar o plug-in, execute Testar login SAML conforme descrito na etapa 7 desta seção, certificando-se de que o plug-in esteja aberto antes de fazer login, para que ele possa ler o token de resposta SAML.
- Clique em Criar.
- Clique em Ok na caixa de diálogo de confirmação.
- Se necessário, você pode atualizar as configurações caso tenha cometido algum erro. Basta clicar em Salvar para manter as alterações.
- Para testar se a configuração está correta, clique em Testar login SAML no canto superior direito. Isso deve abrir uma nova guia e acessar o seu servidor Shibboleth, solicitando o login.
- Insira credenciais de login válidas e faça login.
- Você deve ser redirecionado de volta ao Lumina, conectado como um novo usuário. Saia da conta do novo usuário e faça login novamente como Gerente de TI; depois, volte para Painel de administrador→ Integrações → SSO – Shibboleth (SAML).
- Depois de verificar que o SSO Shibboleth funciona, você pode ativar o novo esquema de autenticação para a sua instituição. Ative o novo esquema de autenticação somente depois de realizar um login de teste com sucesso e quando estiver pronto para disponibilizá-lo a todos os usuários da sua instituição. Para isso, clique em Ativar e, em seguida, clique em Ok na caixa de diálogo de confirmação.
Integração dupla com LTI
Se a sua organização habilitou tanto o LTI quanto o acesso por SSO SAML, você pode vincular as duas integrações. Por padrão, um usuário que faz login por LTI e por SAML recebe uma conta separada do Lumina para cada login. Se o seu provedor de LTI estiver configurado para autenticar os usuários com as credenciais SAML, é possível vincular as duas contas, pois o provedor de LTI fornecerá ao Lumina um identificador exclusivo do usuário no sistema SAML.
- Configure o seu LMS para passar um parâmetro LTI personalizado chamado lis_person_sourcedid, que contém o valor de SSO usado para correspondência. Pode ser um e-mail, um ID de funcionário ou outro campo. O Lumina usará esse recurso para vincular os dois métodos de login à mesma conta.
- Obtenha o nome específico do atributo usado no token de resposta SAML cujo valor corresponde ao identificador exclusivo usado pelo provedor de LTI. Por exemplo, se o identificador exclusivo for o sAMAccountName do usuário, o atributo de vínculo poderá ser 'urn:oid:1.2.840.113556.1.4.221'. Consulte a configuração de atributos do seu IDP para ver a lista de valores possíveis.
- Insira esse valor em Atributo de ligação
- Clique em Salvar.
- Agora, ao fazer login pela primeira vez via Shibboleth (SAML), o sistema Lumina procurará um vínculo com uma conta LTI usando o valor do atributo de ligação. Se encontrar, a conta vinculada ao Shibboleth será vinculada à conta existente vinculada ao LTI. Caso contrário, uma nova conta será provisionada normalmente. Todos os logins após o primeiro continuarão vinculados à conta do Lumina criada ou encontrada no primeiro login.
Uso
Depois que os dois lados forem configurados e o SSO SAML for ativado, é fácil testar e verificar se tudo foi feito corretamente.
- Acesse o domínio do Lumina da organização (https://<organization>.yuja.com) e pressione Login. Isso deve redirecionar o usuário para a página de login do servidor IDP Shibboleth.
- Insira credenciais válidas e faça login.
- Depois de autenticado, o usuário deve ser redirecionado de volta ao Lumina.
Ferramentas adicionais
Como obter a impressão digital de um certificado
A impressão digital do certificado do IDP é usada para fins adicionais de segurança quando o SP verifica uma resposta SAML do IDP. Para obter a impressão digital do certificado, siga as instruções abaixo:
- Nos metadados do IDP do Google, extraia o certificado X509. Ele deve estar em: <IDPSSODescriptor> →<KeyDescriptor use=”signing”> → <KeyInfo> → <X509Data> → <X509Certificate>
- Depois de obter o certificado, acesse o seguinte site: https://www.samltool.com/fingerprint.php.
- Cole o certificado na caixa de texto “X509 cert”.
- Verifique se “sha1” está selecionado como Algorithm.
- Clique em “Calculate Fingerprint”.
- Copie o valor “FingerPrint” gerado. Esse é o valor usado no banco de dados. A impressão digital deve ser um array de 20 bytes para “sha1”.
Plug-in útil do Chrome para depuração de tokens SAML
Se você usa o Chrome como navegador, talvez queira instalar um plug-in SAML útil em: https://chrome.google.com/webstore/detail/saml-chrome-panel/paijfdbeoenhembfhkhllainmocckace?hl=en. Depois de instalado, basta abrir as ferramentas do desenvolvedor no navegador (F12) e clicar na guia SAML. Agora, ao fazer um login iniciado pelo SP, os tokens SAML enviados pelo navegador serão exibidos em detalhes. Essa ferramenta pode ser muito útil para depurar solicitações e respostas SAML.