Ручная установка Openstack: ПРЕДУПРЕЖДЕНИЕ. Нет правил политики для службы «удостоверение».

Установил релиз Openstack Train вручную.

При входе в панель мониторинга Horizon в качестве роли, не являющейся администратором, и щелчке по панели мониторинга в правом верхнем углу появляются всплывающие сообщения об ошибках.

В частности, в разделе Compute › Images возникают две ошибки:

  1. Ошибка: Запрещено. Недостаточно прав для запрошенной операции
  2. Ошибка: невозможно получить проект

Глядя в error_log для httpd, он снова и снова показывает эти ошибки:

WARNING openstack_auth.policy No policy rules for service 'network' in /usr/share/openstack-dashboard/openstack_dashboard/conf/neutron_policy.json 
WARNING openstack_auth.policy No policy rules for service 'identity' in /usr/share/openstack-dashboard/openstack_dashboard/conf/keystone_policy.json

При попытке перейти на /usr/share/openstack-dashboard/openstack_dashboard/ и посмотреть keystone_policy.json или Neutron_policy.json каталог conf отсутствует, как и файлы.

Openstack заявляет, что у каждой службы есть собственный файл policy.json (или yaml, если используется более новая версия).Документация Openstack Однако, когда я перехожу к файлам сервисов, они пусты. Мой вопрос: можно ли просто создать эти файлы policy.json? В документации Openstack указано, что не рекомендуется изменять файлы policy.json, что заставляет меня думать, что это ошибка. Сталкивались ли другие с подобными проблемами?

ОБНОВЛЕНИЕ

С тех пор я создал каталог conf под /usr/share/openstack-dashboard/openstack_dashboard. Затем я использовал генератор oslo для создания новых файлов политик для каждой службы с помощью следующей команды: oslopolicy-policy-generator --namespace keystone --output-file keystone_policy.json

Я перезапустил apache и вошел в Horizon как администратор и понял, что мой пользователь-администратор не может создавать проекты, пользователей или роли.

В настоящее время застрял на этом около недели.

У кого-нибудь есть похожие проблемы?


person Abi    schedule 28.07.2020    source источник


Ответы (2)


Я сам частично прошел через эту проблему.

Например, в части glance все политики определены в узлах glancs-api/registry /etc/glance/policy.json, и такой же файл существует в моем кластере панели мониторинга по пути /etc/openstack-dashboard. В local_settings найдите раздел POLICY_FILES = и закомментируйте его, так как role = user вы не столкнетесь с ошибками.

Что касается identity по полису

POLICY_FILES = {
   'identity': 'keystone_policy.json',
}

Вы должны убедиться, что keystone_policy.json существует по пути openstack-dashboard.

И как роль пользователя вы увидите проекты, которыми вы владеете/участником, без ошибок.

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

person Tux88    schedule 21.08.2020
comment
У меня также есть политики в /etc/glance/policy.json, однако я заметил, что они устарели, и использовал генератор oslo для создания новых файлов политик для каждой службы. В local_settings у меня нет файла POLICY_FILES. Вместо этого он существует в /openstack_dashboard/defaults.py. У меня есть keystone_policy.json в openstack_dashboard/conf/, НО в настоящее время у меня есть проблемы, когда администратору не разрешено создавать пользователей, проекты или роли. Похоже, что политики по умолчанию не применяются должным образом. Есть ли у вас какие-либо проблемы с правилами администратора и идентификации? - person Abi; 25.08.2020

Таким образом, похоже, что файлы yaml могут работать неправильно в версии Train.

Команда oslopolicy-policy-generator --namespace keystone --output-file keystone_policy.json создает файл, оканчивающийся на .json, но на самом деле выглядит как yaml snytax.

При размещении в папке /usr/share/openstack-dashboard/openstack_dashboard/conf файл политики применяется неправильно.

Следующая команда окончательно решила все мои проблемы с файлами политик:

oslopolicy-policy-upgrade \
--config-file /etc/keystone/keystone.conf \
--format json \
--namespace keystone \
--output-file keystone_policy_2.json \
--policy keystone_policy.json

При проверке /var/log/keystone/keystone.log было замечено следующее сообщение:
Deprecated policy rules found. Use oslopolicy-policy-generator and oslopolicy-policy-upgrade to detect and resolve deprecated policies in your configuration. Вот что побудило использовать oslopolicy-policy-upgrade -h

Также убедился, что /openstack_dashboard/defaults.py сказал следующее:

POLICY_FILES = {
    'identity': 'keystone_policy.json',
    'compute': 'nova_policy.json',
    'volume': 'cinder_policy.json',
    'image': 'glance_policy.json',
    'network': 'neutron_policy.json',
}

Я хочу отметить, что эти две разные команды создали два разных файла keystone_policy.json. В первой команде много упоминаний о system_scope:all, а вторая команда имеет более простые правила, такие как: identity:list_users_in_group: rule:admin_required. Так что, может быть, это связано с использованием IdentityV3 против V2?

Я не уверен. Но я рад, что разрешения применяются правильно.

person Abi    schedule 25.08.2020