Creazione nuovo progetto
Fare la richiesta di nuovo progetto (in seguito TestProject) usando la solita procedura di CloudVeneto
Creazione e associazione di un gruppo
- Si deve creare un gruppo da associare al precendente progetto (in seguito TestGroup) con:
openstack group create --domain default TestGroup
Si puo` usare lo stesso nome per progetto e gruppo.
Il gruppo e` destinato a contenere solo utenti federati con IAM; non bisogna inserire utenti gestiti dall'integrazione con AAI
- Si deve infine assegnare il ruolo Member al gruppo per il progetto in questione con:
openstack role add --project TestProject --project-domain default --group TestGroup --group-domain default Member
Federare il nuovo progetto con il corrispondente gruppo IAM
Scaricare su file la situazione attuale del mapping per INFN-Cloud:
openstack mapping show -f json -c rules infn-cc-sso > infn-cloud-map.json
dal file infn-cloud-map.json bisogna rimuovere la radice "rules" e tenere solo il valore (array) contenuto fra le parentesi quadre (comprese)
E` consigliato salvare un backup del file infn-cloud-map.json, nel caso fosse necessario ripristinare il mapping originario. Al momento non ci sono meccanismi di backup per l'insieme di regole memorizzate in Keystone.
Aggiungere una nuova regola nel file infn-cloud-map.json seguendo questo modello:
{ "local": [ { "group": { "name": "TestGroup", "domain": { "id": "default" } }, "user": { "type": "ephemeral", "name": "{0}_iam", "email": "{1}" } } ], "remote": [ { "type": "OIDC_CLAIM_preferred_username" }, { "type": "OIDC_CLAIM_email" }, { "type": "OIDC_CLAIM_iss", "any_one_of": [ "https://iam.cloud.infn.it/" ] }, { "regex": true, "type": "OIDC_CLAIM_groups", "any_one_of": [ "regular-expression-per-il-gruppo-in-IAM" ] } ] },Una regular expression per il gruppo in genere e` del tipo ".*stringa.*", ad esempio: ".*developers.*" o ".*ml-infn.*"
Aggiornare Keystone con le nuove regole:
openstack mapping set --rules infn-cloud-map.json infn-cc-sso
- Testare usando le istruzioni disponibili in https://baltig.infn.it/infn-cloud/wp1/cloud-federation-preliminary-checks#check-of-oidc-authentication
Utente infn-cloud-ops
openstack role add --user infn-cloud-ops --project $project member openstack role add --user infn-cloud-ops --project $project accounting openstack role assignment list --user infn-cloud-ops --names
Accounting
In cld-acct:
- Modificare LIST_PROJECTS in /usr/local/bin/caso-infncloud.sh
- Aggiungere il mapping tra gruppo IAM e progetto locale in /etc/caso-infncloud/voms.json
Modifica VPN server per servizi su rete privata
Quando viene creato un nuovo progetto per servizi su rete privata, va modificata la configurazione del VPN server:
[root@cld-config ~]# ssh ubuntu@90.147.77.114 ... ubuntu@infncloud-proxy-vpn:~$ sudo -i root@infncloud-proxy-vpn:~#
Editare il file /etc/pam_oauth2_device/config.json aggiungendo in "groups" il gruppo IAM associato a questo progetto
Editare il file /etc/openvpn/server/server.conf agggiungendo una riga:
push "route 10.64.x.0 255.255.255.0"
dove 0.64.x.0/24 e` la rete del nuovo progetto
Restartare poi il servizio:
systemctl restart openvpn-server@server.service
Modifica quote
Aumentare via dashboard la quota per security group (~100) e rules (~ 1000)
Eventuale modifica altre quote (CPU e RAM)