tech:notes_openstack_keystone
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| tech:notes_openstack_keystone [2025/03/24 15:06] – créée - modification externe 127.0.0.1 | tech:notes_openstack_keystone [2026/06/07 19:12] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | < | ||
| + | {{tag> | ||
| + | |||
| + | # Notes OpenStack Keystone | ||
| + | |||
| + | Voir : | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | |||
| + | ## Install | ||
| + | |||
| + | Prérequis : | ||
| + | * NTP | ||
| + | |||
| + | |||
| + | ### RedHat | ||
| + | |||
| + | ~~~bash | ||
| + | yum install centos-release-openstack-rocky.noarch | ||
| + | yum install openstack-keystone-doc python-keystoneclient-doc | ||
| + | yum install openstack-keystone httpd mod_wsgi | ||
| + | yum install python-openstackclient | ||
| + | |||
| + | # yum install python-PROJETclient | ||
| + | # yum install python-keystoneclient | ||
| + | |||
| + | # MySQL / MariaDB | ||
| + | yum install MySQL-python | ||
| + | |||
| + | # Postgress | ||
| + | #yum install postgresql | ||
| + | #yum install postgresql-server | ||
| + | yum install @postgresql | ||
| + | yum install python-sqlalchemy python-psycopg2 | ||
| + | |||
| + | # RabbitMQ | ||
| + | yum install rabbitmq-server | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | sudo postgresql-setup initdb | ||
| + | systemctl start postgresql.service | ||
| + | systemctl enable postgresql.service | ||
| + | ~~~ | ||
| + | |||
| + | Configurer | ||
| + | |||
| + | `/ | ||
| + | ~~~ | ||
| + | #host all | ||
| + | host all | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | su - postgres | ||
| + | psql | ||
| + | ~~~ | ||
| + | |||
| + | ~~~sql | ||
| + | CREATE ROLE keystoneUser WITH LOGIN PASSWORD ' | ||
| + | CREATE DATABASE keystone OWNER keystoneuser ; | ||
| + | ~~~ | ||
| + | |||
| + | `/ | ||
| + | ~~~ini | ||
| + | [DEFAULT] | ||
| + | #verbose = True | ||
| + | debug = true | ||
| + | |||
| + | [database] | ||
| + | #connection = mysql:// | ||
| + | #connection = mysql+pymysql:// | ||
| + | connection = postgresql:// | ||
| + | |||
| + | [token] | ||
| + | provider = fernet | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | systemctl restart httpd | ||
| + | su keystone -s /bin/sh -c " | ||
| + | ~~~ | ||
| + | |||
| + | Les logs sont ici `/ | ||
| + | ~~~bash | ||
| + | journalctl -f -u devstack@keystone.service | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | ## Configuration | ||
| + | |||
| + | ### Renommer un endpoint | ||
| + | |||
| + | Kestone a été initié avec les paramètres suivants | ||
| + | |||
| + | ~~~bash | ||
| + | keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone | ||
| + | keystone-manage credential_setup --keystone-user keystone --keystone-group keystone | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | keystone-manage bootstrap --bootstrap-password toor \ | ||
| + | --bootstrap-admin-url http:// | ||
| + | --bootstrap-internal-url http:// | ||
| + | --bootstrap-public-url http:// | ||
| + | --bootstrap-region-id RegionOne | ||
| + | ~~~ | ||
| + | |||
| + | Solution : faire un update en base. | ||
| + | ~~~sql | ||
| + | update endpoint set url=' | ||
| + | ~~~ | ||
| + | |||
| + | Puis rédemarrer le service Apache ou le service SystemD | ||
| + | ~~~bash | ||
| + | systemctl restart httpd | ||
| + | # ou | ||
| + | systemctl restart devstack@keystone.service | ||
| + | ~~~ | ||
| + | |||
| + | Test | ||
| + | |||
| + | `openrc` | ||
| + | ~~~bash | ||
| + | export OS_USERNAME=admin | ||
| + | export OS_PASSWORD=toor | ||
| + | export OS_PROJECT_NAME=admin | ||
| + | export OS_USER_DOMAIN_NAME=Default | ||
| + | export OS_PROJECT_DOMAIN_NAME=Default | ||
| + | export OS_AUTH_URL=http:// | ||
| + | export OS_IDENTITY_API_VERSION=3 | ||
| + | ~~~ | ||
| + | |||
| + | ~~~bash | ||
| + | source openrc | ||
| + | openstack token issue --debug | ||
| + | openstack service list | ||
| + | openstack user list | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | |||
| + | ### Configuration d'un domaine AD/LDAP | ||
| + | |||
| + | Exemple de conf | ||
| + | `/ | ||
| + | ~~~ini | ||
| + | [identity] | ||
| + | domain_configurations_from_database = False | ||
| + | driver = ldap | ||
| + | |||
| + | [ldap] | ||
| + | query_scope = sub | ||
| + | group_name_attribute = sAMAccountName | ||
| + | group_objectclass = group | ||
| + | user_mail_attribute = mail | ||
| + | user_enabled_attribute = userAccountControl | ||
| + | group_tree_dn = CN=Openstack, | ||
| + | chase_referrals = false | ||
| + | user_id_attribute = sAMAccountName | ||
| + | group_members_are_ids = true | ||
| + | group_member_attribute = memberUid | ||
| + | page_size = 500 | ||
| + | use_tls = false | ||
| + | url = ldaps:// | ||
| + | user_name_attribute = sAMAccountName | ||
| + | user = Admin | ||
| + | user_objectclass = organizationalPerson | ||
| + | group_id_attribute = cn | ||
| + | user_filter = (memberOf=CN=Openstack, | ||
| + | group_desc_attribute = description | ||
| + | user_tree_dn = DC=acme, | ||
| + | user_pass_attribute = userPassword | ||
| + | password = UEBzc3cwcmQhISEK | ||
| + | ~~~ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ## Pb | ||
| + | |||
| + | ### Pb utilisateur manquant | ||
| + | |||
| + | L’utilisateur n' | ||
| + | ~~~bash | ||
| + | openstack user list | grep jean | ||
| + | ~~~ | ||
| + | |||
| + | Mais il apparait bien avec | ||
| + | ~~~bash | ||
| + | openstack user show jean | ||
| + | ~~~ | ||
| + | |||
| + | #### Solution | ||
| + | |||
| + | Augmenter le `page_size` | ||
| + | `/ | ||
| + | ~~~ini | ||
| + | [ldap] | ||
| + | page_size = 500 | ||
| + | ~~~ | ||
| + | |||
| + | Puis restart d' | ||
| + | |||
| + | ## Autres | ||
| + | |||
| + | |||
| + | Note : ** iptables est remplacé maintenant par [[nftables_un_remplacant_d_iptables|nftables]] ** | ||
| + | |||
| + | ~~~bash | ||
| + | iptables -I INPUT -p tcp --dport 5000 -j ACCEPT | ||
| + | ~~~ | ||
| + | |||
