Differenze tra le versioni di "VerificareRilascioAttributiAACLI"

Da WIKI IDEM GARR.
Jump to navigation Jump to search
 
(5 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> -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:
 
Affinché il comando produca un risultato sensato è necessario almeno indicare:
  
*<code><user-id></code>  deve essere una identità esistente
+
*<code><user-id></code>  - deve essere un'identità esistente
*<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>
+
*<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.
 
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.
Riga 36: Riga 36:
 
| 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
 
|}
 
|}
<br />
+
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>
 +
 
 +
Esempio:
 +
 
 +
<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 )'