Creazione e utilizzo di Application Credentials¶
Gli utenti possono creare Application Credentials per consentire alle proprie applicazioni di autenticarsi su Keystone.
Gli utenti possono delegare un sottoinsieme dei loro ruoli assegnati in un progetto ad una Application Credential, concedendo all'applicazione la stessa autorizzazione o un'autorizzazione limitata per un progetto. Con le Application Credentials, le applicazioni si autenticano con un'ID e una stringa segreta che non è la password dell'utente.
È possibile utilizzare le Application Credentials per accedere alle risorse del progetto Openstack tramite CLI o librerie Python.
Creazione di Application Credentials tramite la dashboard di Openstack¶
Le Application Credential possono essere create dalla dashboard di Horizon:
-
Selezionare Application Credentials dalla scheda Identity sulla barra laterale sinistra:

-
Fare clic sul pulsante + Create Application Credentials e compilare il modulo con i valori desiderati:

-
Ora è possibile scaricare il file openrc o il file clouds.

File OpenRC¶
Scarica il file project-openrc.sh che contiene le Application Credentials generate e salvalo in ~/.openstack/. Esegui project-openrc.sh per caricare le credenziali dell'applicazione nel tuo ambiente.
source ~/.openstack/project-openrc.sh
Il file è un eseguibile bash che imposta le seguenti variabili d'ambiente:
export OS_AUTH_URL=https://keystone.cloud.garr.it:5000/v3
export OS_PROJECT_ID=<id-progetto>
export OS_PROJECT_NAME=<nome-progetto>
export OS_USER_DOMAIN_NAME="cloudusers"
export OS_PROJECT_DOMAIN_ID=<dominio-progetto>
export OS_USERNAME=<nome-utente>
export OS_PASSWORD=<password>
export OS_REGION_NAME="garr-pa1"
export OS_INTERFACE=public
export OS_IDENTITY_API_VERSION=3
Ora puoi eseguire comandi OpenStack come questo:
openstack server list
Se hai più progetti, puoi scaricare il file project-openrc.sh per ognuno di essi ed eseguirli per accedere alle risorse del progetto tramite la CLI di OpenStack.
File Clouds¶
Un altro modo per autenticarsi alla CLI di OpenStack è salvare il file clouds in ~/.config/openstack/clouds.yaml. Il file ha la seguente struttura:
clouds:
openstack:
auth:
auth_url: https://keystone.cloud.garr.it:5000/v3
application_credential_id: <credential-id>
application_credential_secret: <credential-secret>
region_name: "garr-pa1"
interface: "public"
identity_api_version: 3
auth_type: "v3applicationcredential"
È possibile utilizzare queste credenziali per accedere al progetto OpenStack aggiungendo l'opzione --os-cloud al comando openstack.
openstack --os-cloud openstack server list
Gestione di più progetti¶
Se hai più progetti in più regioni, devi passare a ciascun progetto dalla dashboard di Openstack e creare una diversa istanza di application credentials per ognuno di essi. Scarica i file clouds e crea un singolo file clouds.yaml.
clouds:
project1:
auth:
auth_url: https://keystone.cloud.garr.it:5000/v3
application_credential_id: <project1-application-credential-id>
application_credential_secret: <project1-application-credential-secret>
region_name: "garr-pa1"
interface: "public"
identity_api_version: 3
auth_type: "v3applicationcredential"
project2:
auth:
auth_url: https://keystone.cloud.garr.it:5000/v3
application_credential_id: <project2-application-credential-id>
application_credential_secret: <project2-application-credential-secret>
region_name: "garr-ct1"
interface: "public"
identity_api_version: 3
auth_type: "v3applicationcredential"
Creazione di Application Credentials tramite la CLI di Openstack¶
Gli utenti che hanno accesso al client OpenStack (vedere di seguito) possono creare le Application Credentials con il seguente comando:
$ openstack application credential create --secret <YOUR SECRET> --role <ROLE> --<NAME>
È anche possibile elencare, visualizzare ed eliminare le Application Credentials rispettivamente con i seguenti comandi:
$ openstack application credential list
$ openstack application credential show <APPLICATION CREDENTIAL ID/NAME>
$ openstack application credential delete <APPLICATION CREDENTIAL ID/NAME>