Erstellen Sie die Dienstentität und die API-Endpunkte

Erstellen Sie die Dienstentität und die API-Endpunkte

Der Identitätsdienst stellt einen Katalog an Diensten und Speicherorten zur Verfügung. Jeder Dienst, den Sie in Ihre OpenStack-Umgebung aufnehmen, benötigt eine service-Entität und mehrere API- Endpunkte im Katalog.

Voraussetzungen

Standardmäßig enthält die Datenbank des Identitätsdienstes keine Informationen zur Unterstützung konventioneller Authentifizierungs- und Katalogdienste. Sie müssen einen provisorischen Authentifikationstoken verwenden, der im Abschnitt installiere und konfiguriere erzeugt wurde, um die Dienstentität und den API-Endpunkt des Identitätsdienstes zu initialisieren.

Sie müssen den Authentifizierungstoken entweder beim Befehl openstack als Parameter --os-token angeben oder die Umgebungsvariable OS_TOKEN belegen. Ähnlich dazu müssen Sie die URL zum Identitätsdienst entweder beim Befehl openstack als Parameter --os-url angeben oder die Umgebungsvariable OS_URL belegen. Dieser Leitfaden verwendet Umgebungsvariablen zur Reduzierung der Befehlslänge.

Warnung

Aus Sicherheitsgründen sollten Sie den provisorischen Authentifizierungstoken zur Initialisierung des Identitätsdienstes nicht länger als unbedingt nötig verwenden.

  1. Konfigurieren Sie den Authentifizierungstoken:

    $ export OS_TOKEN=ADMIN_TOKEN
    

    Ersetzen Sie ADMIN_TOKEN durch den Authentifizierungstoken, den Sie im Abschnitt installiere und konfiguriere erzeugt haben. Zum Beispiel:

    $ export OS_TOKEN=294a4c8a8a475f9b9836
    
  2. Konfigurieren Sie die Endpunkt-URL:

    $ export OS_URL=http://controller:35357/v3
    
  3. Konfigurieren Sie die Identitäts-API-Version:

    $ export OS_IDENTITY_API_VERSION=3
    

Erstellen Sie die Dienstentität und die API-Endpunkte

  1. Der Identitätsdienst verwaltet einen Dienstekatalog in Ihrer OpenStack-Umgebung. Dienste verwenden diesen Katalog zur Identifikation weiterer verfügbarer Dienste in Ihrer Umgebung.

    Erstellen Sie die Dienstentität für den Identitätsdienst:

    $ openstack service create \
      --name keystone --description "OpenStack Identity" identity
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | OpenStack Identity               |
    | enabled     | True                             |
    | id          | 4ddaae90388b4ebc9d252ec2252d8d10 |
    | name        | keystone                         |
    | type        | identity                         |
    +-------------+----------------------------------+
    

    Bemerkung

    OpenStack erzeugt IDs dynamisch, deshalb werden Ihre Werte von denen im Beispiel abweichen.

  2. Der Identitätsdienst verwaltet einen Katalog für API-Endpunkte, die den Diensten in Ihrer OpenStack-Umgebung zugeordnet sind. Dienste verwenden diesen Katalog um zu bestimmen, wie mit anderen Diensten in Ihrer Umgebung kommuniziert werden soll.

    OpenStack verwendet für jeden Dienst drei verschiedene API-Endpunkt-Varianten: admin, internal und public. Der API-Endpunkt admin erlaubt standardmäßig das Verändern von Mandanten und Benutzern, während die APIs public und internal diese Operationen nicht erlauben. In einem Produktivumfeld können diese Variationen aus Sicherheitsgründen in unterschiedlichen Netzwerken liegen, um verschiedene Arten von Benutzern zu verwalten. Zum Beispiel könnte das API-Netzwerk public aus dem Internet erreichbar sein, um Kunden das Verwalten Ihrer Clouds zu ermöglichen. Das API-Netzwerk admin könnte auf Anwender innerhalb der Organisation beschränkt sein, die die Cloud-Infrastruktur verwalten. Das API-Netzwerk internal könnte auf die Hosts beschränkt sein, die OpenStack-Dienste enthalten. Außerdem unterstüzt OpenStack mehrere Regionen zugunsten der Skalierbarkeit. Der Einfachheit halber verwendet dieser Leitfaden das Managementnetzwerk für alle Endpunkt-Variationen und die Standardregion RegionOne.

    Erstellen Sie die API-Endpunkte für den Identitätsdienst:

    $ openstack endpoint create --region RegionOne \
      identity public http://controller:5000/v3
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 30fff543e7dc4b7d9a0fb13791b78bf4 |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 8c8c0927262a45ad9066cfe70d46892c |
    | service_name | keystone                         |
    | service_type | identity                         |
    | url          | http://controller:5000/v3        |
    +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      identity internal http://controller:5000/v3
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 57cfa543e7dc4b712c0ab137911bc4fe |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 6f8de927262ac12f6066cfe70d99ac51 |
    | service_name | keystone                         |
    | service_type | identity                         |
    | url          | http://controller:5000/v3        |
    +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      identity admin http://controller:35357/v3
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 78c3dfa3e7dc44c98ab1b1379122ecb1 |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 34ab3d27262ac449cba6cfe704dbc11f |
    | service_name | keystone                         |
    | service_type | identity                         |
    | url          | http://controller:35357/v3       |
    +--------------+----------------------------------+
    

    Bemerkung

    Jeder Dienst, den Sie Ihrer OpenStack-Umgebung hinzufügen, benötigt mindestens eine Dienstentität und drei API-Endpunkt-Varianten im Identitätsdienst.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.