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)

  • No labels