Metadata

Da WIKI IDEM GARR.
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Jump to navigation Jump to search

Il Servizio IDEM ha implementato un nuovo sistema di distribuzione dei metadata basato su MDQ che riduce drasticamente l'occupazione di memoria e i tempi di caricamento. Vedi https://mdx.idem.garr.it per le istruzioni di configurazione.

Distribuzione metadata basata su MDQ

Il Servizio IDEM ha implementato un nuovo sistema di distribuzione dei metadata basato su MDQ che riduce drasticamente l'occupazione di memoria e i tempi di caricamento. Vedi https://mdx.idem.garr.it per le istruzioni di configurazione.

Flussi di Metadata

IDEM Produzione:

http://md.idem.garr.it/metadata/idem-metadata-sha256.xml

eduGAIN e IDEM Produzione:

http://md.idem.garr.it/metadata/edugain2idem-metadata-sha256.xml

IDEM Test:

http://md.idem.garr.it/metadata/idem-test-metadata-sha256.xml

Certificato

Tutti i flussi di metadata della Federazione IDEM sono firmati con il seguente certificato.

https://md.idem.garr.it/certs/idem-signer-20241118.pem

Fingerprint sha1 del certificato:

0E:21:81:8E:06:02:D1:D9:D1:CF:3D:4C:41:ED:5F:F3:43:70:16:79

Istruzioni di configurazione

Le istruzioni sono relative alla sola configurazione dei metadata, per guide complete sull'installazione e la configurazione di IdP e SP andare alla sezione Guide.

Shibboleth Identity Provider 3.x+ & 4.x+

  • scaricare il certificato da https://md.idem.garr.it/certs/idem-signer-20241118.pem
  • salvarlo in una directory accessibile a Shibboleth, ad es. /opt/shibboleth-idp/credentials.
  • configurare certificato e flusso di metadata desiderato in /opt/shibboleth-idp/conf/metadata-providers.xml, ad es. per il flusso IDEM Test:
<MetadataProvider id="URLMD-IDEM-Federation" 
                  xsi:type="FileBackedHTTPMetadataProvider"
                  backingFile="%{idp.home}/metadata/idem-test-metadata-sha256.xml" 
                  metadataURL="http://md.idem.garr.it/metadata/idem-test-metadata-sha256.xml"> 
   <MetadataFilter xsi:type="SignatureValidation" requireSignedRoot="true" 
                   certificateFile="${idp.home}/credentials/idem-signer-20241118.pem"/>
   <MetadataFilter xsi:type="RequiredValidUntil" maxValidityInterval="P10D"/>
   <MetadataFilter xsi:type="EntityRoleWhiteList"> 
      <RetainedRole>md:SPSSODescriptor</RetainedRole>
   </MetadataFilter>
</MetadataProvider>

Shibboleth Service Provider 2.5+

<MetadataProvider type="XML" 
                  uri="http://md.idem.garr.it/metadata/idem-metadata-sha256.xml" 
                  backingFilePath="idem-metadata-sha256.xml" reloadInterval="7200">
   <MetadataFilter type="RequireValidUntil" maxValidityInterval="864000" />
   <MetadataFilter type="Signature" certificate="/etc/shibboleth/idem-signer-20241118.pem"/>
</MetadataProvider>

Shibboleth Service Provider 3.x+

  • scaricare il certificato da https://md.idem.garr.it/certs/idem-signer-20241118.pem
  • salvarlo in una directory accessibile a shibd, ad es. /etc/shibboleth.
  • configurare certificato e flusso di metadata desiderato in shibboleth2.xml, ad es. per il flusso eduGAIN e IDEM Produzione:
<MetadataProvider type="XML" 
                  url="http://md.idem.garr.it/metadata/edugain2idem-metadata-sha256.xml" 
                  backingFilePath="edugain2idem-metadata-sha256.xml"
                  maxRefreshDelay="7200">
    <MetadataFilter type="RequireValidUntil" maxValidityInterval="864000" />
    <MetadataFilter type="Signature" certificate="/etc/shibboleth/idem-signer-20241118.pem"/>
</MetadataProvider>

simpleSAMLphp Identity Provider 1.4+

  • scaricare il certificato da https://md.idem.garr.it/certs/idem-signer-20241118.pem
  • salvarlo in /var/simplesamlphp/cert/federation-cert.pem
  • configurare certificato e flusso di metadata desiderato in /var/simplesamlphp/config/config-metarefresh.php, ad es. per il flusso IDEM Test:
<?php

$config = [
   'sets' => [
      'idem' => [
         'cron'    => ['hourly'],
         'sources' => [
                       [
                        'src' => 'http://md.idem.garr.it/metadata/idem-test-metadata-sha256.xml',
                        'certificates' => [
                           '/var/simplesamlphp/cert/federation-cert.pem',
                        ],
                        'template' => [
                           'tags'  => ['idem'],
                           'authproc' => [
                              51 => ['class' => 'core:AttributeMap', 'oid2name'],
                           ],
                        ],

                        'types' => ['saml20-sp-remote'],   // Load only SAML v2.0 SP from metadata
                       ],
                      ],
         'expireAfter' => 864000, // Maximum 10 days cache time (3600*24*10)
         'outputDir'   => 'metadata/',

         'outputFormat' => 'flatfile',
      ],
   ],
];

simpleSAMLphp Service Provider 1.4+

  • scaricare il certificato da https://md.idem.garr.it/certs/idem-signer-20241118.pem
  • salvarlo in /var/simplesamlphp/cert/federation-cert.pem
  • configurare certificato e flusso di metadata desiderato in /var/simplesamlphp/config/config-metarefresh.php, ad es. per il flusso IDEM Produzione:
<?php

$config = [
   'sets' => [
      'idem' => [
         'cron'    => ['hourly'],
         'sources' => [
                       [
                        'src' => 'http://md.idem.garr.it/metadata/idem-metadata-sha256.xml',
                        'certificates' => [
                           '/var/simplesamlphp/cert/federation-cert.pem',
                        ],
                        'template' => [
                           'tags'  => ['idem'],
                           'authproc' => [
                              51 => ['class' => 'core:AttributeMap', 'oid2name'],
                           ],
                        ],

                        'types' => ['saml20-idp-remote'],   // Load only SAML v2.0 IDP from metadata
                       ],
                      ],
         'expireAfter' => 864000, // Maximum 10 days cache time (3600*24*10)
         'outputDir'   => 'metadata/',

         'outputFormat' => 'flatfile',
      ],
   ],
];