Essa página tem como objetivo auxiliar na configuração do seu IDP Shibboleth com a configuração de acesso SSO do Google Workspace.
Atenção !
Substituir a variável $DOMAIN presente no roteiro pelo domínio de sua instituição. Exemplo: $DOMAIN por "rnp.br"
Guia passo a passo
Durante o processo de configuração em seu IDP com Shibboleth iremos editar e escrever em alguns arquivos, são eles:
relaying-party.xml
saml-nameid.xml
attribute-resolver.xml
metadata-providers.xml
attribute-filter.xml
Todos eles ficam no mesmo diretório /opt/shibboleth-idp/conf
Sugiro que seja feito um backup desses arquivos antes de edita-los, caso seja necessário basta voltar ao estado anterior deles para normalizar qualquer problema em seu IDP.
Seguir os procedimentos abaixo para a configuração da autenticação federada do Google em seu IdP:
Alterar o arquivo "relaying-party.xml".
Dentro da tag <util:list id="shibboleth.RelyingPartyOverrides">
Dentro da tag <util:list id="shibboleth.SAML2NameIDGenerators">
<!-- Release to Google an "emailAddress" NameID with the value of Gprincipal --><beanparent="shibboleth.SAML2AttributeSourcedGenerator"p:format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"p:attributeSourceIds="#{ {'Gprincipal'} }"> <propertyname="activationCondition"> <beanparent="shibboleth.Conditions.RelyingPartyId"c:candidate="google.com" /> </property></bean>
Alterar o arquivo "attribute-resolver.xml.
Dentro da arquivo de configuração /conf/attribute-resolver.xml criar uma nova definição de atributo iniciando com o seguinte parâmetro <AttributeDefinition> para gerar o atrbituo "Gprincipal"
Criar o arquivo de propriedade do atributo Gprincipal.
Dentro do diretório conf/attributes/custom/ criar o arquivo com o seguinte nome "Gprincipal.properties" e inserir o seguinte conteúdo:
# Gprincipal
id=Gprincipal
transcoder=SAML2StringTranscoder
displayName.en=Username Google
displayName.it=Username Google
description.en=Username for Google
description.it=Username usato da Google
saml2.name=urn:oid:0.9.2342.19200300.100.1.3
saml1.encodeType=false
Criar o arquivo de metadata dentro do diretório /metadata.
Nessa etapa deve-se criar o arquivo de metadado dentro do diretório do Shibboleth. Para isso use um editor de sua preferência para criar o metadado com o segiunte nome:
google-md.xml
Dentro desse arquivo copiar e colar esse conteúdo:
ATENÇÃO! Essa etapa possui uma alteração no conteúdo abaixo, repare que nesse caso há uma variável "$DOMAIN", você deve substituir pelo domínio configurado na sua autenticação SSO do Google.
E certifique-se de que “Use a domain specific issuer” esteja marcado.
Além disso, esse "Verificiation certificate" é seu idp.crt
É isso. Depois de concluir o procedimento acima, você deverá ter uma instância do Google Apps for Education em funcionamento, autenticando-se em seu servidor Shibboleth.
Lembrando que é necessário que os usuários que irão acessar o google tenham configurado as suas permissões com acesso administrador ao espaço.