VerificareRilascioAttributiAACLI: differenze tra le versioni

Da WIKI IDEM GARR.
Vai alla navigazione Vai alla ricerca
Monticini@garr.it (discussione | contributi)
Creata pagina con "Shibboleth Identity Provider (IdP) include uno strumento incredibilmente utile e potente per determinare, senza eseguire una sequenza di autenticazione effettiva, quali attrib..."
 
Monticini@garr.it (discussione | contributi)
Nessun oggetto della modifica
 
(6 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
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'').
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 ) .
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 <code>{idp.home}/bin/aacli.sh</code>(o <code>{idp.home}/bin/aacli.bat</code>per installazioni Windows):
Si può richiamare lo strumento AACLI eseguendo uno script nel terminale, ad esempio <code>{idp.home}/bin/aacli.sh</code>(o <code>{idp.home}/bin/aacli.bat</code>per installazioni Windows):


<code>[user @ /opt/shibboleth-idp/]$ .bin/aacli.sh -n <user-id-esistente> -r <entityID-ufficiale-SP></code>
<code>[user @ /opt/shibboleth-idp/]$ ./bin/aacli.sh -n <user-id> -r <entityID-ufficiale-SP></code>
 
Affinché il comando produca un risultato sensato è necessario almeno indicare:
 
*<code><user-id></code>  - deve essere un'identità esistente
*<code><entityID-ufficiale-SP></code> - deve essere l'entityID di un Service Provider esistente i cui metadata siano stati configurati nel file <code>metadata-provider.xml</code>
 
Per conoscere l'entityID di uno specifico Service Provider utilizzare lo strumento [https://registry.idem.garr.it/rr3/providers/sp_list/showlist IDEM Registry] (è necessario fare login con il proprio IdP) o il [https://technical.edugain.org/entities database] di eduGAIN.
 
All'interno della Federazione IDEM-test è presente il seguente Service Provider di test: <code><nowiki>https://sp.aai-test.garr.it/shibboleth</nowiki></code>
 
All'interno della Federazione IDEM è presente il seguente Service Provider di test: <code><nowiki>https://sp-demo.idem.garr.it/shibboleth</nowiki></code>
{| class="wikitable"
{| class="wikitable"
|+Parametri per la query
|+Parametri per la query
Riga 11: Riga 22:
!Description
!Description
|-
|-
| colspan="1" rowspan="1" |--acsIndex, -i
| colspan="1" rowspan="1" | --acsIndex, -i
| colspan="1" rowspan="1" |Identifies the index of an <code><md:AttributeConsumingService></code> element in the SP's metadata, which allows certain uncommonly used filtering rules to be run
| colspan="1" rowspan="1" |Identifies the index of an <code><md:AttributeConsumingService></code> element in the SP's metadata, which allows certain uncommonly used filtering rules to be run
|-
|-
Riga 20: Riga 31:
|Required, names the subject/user to simulate a resolution for
|Required, names the subject/user to simulate a resolution for
|-
|-
| colspan="1" rowspan="1" |--saml1
| colspan="1" rowspan="1" | --saml1
| colspan="1" rowspan="1" |Value is ignored, if present causes the output to be encoded into a SAML 1.1 assertion
| colspan="1" rowspan="1" |Value is ignored, if present causes the output to be encoded into a SAML 1.1 assertion
|-
|-
| colspan="1" rowspan="1" |--saml2
| colspan="1" rowspan="1" | --saml2
| colspan="1" rowspan="1" |Value is ignored, if present causes the output to be encoded into a SAML 2.0 assertion
| colspan="1" rowspan="1" |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
|}
|}
Affinché il comando produca un risultato sensato:
Per formattare l'output è consigliabile installare [https://stedolan.github.io/jq/ jq] e seguire quanto indicato qui sotto:
 
<code>... | jq 'walk( if type == "array" then sort else . end )'</code>


* <code><user-id-esistente></code>  deve essere una identità esistente
Esempio:
* <code><entityID-ufficiale-SP></code> deve essere l'entityID di un Service Provider i cui metadata siano stati configurati nel file <code>metadata-provider.xml</code>


devono essere reali e utilizzabili dall'idp Per conoscere l'entityID di un Service Provider utilizzare IDEM Registry o il database di eduGAIN.
<code>./bin/aacli.sh -n <existing-username> -r <nowiki>https://sp.aai-test.garr.it/shibboleth</nowiki> | jq 'walk( if type == "array" then sort else . end )'<br /></code>

Versione attuale delle 13:09, 16 apr 2024

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.batper 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 file metadata-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

Parametri per la query
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 )'