godivacli (OSX/Linux command line interface)
Da scaricare e compilare con:
make; make install;
per l'help:
godivacli –help
godivacli (src)
E' possibile scaricare il codice di godivacli dal seguente repository: https://baltig.infn.it/aai/godivacli
git clone https://baltig.infn.it/aai/godivacli.git cd godivacli make make install
Il repository può essere clonato anche via SSH ma è necessario prima fare il login via web su baltig usando le proprie credenziali AAI e poi aggiungere la propria chiave SSH in alto a dx nella gestione del profilo sotto "Settings"–>"SSH Keys" e poi:
git clone git@baltig.infn.it:aai/godivacli.git
per l'help:
godivacli --help
Per chiamare le API di GODiVA in maniera autenticata, è possibile passare a godivacli il proprio certificato (oppure il certificato di un servizio). Il formato richiesto da godivacli è di tipo PEM, ed è richiesto che sia la chiave privata concatenata con il suo certificato.
Per convertire un certificato DER (.crt .cer .der) in formato PEM
openssl x509 -inform der -in server.crt -out crt.pem
Per convertire una chiave privata DER in formato PEM
openssl rsa -des3 -inform der -in server.key -out key.pem
Ora con la chiave privata e il certificato in formato PEM, basterà concatenare i due file con
cat key.pem crt.pem > server_cert.pem
Per chiamare una API in maniera autenticata possiamo usare:
godivacli --cert server_cert.pem --certpwd "[password_chiave_privata]" --cacert TERENA_SSL_CA_3.pem --ufc [codice_fiscale]
Scarica il certificato Terena SSL CA3
NOTA: Il comando --ufc
ritorna il valore l'UUID associato ad un utente, passando in input il codice fiscale. Questo comando non richiederebbe autenticazione, ma è stato usato solo a scopo di esempio.
Comandi
Lista dei comandi che è possibile invocare con godivacli
Opzioni di connessione
Opzione | Descrizione | Sintassi |
---|---|---|
--help | Stampa il menu di aiuto | godivacli --help |
--version | Stampa la versione di godivacli | godivacli --version |
--host <string> | Imposta il nome host di godiva e la porta (default: godiva.dsi.infn.it:443) | godivacli --host godiva.dsi.infn.it[:443] |
Opzioni per autenticazione con certificato
Comando | Descrizione | Sintassi |
---|---|---|
--cert <string> | Nome file del certificato in formato .pem da utilizzare per l'autenticazione | |
--certpwd <string> | Imposta la password del certificato | |
--cacert <string> | Nome file del CACert in formato .pem del certificato del server (opzionale se già presente tra i CACerts del sistema operativo) | godivacli --cert certificato.pem --certpwd "c3rt_p4ssw0rd" --cacert terena.pem |
Opzioni per chiamata API
Comando | Descrizione | Sintassi |
---|---|---|
--username | Ritorna una username disponibile a partire da --name e --surname | |
--name <string> | Parametro nome per il comando --username | |
--surname <string> | Parametro surname per il comando --username | godivacli --username --name mario --surname rossi |
--rduid <uuid> | Rimuove la uid di default a partire dall'UUID nazionale | godivacli --rduid 26a24a4c-5292-11e7-966d-37f7ce510f39 |
--staai <uuid> | Sincronizza l'identità su LDAP identificata dall'UUID nazionale | godivacli --staai 26a24a4c-5292-11e7-966d-37f7ce510f39 |
--sfp <CF|uuid> | Sincronizza le entry locali con quella nazionale, identificata con CF o UUID nazionale | godivacli --sfp 26a24a4c-5292-11e7-966d-37f7ce510f39 |
--ufc <CF> | Ritorna il valore dell'UUID nazionale a partire dal CF | godivacli --ufc RSSMRA01A01A001K |
--mail <mail@infn.it> | Parametro mail per i comandi add-mail-alias e remove-mail-alias | |
--is-official <1|0> | Indica se l'indirizzo email specificato debba essere quello ufficiale. Se uguale a 1 sarà il valore che comparirà nell'attributo mail di LDAP | |
--add-mail-alias <uuid> | Aggiunge un alias nazionale (formato @infn.it ) all'anagrafica relativa all'infnUUID specificato. Da utilizzare con --mail e --is-official | godivacli --add-mail-alias 26a24a4c-5292-11e7-966d-37f7ce510f39 --mail mario.rossi@infn.it --is-official 1 |
--remove-mail-alias <uuid> | Rimuove l'alias nazionale (formato @infn.it ) dall'anagrafica relativa all'infnUUID specificato. Da usare con --mail <string> | godivacli --remove-mail-alias 26a24a4c-5292-11e7-966d-37f7ce510f39 --mail mario.rossi@infn.it |
Opzioni per link entry locale/nazionale
E' possibile unire le entry dei rami locali con quelle nazionali. Questa operazione è utile soprattutto per le entry locali che non dispongono di un codice fiscale (VISITOR), e per cui esiste comunque la necessità di sincronizzarle con la relativa entry nazionale.
Comando | Descrizione | Sintassi |
---|---|---|
--localUUID <uuid> | Specifica la uuid del ramo locale | |
--nationalUUID <uuid> | Specifica la uuid del ramo nazionale | |
--lpu | Crea un link tra entry locale e nazionale, valorizzando l'attributo infnLinkedUUID sulla locale | godivacli --lpu --localUUID 0c213fda-5296-11e7-b592-df9633a01947 --nationalUUID 26a24a4c-5292-11e7-966d-37f7ce510f39 |