Diese Anleitung führt Sie zum zweiten Teil der Konfiguration des OpenStack-Identitätsdienstes auf dem Controller-Knoten. Sie können auch den vorherigen Artikel zur Konfiguration von KeyStone Nr. 1 durchgehen. Hier behandeln wir die Erstellung von Dienstentitäten und API-Endpunkten.
Erstellen Sie die Dienstentität und den API-Endpunkt:
Um die Dienstentität und den API-Endpunkt zu erstellen, müssen wir die folgenden Variablen exportieren, um den Wert des Authentifizierungstokens zu übergeben.
# export OS_TOKEN=43405b090eda983ddde2 ## Ersetzen Sie dieses Token (43405b090eda983ddde2 ) durch den Wert OS_TOEKEN aus der Datei keystone.conf.
# export OS_URL=http://Controller :35357/v2.0 ## Ersetzen Sie den Controller durch Ihre Controller-IP.
Erstellen Sie die Dienstentität für den Identitätsdienst.
# openstack service create --name keystone --description "OpenStack Identity" identity+-------------+---------------- ------------------+| Feld | Wert |+-------------+------------------------------- -+| Beschreibung | OpenStack-Identität || aktiviert | Wahr || ID | c65841b4f8df478cbc19524c09fd9724 || Name | Schlussstein || geben Sie | ein Identität |+-------------+-------------------------------- -+
Überprüfen Sie den Dienst.
# Openstack-Dienstliste+---------------------------------+-------- --+----------+| ID | Name | Geben Sie |+----------------------------------+----------+- ein ---------+| c65841b4f8df478cbc19524c09fd9724 | Schlussstein | Identität |+-----------------------------------------+----------+- ---------+
Erstellen Sie den Identitätsdienst-API-Endpunkt.
# openstack endpoint create \--publicurl http://controller:5000/v2.0 \--internalurl http://controller:5000/v2.0 \--adminurl http://controller:35357/v2 .0 \--region RegionEins \identity+-------------+--------------------- --------+| Feld | Wert |+--------------+------------------------------- --+| Administrator-URL | http://controller:35357/v2.0 || ID | f402a9389d474c13a97a78a30f13c6e5 || interne URL | http://controller:5000/v2.0 || öffentliche URL | http://controller:5000/v2.0 || Region | RegionOne || service_id | c65841b4f8df478cbc19524c09fd9724 || Dienstname | Schlussstein || Diensttyp | Identität |+--------------+------------------------------- --+
Überprüfen Sie die Endpunktdetails.
# Openstack-Endpunktliste+---------------------------------+-------- ---+--------------+-------------+| ID | Region | Dienstname | Diensttyp |+------------------------------------------+----------- +--------------+--------------+| f402a9389d474c13a97a78a30f13c6e5 | RegionEins | Schlussstein | Identität |+----------------------------------+-----------+ --------------+--------------+
Projekte, Benutzer und Rollen erstellen:
Erstellen Sie ein Administratorprojekt, einen Benutzer und eine Rolle für die Verwaltung. Der Einfachheit halber verwenden wir die Standarddomäne.
Erstellen Sie das Admin-Projekt.
# openstack project create --description "Admin-Projekt" admin+-------------+--------------------- -------------+| Feld | Wert |+-------------+------------------------------- -+| Beschreibung | Admin-Projekt || aktiviert | Wahr || ID | 9b05e6bffdb94c8081d665561d05e31e || Name | Administrator |+-------------+------------------------------- -+
Erstellen Sie den Admin-Benutzer.
# openstack user create --password-prompt adminUser Password:Repeat User Password:+----------+------------------ ---------------+| Feld | Wert |+----------+---------------------------------+| E-Mail | Keine || aktiviert | Wahr || ID | 127a9a6b822a4e3eba69fa54128873cd || Name | Administrator || Benutzername | Administrator |+----------+---------------------------------+
Erstellen Sie die Administratorrolle.
# openstack role create admin+-------+------------------------------------------------ +| Feld | Wert |+-------+---------------------------------+| ID | 33af4f957aa34cc79451c23bf014af6f || Name | Administrator |+-------+-----------------------------------------------+
Admin-Rolle zum Admin-Projekt und -Benutzer hinzufügen.
# openstack role add --project admin --user admin admin+-------+--------------------- --------+| Feld | Wert |+-------+---------------------------------+| ID | 33af4f957aa34cc79451c23bf014af6f || Name | Administrator |+-------+-----------------------------------------------+
Erstellen Sie das Dienstprojekt.
# openstack project create --description "Dienstprojekt" Dienst+-------------+--------------------- -------------+| Feld | Wert |+-------------+------------------------------- -+| Beschreibung | Hilfsprojekt || aktiviert | Wahr || ID | 39e1b9944e564ceb9e71c98623b676cd || Name | Dienst |+-------------+-------------------------------- -+
Erstellen Sie das Demoprojekt, das für normale Benutzer verwendet werden soll.
# openstack project create --description "Demo Project" demo+-------------+--------------------- -------------+| Feld | Wert |+-------------+------------------------------- -+| Beschreibung | Demoprojekt || aktiviert | Wahr || ID | 909c4d7219c14a63aa0ef6f1ece18546 || Name | Demo |+-------------+------------------------------- -+
Erstellen Sie den Demo-Benutzer.
# openstack user create --password-prompt demoUser Password:Repeat User Password:+----------+------------------ ---------------+| Feld | Wert |+----------+---------------------------------+| E-Mail | Keine || aktiviert | Wahr || ID | 453ce23fa9f347b5baa53210aff7f207 || Name | Demo || Benutzername | Demo |+----------+---------------------------------+
Erstellen Sie die Benutzerrolle.
# Openstack-Rolle Benutzer erstellen+-------+---------------------------------- +| Feld | Wert |+-------+---------------------------------+| ID | fa78c101a7ed40b19de219e7d3eeda62 || Name | Benutzer |+-------+---------------------------------+
Fügen Sie die Benutzerrolle dem Demoprojekt und dem Benutzer hinzu.
# openstack role add --project demo --user demo user+-------+--------------------- --------+| Feld | Wert |+-------+---------------------------------+| ID | fa78c101a7ed40b19de219e7d3eeda62 || Name | Benutzer |+-------+---------------------------------+
Betrieb überprüfen:
# Openstack-Projektliste+-----------------------------------------+-------- -+| ID | Name |+----------------------------------+---------+| 39e1b9944e564ceb9e71c98623b676cd | Dienst || 909c4d7219c14a63aa0ef6f1ece18546 | Demo || 9b05e6bffdb94c8081d665561d05e31e | Administrator |+---------------------------------+---------+# Openstack-Benutzerliste+----------------------------------+-------+ | ID | Name |+-----------------------------------------------+-------+| 127a9a6b822a4e3eba69fa54128873cd | Administrator || 453ce23fa9f347b5baa53210aff7f207 | Demo |+-----------------------------------------------+-------+# Openstack-Rollenliste+---------------------------------+-------+ | ID | Name |+-----------------------------------------------+-------+| 33af4f957aa34cc79451c23bf014af6f | Administrator || fa78c101a7ed40b19de219e7d3eeda62 | Benutzer |+-----------------------------------------------+-------+Überprüfen Sie den Betrieb mit rollenbasiertem Zugriff, setzen Sie dazu die exportierten Variablen zurück.
# OS_TOKEN OS_URL nicht gesetztFühren Sie den folgenden Befehl aus, um die Rollen als Admin-Nutzer aufzulisten.
# openstack --os-auth-url http://controller:35357 --os-project-name admin --os-username admin --os-auth-type password role listPassword:+----- ------------------------+-------+| ID | Name |+-----------------------------------------------+-------+| 33af4f957aa34cc79451c23bf014af6f | Administrator || fa78c101a7ed40b19de219e7d3eeda62 | Benutzer |+-----------------------------------------------+-------+Führen Sie den folgenden Befehl aus, um die Rollen als Demo-Benutzer aufzulisten. Sie sollten den folgenden Fehler erhalten.
# openstack --os-auth-url http://controller:35357 --os-project-name demo --os-username demo --os-auth-type password role listPassword:ERROR:openstack Du bist nicht berechtigt, die angeforderte Aktion auszuführen:admin_required (HTTP 403) (Request-ID:req-143ee967-4a26-4474-bf88-0b660354869d)Das ist alles, Sie haben KeyStone erfolgreich auf Ubuntu 14.04.2 konfiguriert