cs:tech:aa

Atributová autorita

Obecný popis atributové autority je v samostatném dokumentu.

Informace o provozu

Dne 7. 7. 2015 přešla atributová autorita do plně provozního režimu. Pokud Vaše služba vyžaduje služby atributové autority, přečtěte si obecné informace a požádejte správce o přístup.

Technické paramatery

Atributová autorita má tři základní technické parametry, které jsou potřebné pro její implementaci na straně SP:

EntityID

https://aa.cesnet.cz/idp/shibboleth

Metadata

https://metadata.eduid.cz/entities/aa.cesnet.cz

Podpisový certifikát

https://www.eduid.cz/docs/eduid/metadata/metadata.eduid.cz.crt.pem
(uložte např. do /etc/ssl/certs/metadata.eduid.cz.crt.pem)

Konfigurace Shibboleth SP

Do konfiguračního souboru SP /etc/shibboleth/attribute-map.xml (umístění se může lišit v závislosti na operačním systému) je nutné přidat mapování atributů, které vydává atributová autorita české akademické federace identit eduID.cz:

<!-- Perun attributes -->
<Attribute name="https://aa.cesnet.cz/attribute-def/perunEntryStatus"      id="perunEntryStatus" />
<Attribute name="https://aa.cesnet.cz/attribute-def/perunGroupDn"          id="perunGroupDn" />
<Attribute name="https://aa.cesnet.cz/attribute-def/perunGroupId"          id="perunGroupId" />
<Attribute name="https://aa.cesnet.cz/attribute-def/perunGroupName"        id="perunGroupName" />
<Attribute name="https://aa.cesnet.cz/attribute-def/perunOrganizationName" id="perunOrganizationName" />
<Attribute name="https://aa.cesnet.cz/attribute-def/perunPreferredMail"    id="perunPreferredMail" />
<Attribute name="https://aa.cesnet.cz/attribute-def/perunPrincipalName"    id="perunPrincipalName" />
<Attribute name="https://aa.cesnet.cz/attribute-def/perunUniqueGroupName"  id="perunUniqueGroupName" />
<Attribute name="https://aa.cesnet.cz/attribute-def/perunUserId"           id="perunUserId" />
<Attribute name="https://aa.cesnet.cz/attribute-def/perunVoId"             id="perunVoId" />
<Attribute name="https://aa.cesnet.cz/attribute-def/perunVoName"           id="perunVoName" />
<Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.7"                         id="eduPersonEntitlement" />
<Attribute name="urn:oid:1.3.6.1.4.1.5923.1.5.1.1"                         id="isMemberOf" />

Poznámka: Hodnoty v atributech perunUniqueGroupName, isMemberOf a eduPersonEntitlement jsou identické. Jaký atribut použijete v nastavení záleží pouze na Vás. Důvodem tohoto je zaručení kompatibility u jednotlivých služeb.

Význam atributů elementu <Attribute> je následující:

  • name – definice SAML atributu, jak je definován v AA,
  • id – pod jakou hodnotou bude SAML atribut dostupný pro řízení přístupu v Apachi apod.

Do konfiguračního souboru SP /etc/shibboleth/shibboleth2.xml (umístění se může lišit v závislosti na operačním systému) přidejte atributovou autoritu české akademické federace identit eduID.cz jako další zdroj atributů:

<AttributeResolver type="SimpleAggregation" attributeId="eppn"
    format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">
    <Entity>https://aa.cesnet.cz/idp/shibboleth</Entity>
    <MetadataProvider type="XML" uri="https://metadata.eduid.cz/entities/aa.cesnet.cz"
        backingFilePath="aa-cesnet-cz.xml" reloadInterval="600">
        <MetadataFilter type="Signature" certificate="/etc/ssl/certs/metadata.eduid.cz.crt.pem" />
    </MetadataProvider>
</AttributeResolver> 

Význam atributů elementu <AttributeResolver>:

  • type='SimpleAggregation' – jednoduché sloučení atributů z více zdrojů,
  • attributeId – identifikátor atributu (uživatele) použitého při vyhledávání v AA,
  • format – NameID uživatelského identifikátoru.

Význam hodnoty elementu <Entity>:

  • EntityID, kam bude posílán dotaz.

Význam atributů elementu <MetadataProvider>:

  • type='XML' – metadata jsou načtena z lokálního nebo vzdáleného XML dokumentu,
  • uri – URI metadat,
  • backingFilePath – název (a případně i adresář, výchozí /var/cache/shibboleth/), kam se metadata uloží,
  • reloadInterval – maximální doba mezi načtením nových metadat (v sekundách).

Význam atributů elementu <MetadataFilter>:

  • type='Signature' – ověří XML podpis v metadatech,
  • certificate – certifikát obsahující veřejný klíč použitý k ověření podpisu metadat AA.

Tím je konfigurace Shibboleth SP dokončena a nyní již můžete atributovou autoritu a její možnosti při řízení přístupu ke službám využívat.

Použití pro autorizaci v Apache

Příklad konfigurace pro autorizaci ve webovém serveru Apache, která zajistí, že do adresáře /var/www/secured budou mít přístup pouze uživatelé patřící do skupiny group1 nebo group2 v rámci VO einfra.

<Directory /var/www/secured>
    Order Allow,Deny
    Allow From All
 
    AuthType shibboleth
    ShibRequireSession On
    require perunUniqueGroupName "einfra:group1" "einfra:group2"
</Directory>

Kompletní dokumentace je k dispozici na stránkách sdružení Shibboleth.

Použití pro autorizaci v DokuWiki

Předpokladem pro použití atributové autority v DokuWiki je mít nainstalován a nakonfigurován autentizační plugin pro Shibboleth. V konfiguračním souboru /etc/dokuwiki/authshibboleth.conf.php (umístění se může lišit v závislosti, kam jste si plugin nainstalovali) pak uveďte následující kód:

$conf['plugin']['authshibboleth'] = array(
 
    // ...
 
    'group_source_config' => array(
        'entitlement' => array(
            'type' => 'environment',
            'options' => array(
                'source_attribute' => 'perunUniqueGroupName',
                'map' => array(
                    'einfra:group1' => 'secured_access',
                    'einfra:group2' => 'secured_access'
                ),
                'prefix' => ''
            )
        ),
    ),
 
    // ...
 
);

Tím zajistíte, že uživatelé, kteří budou členy skupiny group1 nebo group2 v rámci VO einfra, budou zařazeni do interní DokuWiki skupiny secured_access, kterou pak můžete používat v rámci běžných ACL DokuWiki.

Poslední úprava: 2017/02/10 07:02