====== godivacli (OSX/Linux command line interface) ====== Da scaricare e compilare con: make; make install; per l'help: godivacli --help {{:cn:ccr:aai:howto:godivacli.tar| 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 {{ :cn:ccr:aai:howto:terena_ssl_ca_3.zip | 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 '' | 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 %%'' | Nome file del certificato in formato .pem da utilizzare per l'autenticazione | | | ''%%--certpwd %%'' | Imposta la password del certificato | | | ''%%--cacert %%'' | 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 %%'' | Parametro ''nome'' per il comando ''%%--%%username'' | | | ''%%--surname %%'' | Parametro ''surname'' per il comando ''%%--%%username'' | ''%%godivacli --username --name mario --surname rossi%%'' | | ||| | ''%%--rduid %%'' | Rimuove la uid di default a partire dall'UUID **nazionale** | ''%%godivacli --rduid 26a24a4c-5292-11e7-966d-37f7ce510f39%%'' | | ''%%--staai %%'' | Sincronizza l'identità su LDAP identificata dall'UUID **nazionale** | ''%%godivacli --staai 26a24a4c-5292-11e7-966d-37f7ce510f39%%'' | | ''%%--sfp %%'' | Sincronizza le entry locali con quella nazionale, identificata con CF o UUID **nazionale** | ''%%godivacli --sfp 26a24a4c-5292-11e7-966d-37f7ce510f39%%'' | | ''%%--ufc %%'' | Ritorna il valore dell'UUID **nazionale** a partire dal CF | ''%%godivacli --ufc RSSMRA01A01A001K%%'' | | | | | | ''%%--mail %%'' | 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 %%'' | 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 %%'' | Rimuove l'alias nazionale (formato ''@infn.it'') dall'anagrafica relativa all'infnUUID specificato. Da usare con ''%%--mail %%'' | ''%%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 %%'' | Specifica la uuid del ramo **locale** | | | ''%%--nationalUUID %%'' | 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 %%'' |