VerificareRilascioAttributiAACLI
Shibboleth Identity Provider (IdP) include uno strumento incredibilmente utile e potente per determinare, senza eseguire una sequenza di autenticazione effettiva, quali attributi verranno rilasciati per un determinato utente (principal) e fornitore di servizi (service provider - sp).
Tale strumento ha il nome di Attribute Authority Command Line Interface ( AACLI ) .
Si può richiamare lo strumento AACLI eseguendo uno script nel terminale, ad esempio {idp.home}/bin/aacli.sh
(o {idp.home}/bin/aacli.bat
per installazioni Windows):
[user @ /opt/shibboleth-idp/]$ ./bin/aacli.sh -n <user-id> -r <entityID-ufficiale-SP>
Affinché il comando produca un risultato sensato è necessario almeno indicare:
<user-id>
- deve essere un'identità esistente<entityID-ufficiale-SP>
- deve essere l'entityID di un Service Provider esistente i cui metadata siano stati configurati nel filemetadata-provider.xml
Per conoscere l'entityID di uno specifico Service Provider utilizzare lo strumento IDEM Registry (è necessario fare login con il proprio IdP) o il database di eduGAIN.
All'interno della Federazione IDEM-test è presente il seguente Service Provider di test: https://sp.aai-test.garr.it/shibboleth
All'interno della Federazione IDEM è presente il seguente Service Provider di test: https://sp-demo.idem.garr.it/shibboleth
Command Line | Description |
---|---|
--acsIndex, -i | Identifies the index of an <md:AttributeConsumingService> element in the SP's metadata, which allows certain uncommonly used filtering rules to be run
|
--requester, -r | Required, identifies the relying party (SP) to simulate a resolution for |
--principal, -n | Required, names the subject/user to simulate a resolution for |
--saml1 | Value is ignored, if present causes the output to be encoded into a SAML 1.1 assertion |
--saml2 | Value is ignored, if present causes the output to be encoded into a SAML 2.0 assertion |
--unfiltered | (only from 5.1) Value is ignored, if present causes the non-SAML output to include all attributes, not just filtered results |
Per formattare l'output è consigliabile installare jq e seguire quanto indicato qui sotto:
... | jq 'walk( if type == "array" then sort else . end )'
Esempio:
./bin/aacli.sh -n <existing-username> -r https://sp.aai-test.garr.it/shibboleth | jq 'walk( if type == "array" then sort else . end )'