Tuesday, 2022-08-09

*** osmanlicilegi is now known as Guest001:48
opendevreviewchenwei proposed openstack/keystone master: Remove unicode literal from code  https://review.opendev.org/c/openstack/keystone/+/85251606:37
opendevreviewGrzegorz Grasza proposed openstack/keystone master: Add an option to randomize LDAP urls list  https://review.opendev.org/c/openstack/keystone/+/82108607:42
opendevreviewchenwei proposed openstack/keystone master: Remove unicode literal from code  https://review.opendev.org/c/openstack/keystone/+/85254010:38
opendevreviewchenwei proposed openstack/keystone master: Remove unicode literal from code  https://review.opendev.org/c/openstack/keystone/+/85254110:40
opendevreviewchenwei proposed openstack/keystone master: Remove unicode literal from code  https://review.opendev.org/c/openstack/keystone/+/85254110:43
*** dviroel|out is now known as dviroel11:32
*** dasm|off is now known as dasm13:30
ozzzo_workWe're running kolla Train with IPA auth, and we noticed today that accounts whose passwords are expired in IPA can auth into Swift. Has anyone else encountered this?14:01
ozzzo_workturns out it's not only Swift; it looks like all Keystone auth is working for accounts with expired passwords14:11
ozzzo_workI see the issue discussed here: https://serverfault.com/questions/716556/freeipa-ldap-refuse-auth-for-users-with-expired-password14:29
opendevreviewAyumu Ueha proposed openstack/keystonemiddleware master: Fix logging notifier unit test  https://review.opendev.org/c/openstack/keystonemiddleware/+/85259014:38
ozzzo_workhow are other operators fixing this? Is there something we can do in our <domain>.conf?14:44
dmendiza[m]#startmeeting keystone15:02
opendevmeetMeeting started Tue Aug  9 15:02:06 2022 UTC and is due to finish in 60 minutes.  The chair is dmendiza[m]. Information about MeetBot at http://wiki.debian.org/MeetBot.15:02
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.15:02
opendevmeetThe meeting name has been set to 'keystone'15:02
dmendiza[m]#topic Roll Call15:02
xeko/15:02
dmendiza[m]Courtesy ping for admiyo, bbobrov, crisloma, d34dh0r53, dpar, dstanek, hrybacki, knikolla, lbragstad, lwanderley, kmalloc, rodrigods, samueldmq, ruan_he, wxy, sonuk, vishakha, Ajay, rafaelwe, xek15:02
dmendiza[m]Hi Grzegorz Grasza !15:02
knikollao/15:02
d34dh0r53o/15:03
h_asahinao/15:03
dmendiza[m]HI everyone!15:04
dmendiza[m]OK, let's get started ...15:04
dmendiza[m]#topic Review Past Meeting Action Items15:04
dmendiza[m]#link https://meetings.opendev.org/meetings/keystone/2022/keystone.2022-08-02-15.00.html15:04
dmendiza[m]We didn't havea ny15:04
dmendiza[m]*have any15:04
dmendiza[m]Moving on ...15:05
dmendiza[m]#topic Liaison Updates15:05
dmendiza[m]No updates I can think of right now ... 🤔15:05
dmendiza[m]#topic OAuth 2.015:05
dmendiza[m]HI h_asahina !15:05
h_asahinahi15:06
dmendiza[m]Any updates for this week?15:06
h_asahinai'd like to discuss about mapping between DN and Keystone user's attributes15:06
h_asahinahttps://review.opendev.org/c/openstack/keystone-specs/+/84376515:06
h_asahinaI replied your comment15:07
h_asahinayou suggested mapping UID and DC to Keystone username and domain_name15:08
h_asahinaand enforce that rule to CA15:08
h_asahinabut I think we can't always enfoce that rule to CA15:09
h_asahinamaybe CA want to use these fields for another purpose15:09
h_asahinathe border of tenant might be not domain_name, but project_id15:10
h_asahinaso, if we try to map DN fields to Keystone users' attributes, we have to add configuration for such mapping15:11
dmendiza[m]Yeah, User IDs are unique15:11
dmendiza[m]I suppose we could make that configurable ...15:13
h_asahinabut adding such configuration makes it a little bit complicated15:14
knikollaWe could tie this up to federation mappings, I guess. 15:15
knikollaThis way the operator decides which attributes to use for what. 15:15
knikollax509 seems to do the same https://docs.openstack.org/keystone/latest/admin/configure_tokenless_x509.html#create-a-map15:16
h_asahinathat makes sense, but to be honest I feel storing entire DN to credentials API is much simpler.15:16
*** sfinucan is now known as stephenfin15:16
h_asahinado you think it's possible to use https://docs.openstack.org/keystone/latest/admin/configure_tokenless_x509.html#create-a-map directly for this purpose? knikolla:15:20
knikollaSimpler, but you have to add each users DN to credentials API, which seems like an unnecessary step. 15:20
knikollaI think it shouldn't be hard to extend the same code used for that to look more like OAuth15:20
h_asahinaif we don't use credentials API, we still have to add a user.15:21
knikollaYes15:22
knikollaBut with that you can also support the use case where presenting the certificate to keystone is what registers the user15:23
knikollalike with federation. though i don't think that's a requirement or desirable for you. 15:23
h_asahinaI mean from the user's view, making a user and making a credential is not different.15:25
h_asahinamaybe I don't understand motivation behind using User API15:27
knikollathe user can't make the credential, he has to request one from the CA15:28
h_asahinacould please elaborate on that?15:30
h_asahinaI understand it's like federation15:31
h_asahinaso if we say `credential` that should be managed by CA15:31
h_asahinabut what user have to do actually is to register its DN (or part of DN) to Keystone15:31
knikollaFor a user to authenticate to keystone using mtls (using the proposed credentials api) these are the required steps. 1) operator registers user 2) user gets a certificate from CA that operator sets up (PKI) 3) user uploads credential received from CA 4) user authenticates15:32
knikollastep 3 runs into a chicken and egg issue with the user not having registered a trusted cert yet, therefore being unable to authenticate (especially if the entire of keystone is protected from mTLS)15:32
knikollaso it makes sense to not require step 3, since the certificate is already coming from a trusted CA15:33
knikolladoes this make sense so far? 15:34
h_asahinaI see. user who register credential itself has to be authenticated by CA, but if we use credentials api it's not possible.15:35
h_asahinaor I should say it's contradicted15:35
h_asahinaif we use User API, that means all user will be authenticated by CA, so such contradiction won't occur.15:36
h_asahinaam I correct?15:37
knikollayes, there are multiple way to not require uploading a credential for each user15:38
*** dviroel is now known as dviroel|lunch15:39
knikollathey involve some mechanism to map a cert's attributes to a user15:39
knikollaThis is already done for all federation mechanisms via federation mappings15:39
knikollaIt might also be of interest to see how LDAP maps into a user15:41
knikolla(which is a different method from federation)15:41
h_asahinalet me confirm. I think we can authenticate users with their id/password even if we use mutual TLS.15:41
h_asahinaI mean user can authenticate without registering their cert in advance.15:42
h_asahinaand then register the cert corresponding to the OAuth2.0 client to credentials API15:42
knikollaWhat would happen if another user registers the same thumbprint?15:43
h_asahinaI think it's possible to ignore a chiken and egg issue you mentioned by the above step. but meaningless15:43
h_asahinaright?15:43
knikollaYou'd need to provide a mechanism for verifying that the user is in possession of the private part to prevent DN squatting15:45
knikollaSo it's not exactly as easy as just registering the public part15:46
h_asahinayes. in the above step untrusted user can register thumbprint15:47
h_asahinathat makes checking DN itself meaningless15:47
knikollafrom my point of view, the mapping mechanism with federation mappings makes for sense and is already used by other cert/assertion/saml authentication methods15:49
h_asahinaokey. we'll try to transplant the mapping of federation to our case.15:50
knikollawe also have an API now for pre-creating federated users https://specs.openstack.org/openstack/keystone-specs/specs/keystone/ussuri/support-federated-attr.html15:50
h_asahinais this something like feature that we can reuse existing users for federation?15:51
knikollayes15:52
knikollayou can patch an already existing user to be a federated user15:52
h_asahinaI see. i'm not sure it suitable for our use case now, but will check it. thanks.15:53
*** dasm is now known as dasm|off15:54
dmendiza[m]Getting close to time, y'all.15:54
h_asahinaokey. I'll update spec based on today's discussion. thanks.15:55
dmendiza[m]Thank you h_asahina 15:55
dmendiza[m]#topic Open Discussion15:55
dmendiza[m]any < 5 min topic y'all would like to talk about?15:55
h_asahinaif there's no topic, i'd like to remind keystonemiddleware Zuul error I reported before. there're some patches this erros appear.15:57
h_asahina    https://review.opendev.org/c/openstack/keystonemiddleware/+/851319 15:57
h_asahinahttps://review.opendev.org/c/openstack/keystonemiddleware/+/83073715:58
h_asahinathe erros:15:58
h_asahina    File "/home/zuul/src/opendev.org/openstack/keystonemiddleware/keystonemiddleware/tests/unit/audit/test_logging_notifier.py", line 36, in test_api_request_no_messaging15:58
h_asahina        call_args = log.call_args_list[0][0]15:58
h_asahina        IndexError: list index out of range15:58
knikollayep, will quickly +2 once I see CI happy. 15:58
knikollaThanks! 15:58
h_asahinagot it. thanks15:58
dmendiza[m]I'll keep an eye out for those too.16:00
dmendiza[m]And that's all the time we have for the meeting.16:00
dmendiza[m]Thanks for joining, y'all16:00
dmendiza[m]#endmeeting16:00
opendevmeetMeeting ended Tue Aug  9 16:00:51 2022 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)16:00
opendevmeetMinutes:        https://meetings.opendev.org/meetings/keystone/2022/keystone.2022-08-09-15.02.html16:00
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/keystone/2022/keystone.2022-08-09-15.02.txt16:00
opendevmeetLog:            https://meetings.opendev.org/meetings/keystone/2022/keystone.2022-08-09-15.02.log.html16:00
*** dviroel|lunch is now known as dviroel16:51
*** dasm|off is now known as dasm18:23
*** lifeless_ is now known as lifeless18:24
*** dviroel is now known as dviroel|biab19:34
*** dviroel|biab is now known as dviroel20:13
*** dasm is now known as dasm|off20:43
*** dviroel is now known as dviroel|out21:17

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!