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ó

<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>​​

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.

<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>​

Encontre “ReturnAttributes” e adicione givenName e displayName.

<dc:ReturnAttributes>%{idp.authn.LDAP.returnAttributes} cn sn mail displayName givenName eduPersonPrincipalName schacDateOfBirth brPersonCPFdc:ReturnAttributes>​

Reinicie o tomcat.

sudo service tomcat restart

Last updated