Назад | Перейти на главную страницу

Как OpenStack Glance работает с Keystone и для чего конкретно нужны эти параметры конфигурации?

Я настраиваю Glance для аутентификации по Keystone. Это работает, но я точно не знаю, как взаимодействуют некоторые параметры аутентификации.

Я начал с настройка взгляда документации, но на самом деле здесь не документируется ни один из этих вариантов. Я нашел документация по аутентификации, в котором обсуждаются некоторые из них, но не документируется auth_uri.

В пример конфигурации взгляда в Руководство по установке и развертыванию OpenStack выглядит так:

[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
service_protocol = http
service_host = 127.0.0.1
service_port = 5000
auth_host = 127.0.0.1
auth_port = 35357
auth_protocol = http
auth_uri = http://127.0.0.1:5000/
admin_token = 012345SECRET99TOKEN012345

В документация по аутентификации говорит:

Те переменные, которые начинаются с auth_, указывают на службу администратора Keystone. Эта информация используется промежуточным программным обеспечением для фактического запроса Keystone о действительности токенов аутентификации.

Ладно. Так как же auth_uri взаимодействовать с auth_host, auth_port, и auth_protocol? Можно ли просто предоставить auth_uri а остальные варианты отбросить? Есть ли соответствующий service_uri вариант конфигурации? И почему порт в auth_uri соответствуют service_port в приведенной выше конфигурации вместо auth_port?

Keystone относится к порту 35357 в качестве порта «admin», что, на мой взгляд, предполагает, что он потребуется только для администрирования keystone (создание / удаление служб, клиентов и т. д.). Glance вместо этого называет его портом «auth», что предполагает другое использование. Что именно предоставляет служба на порту 35357, чего не предоставляет служба на порту 5000?

Первый выезд: http://docs.openstack.org/ops/OpenStackOperationsGuide.pdf

Взглянем на исходный код взгляда ...

tools/migrate_image_owners.py 

... это единственный файл, который ссылается на auth_uri.

Похоже, что эта переменная повсюду, и она помогает с обработкой токенов аутентификации в клиентах и ​​во всем openstack. Он не используется специально для glance ... но он используется утилитами, которые работают со стеком промежуточного программного обеспечения.

Что касается различий между 5000 и 35357 по трапецеидальности ...

http://docs.openstack.org/developer/keystone/api_curl_examples.html есть довольно подробное обсуждение того, какие примеры API работают с обоими или нет.

Насколько я понимаю, порт 5000 состоит в том, что его конкретная цель - разрешить общедоступную аутентификацию API для keystone, поэтому вам не нужно открывать 35357 только для того, чтобы люди могли аутентифицироваться на нем.

Что касается того, почему в каждом из компонентов openstack есть авторизация, связанная с keystone ... честно говоря, я не знаю. знать.

Однако я должен отметить, что API v2 скоро появится. Еще не полностью задокументировано, и он начнет вносить некоторые радикальные изменения в работу Keystone.