Ce guide vous amène à la deuxième partie de la configuration du service d'identité OpenStack sur le nœud du contrôleur, vous pouvez également consulter l'article précédent sur la configuration de KeyStone #1. Ici, nous couvrirons les créations d'entités de service et de points de terminaison d'API.
Créez l'entité de service et le point de terminaison de l'API :
Pour créer l'entité de service et le point de terminaison de l'API, nous devons exporter les variables ci-dessous pour transmettre la valeur du jeton d'authentification.
# export OS_TOKEN=43405b090eda983ddde2 ## Remplacez ce jeton (43405b090eda983ddde2 ) par la valeur OS_TOEKEN du fichier keystone.conf.
# export OS_URL=http://contrôleur :35357/v2.0 ## Remplacez le contrôleur par l'adresse IP de votre contrôleur.
Créez l'entité de service pour le service d'identité.
# service openstack create --name keystone --description "OpenStack Identity" identity+---------------------+----------------- -----------------+| Champ | Valeur |+------------+--------------------------------- -+| descriptif | Identité OpenStack || activé | Vrai || identifiant | c65841b4f8df478cbc19524c09fd9724 || nom | clé de voûte || tapez | identité |+-------------+--------------------------------- -+
Vérifiez le service.
# liste de services openstack+----------------------------------+-------- --+----------+| ID | Nom | Tapez |+---------------------------------+----------+- ---------+| c65841b4f8df478cbc19524c09fd9724 | clé de voûte | identité |+---------------------------------+----------+- ---------+
Créez le point de terminaison de l'API du service d'identité.
# openstack endpoint create \--publicurl http://controller:5000/v2.0 \--internalurl http://controller:5000/v2.0 \--adminurl http://controller:35357/v2 .0 \--region RegionUn \identity+----------------------+-------------------------- --------+| Champ | Valeur |+--------------+-------------------------------- --+| URL d'administration | http://contrôleur:35357/v2.0 || identifiant | f402a9389d474c13a97a78a30f13c6e5 || URL interne | http://controller:5000/v2.0 || URL publique | http://controller:5000/v2.0 || région | RégionUn || service_id | c65841b4f8df478cbc19524c09fd9724 || nom_service | clé de voûte || type_service | identité |+--------------+-------------------------------- --+
Vérifiez les détails du point de terminaison.
# liste de points de terminaison openstack+---------------------------------+-------- ---+-------------+--------------+| ID | Région | Nom du service | Type de service |+---------------------------------+----------- +--------------+--------------+| f402a9389d474c13a97a78a30f13c6e5 | RégionUn | clé de voûte | identité |+---------------------------------+-----------+ --------------+----------------------+
Créez des projets, des utilisateurs et des rôles :
Créez un projet d'administration, un utilisateur et un rôle pour l'administration, nous utiliserons le domaine par défaut pour plus de simplicité.
Créez le projet d'administration.
# projet openstack créer --description "Projet d'administration" admin+-------------+--------------------- --------------+| Champ | Valeur |+------------+--------------------------------- -+| descriptif | Projet Admin || activé | Vrai || identifiant | 9b05e6bffdb94c8081d665561d05e31e || nom | administrateur |+-------------+--------------------------------- -+
Créez l'utilisateur administrateur.
# openstack user create --password-prompt adminUser Password:Repeat User Password:+----------+------------------- ---------------+| Champ | Valeur |+----------+----------------------------------+| e-mail | Aucun || activé | Vrai || identifiant | 127a9a6b822a4e3eba69fa54128873cd || nom | administrateur || nom d'utilisateur | administrateur |+----------+----------------------------------+Créez le rôle d'administrateur.
# rôle openstack créer admin+-------+---------------------------------- +| Champ | Valeur |+-------+----------------------------------+| identifiant | 33af4f957aa34cc79451c23bf014af6f || nom | administrateur |+-------+----------------------------------+Ajoutez le rôle d'administrateur au projet et à l'utilisateur d'administration.
# rôle openstack add --project admin --user admin admin+-------+-------------------------- --------+| Champ | Valeur |+-------+----------------------------------+| identifiant | 33af4f957aa34cc79451c23bf014af6f || nom | administrateur |+-------+----------------------------------+Créez le projet de service.
# projet openstack créer --description "Projet de service" service+---------------------+--------------------- --------------+| Champ | Valeur |+------------+--------------------------------- -+| descriptif | Projet de service || activé | Vrai || identifiant | 39e1b9944e564ceb9e71c98623b676cd || nom | service |+-------------+--------------------------------- -+Créez le projet de démonstration à utiliser pour l'utilisateur normal.
# projet openstack create --description "Demo Project" demo+-------------+---------------------- --------------+| Champ | Valeur |+------------+--------------------------------- -+| descriptif | Projet de démonstration || activé | Vrai || identifiant | 909c4d7219c14a63aa0ef6f1ece18546 || nom | démo |+-------------+--------------------------------- -+Créez l'utilisateur de démonstration.
# openstack user create --password-prompt demoUser Password:Repeat User Password:+----------+------------------- ---------------+| Champ | Valeur |+----------+----------------------------------+| e-mail | Aucun || activé | Vrai || identifiant | 453ce23fa9f347b5baa53210aff7f207 || nom | démo || nom d'utilisateur | démo |+----------+----------------------------------+Créez le rôle d'utilisateur.
# rôle openstack créer utilisateur+-------+---------------------------------- +| Champ | Valeur |+-------+----------------------------------+| identifiant | fa78c101a7ed40b19de219e7d3eeda62 || nom | utilisateur |+-------+----------------------------------+Ajoutez le rôle d'utilisateur au projet de démonstration et à l'utilisateur.
# openstack role add --project demo --user demo user+-------+-------------------------- --------+| Champ | Valeur |+-------+----------------------------------+| identifiant | fa78c101a7ed40b19de219e7d3eeda62 || nom | utilisateur |+-------+----------------------------------+Vérifier l'opération :
# liste de projets openstack+----------------------------------+-------- -+| ID | Nom |+---------------------------------+---------+| 39e1b9944e564ceb9e71c98623b676cd | services || 909c4d7219c14a63aa0ef6f1ece18546 | démo || 9b05e6bffdb94c8081d665561d05e31e | administrateur |+----------------------------------+---------+# liste d'utilisateurs openstack+---------------------------------+-------+ | ID | Nom |+---------------------------------+-------+| 127a9a6b822a4e3eba69fa54128873cd | administrateur || 453ce23fa9f347b5baa53210aff7f207 | démo |+---------------------------------+-------+# liste de rôles openstack+----------------------------------+-------+ | ID | Nom |+---------------------------------+-------+| 33af4f957aa34cc79451c23bf014af6f | administrateur || fa78c101a7ed40b19de219e7d3eeda62 | utilisateur |+----------------------------------+-------+Vérifiez le fonctionnement avec un accès basé sur les rôles, pour ce faire annulez les variables exportées.
# unset OS_TOKEN OS_URLExécutez la commande suivante pour répertorier les rôles en tant qu'utilisateur administrateur.
# openstack --os-auth-url http://controller:35357 --os-project-name admin --os-username admin --os-auth-type password rôle listPassword:+----- -----------------------------+-------+| ID | Nom |+---------------------------------+-------+| 33af4f957aa34cc79451c23bf014af6f | administrateur || fa78c101a7ed40b19de219e7d3eeda62 | utilisateur |+----------------------------------+-------+Exécutez la commande suivante pour répertorier les rôles en tant qu'utilisateur de démonstration, vous devriez obtenir l'erreur ci-dessous.
# openstack --os-auth-url http://controller:35357 --os-project-name demo --os-username demo --os-auth-type password role listPassword:ERROR:openstack Vous n'êtes pas autorisé à effectuer l'action demandée :admin_required (HTTP 403) (Request-ID :req-143ee967-4a26-4474-bf88-0b660354869d)C'est tout, vous avez configuré avec succès KeyStone sur Ubuntu 14.04.2