Créer l’entité de service et les endpoints API

Créer l’entité de service et les endpoints API

Le service d’Identité fournit un catalogue de services et leur emplacement. Chaque service ajouté à votre environnement OpenStack nécessite une entité de service et plusieurs endpoints API dans le catalogue.

Pré-requis

Par défaut, la base de données du service d’Identité ne contient aucune information pour supporter les services d’authentification et de catalogue. Vous devez utiliser un jeton d’authentification temporaire que vous avez créé dans la section intitulée Installer et configurer pour initialiser l’entité de service et les endpoints API pour le service d’Identité.

Vous devez passer la valeur du jeton d’authentification à la commande openstack à l’aide du paramètre --os-token ou en définissant la variable d’environnement OS_TOKEN. De la même façon, vous devez aussi passer la valeur de l’URL du service d’Identity à la commande openstack à l’aide du paramètre --os-url ou en définissant la variable d’environnement OS_URL. Ce guide utilise les variables d’environnement pour réduire la taille des commandes.

Avertissement

Pour des raisons de sécurité, ne pas utiliser le jeton d’authentification temporaire plus longtemps que nécessaire pour initialiser le service d’Identité.

  1. Configurer le jeton d’authentification :

    $ export OS_TOKEN=ADMIN_TOKEN
    

    Remplacer ADMIN_TOKEN par le jeton d’authentification généré dans la section intitulée Installer et configurer. Par exemple :

    $ export OS_TOKEN=294a4c8a8a475f9b9836
    
  2. Configurer l’URL du endpoint :

    $ export OS_URL=http://controller:35357/v3
    
  3. Configurer la version de l’API du service d’Identité :

    $ export OS_IDENTITY_API_VERSION=3
    

Créer l’entité de service et les endpoints API

  1. Le service d’Identité gère un catalogue de services dans votre environnement OpenStack. Les services utilisent ce catalogue pour connaitre les autres services disponibles dans votre environnement.

    Créer l’entité de service pour le service d’Identité :

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

    Note

    OpenStack génère dynamiquement les IDs, c’est pourquoi vous verrez des valeurs différentes dans la sortie des commandes montrées en exemple.

  2. Le service d’Identité gère un catalogue de endpoints API associés aux services dans votre environnement OpenStack. Les services utilisent ce catalogue pour déterminer comment communiquer avec les autres services dans votre environnement.

    OpenStack utilise trois variantes du endpoint API pour chaque service : admin, interne, et publique. Le endpoint API admin permet de modifier les utilisateurs et les tenants par défaut, alors que les endpoints APIs publique et interne ne permettent pas ces opérations. Dans un environnement de production, ces variantes doivent résider sur des réseaux séparés qui servent différents types d’utilisateurs pour des raisons de sécurité. Par exemple, le réseau des API publiques pourra être visible d’Internet pour que les clients puissent gérer leurs clouds. Le réseau des API admin pourra être restreint aux opérateurs dans l’organisation qui gèrent l’infrastructure cloud. Le réseau des API internes pourra être restreint aux hôtess qui contiennent les services OpenStack. De plus, OpenStack supporte le multi régions pour la scalabilité. Par simplification, ce guide utilise le réseau de management pour tous les endpoints et la région par défaut RegionOne.

    Créer les endpoints API pour le service d’Identité :

    $ 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       |
    +--------------+----------------------------------+
    

    Note

    Chaque service ajouté à votre environnement OpenStack nécessite une ou plusieurs entités de service et trois variantes du endpoint API dans le Service d’Identité.

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.