Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução
Este documento descreve os procedimentos que devem ser executados para a instalação e configuração do
Shibboleth para utilização da Federação CAFe, visando a utilização do Periódicos da CAPES com autenticação
centralizada no próprio órgão de origem do servidor e/ou aluno.
Todos os procedimentos devem ser seguidos conforme especificação abaixo para que não haja
dessincronização com o servidor de Brasília e do Rio Grande do Sul.
Objetivo
Requisitos
• RAM – 02GB
• Máquina virtual instalada no Hyper-V
• Sistema Operacional: Ubuntu Server 10.04
• HD - 127 GB de disco rígido
• 01 interfaces de rede – IP 200.129.244.66
Procedimentos
1/9
Documentação Técnica (DT)
Implantação Federação CAFe
1) Foi instalado o Sistema Operacional Ubuntu versão 10.04 Server e configurado o servidor ntp conforme wiki
da RNP – http://wiki.rnp.br/pages/viewpage.action?pageId=41616299.
2) Foi instalado e configuradoo Tomcat conforme orientação da wiki da RNP –
http://wiki.rnp.br/pages/viewpage.action?pageId=43060377.
3) Foi instalado o Shibboleth-IDP conforme orientação da wiki da RNP –
http://wiki.rnp.br/pages/viewpage.action?pageId=43060402.
Os arquivos só podem ser modificados após instalação, ou seja instalação do Shibboleth que implica a
compilação da aplicação que é realizada na própria plataforma.
Os arquivos a serem alterados são attribute-filter.xml, attribute-resolver.xml, handler.xml, idp-
metadata.xml, java.security, server.xml, idp.xml, sites-available(apache),idp.conf, relying-party.xml. Para a
utilização na Federação CAFe faz-se necessário alteração novamente, indicando o provedor de serviço correto
da Federação.
Os arquivos attribute-resolver.xml e attribute-filter.xml são responsáveis pelo mapeamento dos atributos
do Active Directory e serão especificados no tópico Parâmetros Complementares.
As instruções para resolução e liberação de atributos estão na wiki da RNP –
http://wiki.rnp.br/pages/viewpage.action?pageId=41616318.
Também é importante baixar os certificados e gerar os certificados conforme orientação das páginas da
wiki – http://wiki.rnp.br/pages/viewpage.action?pageId=41616278, http://wiki.rnp.br/pages/viewpage.action?
pageId=43060402.
4) Após realização dos procedimentos, faz-se necessário a solicitação de inclusão do metadados na Federação
de homologação – Federação Chimarrão para que possa confirmar o funcionamento e também homologar os
parâmetros – wiki da RNP – http://wiki.rnp.br/pages/viewpage.action?pageId=41616265,
http://wiki.rnp.br/pages/viewpage.action?pageId=41616270.
5) Após homologado, para entrar na Federação CAFe, inclui-se alguns parâmetros para indicar o servidor da
Federação CAFe – wiki da RNP - http://wiki.rnp.br/pages/viewpage.action?pageId=41616243 – e deverá ser
homologado novamente. Após aceite da homologação, o próprio pessoal da Federação inclui o metadata no
Portal de Periódicos da CAPES e o serviço já estará disponível.
Para os usuários acessarem, deverão passar ainda por procedimentos para posterior utilização, a ser
criada em documentação a parte.
Parâmetros Complementares
Pasta: conf
Arquivo: attribute-filter.xml
<AttributeFilterPolicy id="releaseBasicAttributesToAnyone">
<PolicyRequirementRule xsi:type="basic:ANY" />
<AttributeRule attributeID="sAMAccountName">
<PermitValueRule xsi:type="basic:ANY" />
</AttributeRule>
<AttributeRule attributeID="eduPersonPrincipalName">
<PermitValueRule xsi:type="basic:ANY" />
</AttributeRule>
<AttributeRule attributeID="givenName">
<PermitValueRule xsi:type="basic:ANY" />
2/9
Documentação Técnica (DT)
Implantação Federação CAFe
</AttributeRule>
<AttributeRule attributeID="mail">
<PermitValueRule xsi:type="basic:ANY" />
</AttributeRule>
<AttributeRule attributeID="cn">
<PermitValueRule xsi:type="basic:ANY" />
</AttributeRule>
<AttributeRule attributeID="sn">
<PermitValueRule xsi:type="basic:ANY" />
</AttributeRule>
<AttributeRule attributeID="displayName">
<PermitValueRule xsi:type="basic:ANY" />
</AttributeRule>
<AttributeRule attributeID="brEduAffiliationType">
<PermitValueRule xsi:type="basic:ANY" />
</AttributeRule>
</AttributeFilterPolicy>
<AttributeFilterPolicy id="releaseToChimarraoOrCafe">
<PolicyRequirementRule xsi:type="basic:OR">
<basic:Rule xsi:type="basic:AttributeRequesterString" value="https://chimarrao.ufrgs.br/shibboleth-sp" />
<basic:Rule xsi:type="saml:AttributeRequesterInEntityGroup"
groupID="urn:mace:shibboleth:cafe:chimarrao" />
<basic:Rule xsi:type="saml:AttributeRequesterInEntityGroup" groupID="urn:mace:shibboleth:cafe" />
</PolicyRequirementRule>
</AttributeFilterPolicy>
<AttributeFilterPolicy>
<PolicyRequirementRule xsi:type="basic:OR">
<basic:Rule xsi:type="saml:AttributeRequesterInEntityGroup" groupID="urn:mace:incommon" />
<basic:Rule xsi:type="saml:AttributeRequesterInEntityGroup" groupID="http://ukfederation.org.uk" />
<basic:Rule xsi:type="saml:AttributeRequesterInEntityGroup" groupID="urn:mace:switch.ch:SWITCHaai" />
</PolicyRequirementRule>
<AttributeRule attributeID="eduPersonAffiliation">
<PermitValueRule xsi:type="basic:OR">
<basic:Rule xsi:type="basic:AttributeValueString" value="Tecnico Administrativo" ignoreCase="true" />
<basic:Rule xsi:type="basic:AttributeValueString" value="Aluno" ignoreCase="true" />
<basic:Rule xsi:type="basic:AttributeValueString" value="Docente" ignoreCase="true" />
<basic:Rule xsi:type="basic:AttributeValueString" value="alum" ignoreCase="true" />
<basic:Rule xsi:type="basic:AttributeValueString" value="member" ignoreCase="true" />
<basic:Rule xsi:type="basic:AttributeValueString" value="affiliate" ignoreCase="true" />
<basic:Rule xsi:type="basic:AttributeValueString" value="employee" ignoreCase="true" />
<basic:Rule xsi:type="basic:AttributeValueString" value="library-walk-in" ignoreCase="true" />
</PermitValueRule>
</AttributeRule>
</AttributeFilterPolicy
Arquivo: attribute-resolver.xml
The script, wrapped in a CDATA section so that special XML characters don't need to be removed
-->
<Script>
- <![CDATA[
importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider);
importPackage(Packages.org.apache.commons.codec.digest);
uidMD5 = new BasicAttribute("uidMD5");
if (typeof userPrincipalName != "undefined" && userPrincipalName != null ){
localpart = DigestUtils.md5Hex(userPrincipalName.getValues().get(0));
uidMD5.getValues().add(localpart);
importPackage(Packages.org.slf4j);
logger = LoggerFactory.getLogger("edu.internet2.middleware.shibboleth.resolver.Script.UID");
logger.info("uid: "+userPrincipalName.getValues().get(0)+" md5: "+localpart);
}
]]>
</Script>
</resolver:AttributeDefinition>
4/9
Documentação Técnica (DT)
Implantação Federação CAFe
<ValueMap>
<ReturnValue>employee</ReturnValue>
<SourceValue>Tecnico Administrativo</SourceValue>
</ValueMap>
<ValueMap>
<ReturnValue>faculty</ReturnValue>
<SourceValue>Docente</SourceValue>
</ValueMap>
<ValueMap>
<ReturnValue>student</ReturnValue>
<SourceValue>Aluno</SourceValue>
<SourceValue>Estagiario</SourceValue>
<SourceValue>Bolsista</SourceValue>
</ValueMap>
<ValueMap>
<ReturnValue>other</ReturnValue>
<SourceValue>Tecnico Terceirizado</SourceValue>
<SourceValue>Convidado</SourceValue>
</ValueMap>
</resolver:AttributeDefinition>
<FilterTemplate>
- <![CDATA[
(samAccountName=$requestContext.principalName)
]]>
</FilterTemplate>
<ReturnAttributes>userPrincipalName mail sn cn SAMAccountName givenName displayName description
createTimeStamp</ReturnAttributes>
<LDAPProperty name="java.naming.referral" value="follow" />
</resolver:DataConnector>
Arquivo: handler.xml
- <!--
6/9
Documentação Técnica (DT)
Implantação Federação CAFe
Login Handlers
-->
- <!--
<LoginHandler xsi:type="RemoteUser">
<AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified</AuthenticationMethod>
</LoginHandler>
-->
- <!--
Username/password login handler
-->
- <LoginHandler xsi:type="UsernamePassword" jaasConfigurationLocation="file:///opt/shibboleth-
idp/conf/login.config">
<AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</AuthenticationMe
thod>
</LoginHandler>
Arquivo: relying-party.xml
Alterar o arquivo somente no local mencionado abaixo. Também está constante a impressão
do arquivo já alterado.
-->
<MetadataFilter xsi:type="EntityRoleWhiteList" xmlns="urn:mace:shibboleth:2.0:metadata">
<RetainedRole>samlmd:SPSSODescriptor</RetainedRole>
</MetadataFilter>
</MetadataFilter>
</MetadataProvider>
<MetadataProvider id="cafe" xsi:type="FileBackedHTTPMetadataProvider"
xmlns="urn:mace:shibboleth:2.0:metadata" metadataURL="https://ds.cafe.rnp.br/metadata/cafe-
metadata.xml" backingFile="/opt/shibboleth-idp/metadata/cafe-metadata.xml">
<MetadataFilter xsi:type="ChainingFilter" xmlns="urn:mace:shibboleth:2.0:metadata">
<MetadataFilter xsi:type="EntityRoleWhiteList" xmlns="urn:mace:shibboleth:2.0:metadata">
<RetainedRole>samlmd:SPSSODescriptor</RetainedRole>
</MetadataFilter>
</MetadataFilter>
</MetadataProvider>
</MetadataProvider>
7/9
Documentação Técnica (DT)
Implantação Federação CAFe
Arquivo: login.config
Alterar conforme mostrado abaixo.
ShibUserPassAuth {
edu.vt.middleware.ldap.jaas.LdapLoginModule required
host="<seuIP>"
port="3268"
base="dc=<seu dominio>"
ssl="false"
userField="sAMAccountName"
serviceUser="<usuario>@<dominio>"
serviceCredential="<sua senha>"
subtreeSearch="true";
};
Pasta: metadata
Arquivo: idp-metadata.xml
Alterar somente onde é indicado e conforme anexo a este do arquivo impresso.
<Extensions>
<shibmd:Scope regexp="false">ifmt.edu.br</shibmd:Scope>
</Extensions>
8/9
Documentação Técnica (DT)
Implantação Federação CAFe
9/9