Nikita
ранее с этим не имел дела
Pavel
Пример из доки может быть и не рабочим. Например кейклок изменил поля (например сделал camelCase)
Nikita
простите за ламерские вопросы
Pavel
Я в Xena напоролся на то что теперь нужно в регионе писать так как он заведен в кейстоне с учётом регистра. До Xena можно было регистр не соблюдать
Pavel
Короче смотреть логи кейстона, если ничего странного нет, то включить дебаг в кейстоне
Nikita
с вкл дебагом две записи которые напрягают
module external in not register
и mfa rules not fount for user
но эти же записи есть когда логинится админ
Pavel
А домен Default в кейклоке?
Pavel
Если нет то там вроде нужно создать домен и матчить пользователей в домен
Pavel
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"
}
]
}
]
Pavel
Nikita
еще такой вариант пробовали
Pavel
Домен my-domain есть в keystone?
Nikita
Nikita
в самом глобал мы писали тоже Default
Pavel
Один домен = отдельный идентифи провайдер
Nikita
ну и в мапинге соответственно
Nikita
Pavel
Тот что создан первым это дефолт. Нужно очень сильно постараться чтобы дефолт ходил куда-то кроме кейстона и бд
Nikita
Nikita
в глобал он так же был прописан
Pavel
Вы уже определитесь, вы хотите одноранговую федерацию (это по сути "я доверяю вон тому хосту, у нас атрибуты одинаковые и если он сказал что пользователь правильный значит правильный" без всяких там мапингов и ТД) либо вы хотите отдельный идентифи провайдер со своими атрибутами
Nikita
для начала мы бы хотели забороть "я доверяю вон тому хосту, у нас атрибуты одинаковые и если он сказал что пользователь правильный значит правильный" без всяких там мапингов и ТД
Pavel
https://docs.openstack.org/keystone/latest/admin/federation/configure_federation.html#keystone-as-an-identity-provider-idp
Тогда примерно отсюда начать
Nikita
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.
Slava I.
Без танцев вроде заводилось. Но клоака не плследняя точно.
Slava I.
Чейта
Slava I.
Работает
Slava I.
Ток надо маппинги рисовать
Slava I.
И юзеров в клоаке в реалме
Slava I.
Ну дык в любом случае их рисовать
Slava I.
Забавное то что оно создает тенант само
Slava I.
В некоторых случаях. И это нельзя отключить
Nikita
А гугловый сервер авторизации без танцев вкидывается в опенстак?
Nikita
Мало опыта в этом, направьте в нужное русло, голова кругом…
Stanley
По сравнению с kk - нет.
Nikita
посмотрите лог, если не трудно, я хз чего не хватает у меня ...
Stanley
Твои проблемы, ругайся. Написал как есть по факту.
Slava I.
Не, ну настроим конечно) но за 300к/сек)
Stanley
Ага. Потом чел нальет новую клоаку, где все по другому и снова мочало, начинай с начала. Не, я голосую за винду и домен.
Slava I.
Но да, в колле-кистоне, все плюс минус по инструкции настраивается(которая на openstack.org). Одна проблема, в эту инструкцию не завезли настроеу кк.
Stanley
Эк тебя накачали то наркотой. :) держись.
Nikita
просто на данный момент
хоризон - кейклок - новый юзер - завелся в кейклоке - завелся в опенстаке - логин фейлд
Nikita
просто не вкурил, нужен ли мне фри ипа/ad и если да то зачем?
Stanley
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