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 parcourir 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/v3 ## Remplacez le contrôleur par l'adresse IP de votre contrôleur.
Configurez la version de l'API Identity.
# exporter OS_IDENTITY_API_VERSION=3
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 | ced1e3e2bfe449eeba6a0f19bad90caf || nom | clé de voûte || tapez | identité |+-------------+--------------------------------- -+
Vérifiez le service.
# liste de services openstack+----------------------------------+-------- --+----------+| ID | Nom | Tapez |+---------------------------------+----------+- ---------+| ced1e3e2bfe449eeba6a0f19bad90caf | clé de voûte | identité |+---------------------------------+----------+- ---------+
Créez le point de terminaison de l'API du service d'identité.
# openstack endpoint create --region RegionOne identity public http://controller:5000/v2.0+--------------+---------- ------------------------+| Champ | Valeur |+--------------+-------------------------------- --+| activé | Vrai || identifiant | 0fdd1aa5fe414213b3b3b616157debfc || interface | publique || région | RégionUn || id_région | RégionUn || service_id | ced1e3e2bfe449eeba6a0f19bad90caf || nom_service | clé de voûte || type_service | identité || URL | http://controller:5000/v2.0 |+--------------+---------------------- ------------+# openstack endpoint create --region RegionOne identité interne http://controller:5000/v2.0+--------------+ ----------------------------------+| Champ | Valeur |+--------------+-------------------------------- --+| activé | Vrai || identifiant | f825a8526c2c4924a74f3e6acfd199c0 || interface | interne || région | RégionUn || id_région | RégionUn || service_id | ced1e3e2bfe449eeba6a0f19bad90caf || nom_service | clé de voûte || type_service | identité || URL | http://controller:5000/v2.0 |+--------------+---------------------- ------------+# openstack endpoint create --region RegionOne identité admin http://controller:35357/v2.0+--------------+ ----------------------------------+| Champ | Valeur |+--------------+-------------------------------- --+| activé | Vrai || identifiant | 35496d62fddd4fe188f384a61bf36d24 || interface | administrateur || région | RégionUn || id_région | RégionUn || service_id | ced1e3e2bfe449eeba6a0f19bad90caf || nom_service | clé de voûte || type_service | identité || URL | http://controller:35357/v2.0 |+--------------+---------------------- ------------+
Vérifiez les détails du point de terminaison.
# liste de points de terminaison openstack+---------------------------------+-------- ---+--------------+-------------+---------+------ ----------+------------------------------+| ID | Région | Nom du service | Type de service | Activé | Interface | URL |+----------------------------------+-----------+ --------------+----------------------+---------+---------- -+------------------------------+| 0fdd1aa5fe414213b3b3b616157debfc | RégionUn | clé de voûte | identité | Vrai | public | http://contrôleur:5000/v2.0 || 35496d62fddd4fe188f384a61bf36d24 | RégionUn | clé de voûte | identité | Vrai | administrateur | http://contrôleur:35357/v2.0 || f825a8526c2c4924a74f3e6acfd199c0 | RégionUn | clé de voûte | identité | Vrai | interne | http://controller:5000/v2.0 |+----------------------------------+-- ---------+--------------+-------------+---------+ -----------+------------------------------+
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 create --domain default --description "Admin Project" admin+-------------+----------------- -----------------+| Champ | Valeur |+------------+--------------------------------- -+| descriptif | Projet Admin || id_domaine | par défaut || activé | Vrai || identifiant | fe858f6a43f84c26b994f0be74c928e6 || est_domaine | Faux || nom | administrateur || id_parent | Aucun |+-------------+--------------------------------- -+
Créez l'utilisateur administrateur.
# openstack user create --domain default --password-prompt adminUser Password:Repeat User Password:+-----------+-------------- --------------------+| Champ | Valeur |+-----------+----------------------------------+ | id_domaine | par défaut || activé | Vrai || identifiant | 19be37de9db146f8a6b282eb1dbbee14 || nom | administrateur |+-----------+----------------------------------+
Créez le rôle d'administrateur.
# rôle openstack créer admin+-------+---------------------------------- +| Champ | Valeur |+-------+----------------------------------+| identifiant | 6741bf6d8cb94ddbb45de71ad6c2a07a || nom | administrateur |+-------+----------------------------------+
Ajoutez le rôle d'administrateur au projet et à l'utilisateur d'administration.
# rôle openstack add --project admin --user admin admin
Créez le projet de service.
# projet openstack créer --domain default --description "Projet de service" service+-------------+----------------- -----------------+| Champ | Valeur |+------------+--------------------------------- -+| descriptif | Projet de service || id_domaine | par défaut || activé | Vrai || identifiant | 3745819894644e95b72c2693ff4ea34f || est_domaine | Faux || nom | services || id_parent | Aucun |+-------------+--------------------------------- -+
Créez le projet de démonstration à utiliser pour l'utilisateur normal.
# projet openstack create --domain default --description "Demo Project" demo+-------------+----------------- -----------------+| Champ | Valeur |+------------+--------------------------------- -+| descriptif | Projet de démonstration || id_domaine | par défaut || activé | Vrai || identifiant | b558b39292b247b7a346678b80ed71e0 || est_domaine | Faux || nom | démo || id_parent | Aucun |+-------------+--------------------------------- -+
Créez l'utilisateur de démonstration.
# openstack user create --domain default --password-prompt demoUser Password:Repeat User Password:+-----------+-------------- --------------------+| Champ | Valeur |+-----------+----------------------------------+ | id_domaine | par défaut || activé | Vrai || identifiant | 69f8896c14a940619839443271aa9d05 || nom | démo |+-----------+----------------------------------+
Créez le rôle d'utilisateur.
# rôle openstack créer utilisateur+-------+---------------------------------- +| Champ | Valeur |+-------+----------------------------------+| identifiant | db27eefc8e8047c499fb822d9ad6f630 || nom | utilisateur |+-------+----------------------------------+
Ajoutez le rôle d'utilisateur au projet de démonstration et à l'utilisateur.
# rôle openstack add --project demo --user demo user
Vérifier l'opération :
# liste de projets openstack+----------------------------------+-------- -+| ID | Nom |+---------------------------------+---------+| 3745819894644e95b72c2693ff4ea34f | services || b558b39292b247b7a346678b80ed71e0 | démo || fe858f6a43f84c26b994f0be74c928e6 | administrateur |+----------------------------------+---------+# liste d'utilisateurs openstack+---------------------------------+-------+ | ID | Nom |+---------------------------------+-------+| 19be37de9db146f8a6b282eb1dbbee14 | administrateur || 69f8896c14a940619839443271aa9d05 | démo |+---------------------------------+-------+# liste de rôles openstack+----------------------------------+-------+ | ID | Nom |+---------------------------------+-------+| 6741bf6d8cb94ddbb45de71ad6c2a07a | administrateur || db27eefc8e8047c499fb822d9ad6f630 | utilisateur |+----------------------------------+-------+Pour des raisons de sécurité, désactivez le mécanisme de jeton d'authentification temporaire :
Modifiez le fichier /etc/keystone/keystone-paste.ini fichier et supprimez admin_token_auth depuis le [pipeline:public_api] , [pipeline :admin_api] , et [pipeline:api_v3] rubriques.
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/v3 --os-project-domain-id default --os-user-domain-id default --os-project-name admin - -os-username admin --os-auth-type password token issuePassword:+------------+-------------------- --------------+| Champ | Valeur |+-----------+---------------------------------- +| expire | 2015-11-02T11:25:53.930932Z || identifiant | 7b614d616e964ab7880e82643c0b1659 || id_projet | fe858f6a43f84c26b994f0be74c928e6 || identifiant_utilisateur | 19be37de9db146f8a6b282eb1dbbee14 |+------------+---------------------------------- +En tant qu'utilisateur de démonstration, demandez un jeton d'authentification.
# openstack --os-auth-url http://controller:5000/v3 --os-project-domain-id default --os-user-domain-id default --os-project-name demo - -os-username demo --os-auth-type password token issuePassword:+------------+-------------------- --------------+| Champ | Valeur |+-----------+---------------------------------- +| expire | 2015-11-02T11:29:28.174824Z || identifiant | d42d40e47fe84f64a6bd9ecdf1ff240e || id_projet | b558b39292b247b7a346678b80ed71e0 || identifiant_utilisateur | 69f8896c14a940619839443271aa9d05 |+------------+----------------------------------------------- +C'est tout, vous avez configuré avec succès KeyStone sur Ubuntu 14.04.