Configuração de um IdP na categoria R&S

1 - Introdução

O Research and Scholarship Category permite o avanço de pesquisas acadêmicas, facilitando o acesso de pesquisadores a serviços web por meio da autenticação federada. Através dele, o usuário pode acessar qualquer serviço web que seja R&S Category utilizando o provedor de identidades de sua instituição. Dessa forma, entidades participantes contribuem para o avanço das pesquisas sem a necessidade de envolver configurações complexas e suporte de TI.
Os participantes devem cumprir alguns requisitos mínimos para se auto declararem R&S Category. Para operadores de Provedor de Identidade (IdP), a especificação R&S Category define um grupo de atributos que devem ser liberados a todos os Provedores de Serviços da categoria.
Nesse grupo existem três categorias:
  • Identificadores pessoal: email, person name, eduPersonPrincipalName
  • Pseudo identificadores: eduPersonTargetID
  • Afiliação: eduPersonScopedAffiliation
Um Provedor de Identidades indica seu suporte ao R&S Category exibindo, em seu metadado, o atributo de identidade R&S e liberando automaticamente (com consentimento do usuário) todos os atributos mínimos listados abaixo.
  • eduPersonPrincipalName
  • mail
  • displayName OU (givenName E sn)
  • (eduPersonTargetedID)
Apesar de possuir uma lista mínima de atributos, recomenda-se que todos aqueles definidos pela especificação sejam liberados.
  • Identificadores
    • eduPersonPrincipalName
    • eduPersonTargetedID
  • Atributos de nome de Pessoa
    • displayName
    • givenName
    • sn (surname)
  • Atributo de autorização
    • eduPersonScopedAffiliation

2 - Configuração do Shibboleth IdP

Este documento fornece algumas alterações na configuração do Shibboleth IdP fornecido pela RNP para torná-lo em conformidade ao R&S Category.

2.1 - Liberação de atributos R&S

2.1.a - Attribute-filter.xml

O exemplo abaixo ilustra como configurar os filtros do IdP para que todos os atributos sejam liberados a qualquer Provedor de Serviço R&S Category. Adicione a configuração dentro do nó
1
<AttributeFilterPolicy id="releaseRandSAttributeBundle">​ <PolicyRequirementRule xsi:type="EntityAttributeExactMatch" attributeName="http://macedir.org/entity-category" attributeValue="http://refeds.org/category/research-and-scholarship"/> ​ <AttributeRule attributeID="eduPersonPrincipalName"> <PermitValueRule xsi:type="ANY"/> AttributeRule> <AttributeRule attributeID="eduPersonTargetedID"> <PermitValueRule xsi:type="ANY"/> AttributeRule> <AttributeRule attributeID="email"> <PermitValueRule xsi:type="ANY"/> AttributeRule> <AttributeRule attributeID="displayName"> <PermitValueRule xsi:type="ANY"/> AttributeRule> <AttributeRule attributeID="givenName"> <PermitValueRule xsi:type="ANY"/> AttributeRule> <AttributeRule attributeID="surname"> <PermitValueRule xsi:type="ANY"/> AttributeRule> <AttributeRule attributeID="eduPersonScopedAffiliation"> <PermitValueRule xsi:type="ANY"/> AttributeRule>AttributeFilterPolicy>​​
Copied!

2.1.b - attribute-resolver.xml

Dentro deste arquivo são descritos todos os atributos conforme determinado pela especificação e também é onde a realiza a consulta dos atributos via LDAP.
Adicione dentro de o mapeamento de givenName e displayName para que o IdP possa reconhecê-los quando requisitado.
1
<resolver:AttributeDefinition xsi:type="ad:Simple" id="displayName" sourceAttributeID="displayName"> <resolver:Dependency ref="myLDAP" /> <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:displayName" encodeType="false" /> <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:2.16.840.1.113730.3.1.241" friendlyName="displayName" encodeType="false" />resolver:AttributeDefinition>​<resolver:AttributeDefinition id="givenName" xsi:type="ad:Simple" sourceAttributeID="givenName"> <resolver:Dependency ref="myLDAP" /> <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:gn" encodeType="false" /> <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:2.5.4.42" friendlyName="gn" encodeType="false" />resolver:AttributeDefinition>​
Copied!
Encontre “ReturnAttributes” e adicione givenName e displayName.
1
<dc:ReturnAttributes>%{idp.authn.LDAP.returnAttributes} cn sn mail displayName givenName eduPersonPrincipalName schacDateOfBirth brPersonCPFdc:ReturnAttributes>​
Copied!
Reinicie o tomcat.
1
sudo service tomcat restart
Copied!
Last modified 1yr ago