Nikita
ранее с этим не имел дела
Pavel
Пример из доки может быть и не рабочим. Например кейклок изменил поля (например сделал camelCase)
Nikita
простите за ламерские вопросы
Pavel
Я в Xena напоролся на то что теперь нужно в регионе писать так как он заведен в кейстоне с учётом регистра. До Xena можно было регистр не соблюдать
Pavel
Короче смотреть логи кейстона, если ничего странного нет, то включить дебаг в кейстоне
Nikita
с вкл дебагом две записи которые напрягают module external in not register и mfa rules not fount for user но эти же записи есть когда логинится админ
Pavel
А домен Default в кейклоке?
Pavel
Если нет то там вроде нужно создать домен и матчить пользователей в домен
Nikita
А домен Default в кейклоке?
это речь про атрибут в кейклоке?
Pavel
Какие вообще есть домены в кейклоке и кейстоне?
Nikita
вообщем, в кейклоке мы добавляли домен в атрибуты, и более того в мапере пробовали хардкодить значение домена на Default или на созданный вручную federation_domain
Nikita
[ { "local": [ { "user": { "name": "{0}", "email": "{1}", "domain": { "name": "federated_domain" } }, "group": { "domain": { "name": "federated_domain" }, "name": "federated_users" }, "projects": [ { "name": "project_{0}", "roles": [ { "name": "_member_" } ] } ] } ], "remote": [ { "type": "OIDC-preferred_username" }, { "type": "OIDC-email" } ] } ]
Nikita
еще такой вариант пробовали
Pavel
Домен my-domain есть в keystone?
Nikita
в самом глобал мы писали тоже Default
Pavel
то лишь пример с доки
Ну домен то нужно создать. Default только из кейстона
Pavel
Один домен = отдельный идентифи провайдер
Nikita
Ну домен то нужно создать. Default только из кейстона
так же, мы когда использовали отдельный созданный домен federation_domain мы тоже вписывали его в глобал
Nikita
ну и в мапинге соответственно
Pavel
Тот что создан первым это дефолт. Нужно очень сильно постараться чтобы дефолт ходил куда-то кроме кейстона и бд
Nikita
Тот что создан первым это дефолт. Нужно очень сильно постараться чтобы дефолт ходил куда-то кроме кейстона и бд
вот по этому мы м создали второй federation_domain и использовали его и последний скинутый мапинг
Nikita
в глобал он так же был прописан
Pavel
Вы уже определитесь, вы хотите одноранговую федерацию (это по сути "я доверяю вон тому хосту, у нас атрибуты одинаковые и если он сказал что пользователь правильный значит правильный" без всяких там мапингов и ТД) либо вы хотите отдельный идентифи провайдер со своими атрибутами
Nikita
для начала мы бы хотели забороть "я доверяю вон тому хосту, у нас атрибуты одинаковые и если он сказал что пользователь правильный значит правильный" без всяких там мапингов и ТД
Pavel
https://docs.openstack.org/keystone/latest/admin/federation/configure_federation.html#keystone-as-an-identity-provider-idp Тогда примерно отсюда начать
Pavel
Там про второй не локальный кейстон
Nikita
А не локальный второй кейстон нам нужен? вместо него может быть же как раз кейклок, или я чегот оне понимаю?
Nikita
задача - авторизация юзера в опенстаке через кейклок
Pavel
Если кейклок тогда идентифи провайдер
Nikita
Если кейклок тогда идентифи провайдер
(venv) ubuntu@dev:~$ openstack identity provider list +-----------+---------+----------------------------------+----------------+ | ID | Enabled | Domain ID | Description | +-----------+---------+----------------------------------+----------------+ | KeyCloack | True | 68e2157a8f4949c9a7b23f92db259474 | Auth KeyCloack | +-----------+---------+----------------------------------+----------------+
Nikita
Nikita
Nikita
https://pastebin.com/aYfGjg1X
Pavel
403
Nikita
модерацию проходит
Nikita
Nikita
вот лог файл
Slava I.
openstack + keycloack + kolla-ansible
Работает на валлаби
Slava I.
Без танцев вроде заводилось. Но клоака не плследняя точно.
Slava I.
Чейта
Slava I.
Работает
Slava I.
Ток надо маппинги рисовать
Slava I.
И юзеров в клоаке в реалме
Slava I.
Ну дык в любом случае их рисовать
Slava I.
Забавное то что оно создает тенант само
Slava I.
В некоторых случаях. И это нельзя отключить
Nikita
А гугловый сервер авторизации без танцев вкидывается в опенстак?
Nikita
Мало опыта в этом, направьте в нужное русло, голова кругом…
Stanley
ктото имел успех в этом?
Говно этот кейклоак. Лучше домен на Винде поднять.
Stanley
По сравнению с kk - нет.
Nikita
посмотрите лог, если не трудно, я хз чего не хватает у меня ...
Stanley
Твои проблемы, ругайся. Написал как есть по факту.
Stanley
посмотрите лог, если не трудно, я хз чего не хватает у меня ...
Сорян, но за тебя кк никто не настроит. Там ебли на сто дурных. Маппинг по группам в опенстеке, заводить придется хитро и куча нюансов.
Slava I.
Не, ну настроим конечно) но за 300к/сек)
Stanley
Ага. Потом чел нальет новую клоаку, где все по другому и снова мочало, начинай с начала. Не, я голосую за винду и домен.
Slava I.
Но да, в колле-кистоне, все плюс минус по инструкции настраивается(которая на openstack.org). Одна проблема, в эту инструкцию не завезли настроеу кк.
Stanley
Эк тебя накачали то наркотой. :) держись.
Nikita
просто на данный момент хоризон - кейклок - новый юзер - завелся в кейклоке - завелся в опенстаке - логин фейлд
Nikita
просто не вкурил, нужен ли мне фри ипа/ad и если да то зачем?
Stanley
просто на данный момент хоризон - кейклок - новый юзер - завелся в кейклоке - завелся в опенстаке - логин фейлд
Кстати, если есть реальный интерес, напиши Славе что выше. За деньги, разумеется. Он делал.
Stanley
просто не вкурил, нужен ли мне фри ипа/ad и если да то зачем?
За тем же - авторизация из одной точки. Если регион один, то ничего не нужно.
Slava I.
Красаучик)
Nikita
просто как я понимаю, с доками на эту тему не очень хорошо? чтото есть, а чтото догадайся сам?
Slava I.
Примерно как со всеми в опенстеке)
Stanley
И как? В магазине принимают оплату идеями? :)
Dmitriy
Ток надо маппинги рисовать
А в чём особенность того маппинга? Как я понял там нужно смапить username email проект. По идее домен можно захардкодить если он одинаковый для всей федерации?
Dmitriy
Ну релма в кк, её разве нужно мапить в опенстак?
Dmitriy
То понятно, это я знаю, вопрос в том, что мапить)
Dmitriy
Ну думаю так выйдет) С тем темпом как сейчас врядли до этого момента решение будет)
Dmitriy
Логи печально все, нот екстернал модуль, и что-то там про рулесы)
Nikita
] MFA Rules not processed for user 2e34a1f817085cab5e03191b887f41e3abdf49097d4ef108f9921a9924108369. Rule list
Nikita
] No 'external' plugin is registered. authenticate
Nikita
уж простите
Nikita
2023-05-08 15:39:45.963 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] updating a direct mapping: ['nlapenkov'] _verify_all_requirements /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:867 2023-05-08 15:39:45.965 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] updating a direct mapping: ['n.lapenkov@gmail.com'] _verify_all_requirements /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:867 2023-05-08 15:39:45.965 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] direct_maps: [['nlapenkov'], ['n.lapenkov@gmail.com']] _update_local_mapping /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:743 2023-05-08 15:39:45.966 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] local: {'user': {'name': '{0}', 'email': '{1}', 'domain': {'name': 'federated_domain'}}, 'group': {'domain': {'name': 'federated_domain'}, 'name': 'federated_users'}, 'projects': [{'name': 'project_{0}', 'roles': [{'name': '_member_'}]}]} _update_local_mapping /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:744 2023-05-08 15:39:45.966 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] direct_maps: [['nlapenkov'], ['n.lapenkov@gmail.com']] _update_local_mapping /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:743 2023-05-08 15:39:45.967 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] local: {'name': '{0}', 'email': '{1}', 'domain': {'name': 'federated_domain'}} _update_local_mapping /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:744 2023-05-08 15:39:45.967 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] direct_maps: [['nlapenkov'], ['n.lapenkov@gmail.com']] _update_local_mapping /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:743 2023-05-08 15:39:45.968 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] local: {'name': 'federated_domain'} _update_local_mapping /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:744 2023-05-08 15:39:45.968 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] direct_maps: [['nlapenkov'], ['n.lapenkov@gmail.com']] _update_local_mapping /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:743 2023-05-08 15:39:45.968 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] local: {'domain': {'name': 'federated_domain'}, 'name': 'federated_users'} _update_local_mapping /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:744 2023-05-08 15:39:45.969 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] direct_maps: [['nlapenkov'], ['n.lapenkov@gmail.com']] _update_local_mapping /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:743 2023-05-08 15:39:45.969 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] local: {'name': 'federated_domain'} _update_local_mapping /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:744 2023-05-08 15:39:45.969 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] direct_maps: [['nlapenkov'], ['n.lapenkov@gmail.com']] _update_local_mapping /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:743 2023-05-08 15:39:45.970 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] local: {'name': 'project_{0}', 'roles': [{'name': '_member_'}]} _update_local_mapping /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:744
Nikita
2023-05-08 15:39:45.970 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] direct_maps: [['nlapenkov'], ['n.lapenkov@gmail.com']] _update_local_mapping /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:743 2023-05-08 15:39:45.970 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] local: {'name': '_member_'} _update_local_mapping /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:744 2023-05-08 15:39:45.971 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] identity_values: [{'user': {'name': 'nlapenkov', 'email': 'n.lapenkov@gmail.com', 'domain': {'name': 'federated_domain'}}, 'group': {'domain': {'name': 'federated_domain'}, 'name': 'federated_users'}, 'projects': [{'name': 'project_nlapenkov', 'roles': [{'name': '_member_'}]}]}] process /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:560 2023-05-08 15:39:45.971 21 DEBUG keystone.federation.utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] mapped_properties: {'user': {'name': 'nlapenkov', 'email': 'n.lapenkov@gmail.com', 'domain': {'name': 'federated_domain'}, 'type': 'ephemeral'}, 'group_ids': [], 'group_names': [{'domain': {'name': 'federated_domain'}, 'name': 'federated_users'}], 'projects': [{'name': 'project_nlapenkov', 'roles': [{'name': '_member_'}]}]} process /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/federation/utils.py:562 2023-05-08 15:39:46.030 21 DEBUG keystone.auth.core [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] MFA Rules not processed for user 2e34a1f817085cab5e03191b887f41e3abdf49097d4ef108f9921a9924108369. Rule list: [] (Enabled: True). check_auth_methods_against_rules /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/auth/core.py:438 2023-05-08 15:39:46.031 21 DEBUG keystone.common.fernet_utils [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] Loaded 2 Fernet keys from /etc/keystone/fernet-keys/, but [fernet_tokens] max_active_keys = 3; perhaps there have not been enough key rotations to reach max_active_keys yet? load_keys /var/lib/kolla/venv/lib/python3.8/site-packages/keystone/common/fernet_utils.py:286 2023-05-08 15:39:46.032 21 INFO keystone.token.token_formatters [req-60fcb5a7-7138-4139-98d4-8f339480b552 - - - - -] Fernet token created with length of 268 characters, which exceeds 255 characters