On 11.01.25 15:29, Alexander Bokovoy via FreeIPA-users wrote:
On Чцв, 09 сту 2025, Ronald Wimmer via FreeIPA-users wrote:
On 09.01.25 13:17, Alexander Bokovoy via FreeIPA-users wrote:
On Чцв, 09 сту 2025, Ronald Wimmer wrote:
So. Let me summarize this information for me personally. If we
create a new user in the staging area via LDAP with a clear-text
password it is impossible that the user can login using IPA's
WebGUI as it requires Kerberos and the krbPrincipalKey is not
available until an implicit or explicit LDAP bind is done with
this exact user, right?
If you provided IPA-specific LDAP objectclasses (and their required
attributes) when creating via LDAP, then you'll get Kerberos
attributes
created automatically and it will not require use of the migration
mode.
Basically, it is fully controlled by your side -- if you are able to
extend what is added to LDAP entry template, you can make it working.
Just look at how this entry looks after 'ipa stageuser-add' and model
your LDAP update around it.
But regarding my question... it can't be that we create a user with
a minimal set of attributes and it can login to the WebGUI as it is
missing the krbPrincipalKey (which would be created after an LDAP
bind), right?
Without seeing what is being done to the entries and by whom, it is
impossible to answer. Enable 389-ds audit log, create a stage user via
your mechanism, activate it, and then you'll see all the details in the
audit log, including who (which plugin or client) made what changes.
I do not want to overcomplicate things here. During our PoC phase we
created users via LDAP like we do now. According to your colleague
Christian Heimes an initial LDAP bind was required whenever we had a
clear text password coming from the external system (user creation or
password modification). Why? If I understood it correctly it was
because the password needs to be hashed and the krbPrincipalKey needs
to be (re)generated. Without the proper key a login to the WebUI
should not be possible.
Correct. As I said, it all depends on a way how staging user was
created:
- if initial LDAP ADD contained Kerberos attributes and objectclasses, as
well as initial clear text password, Kerberos keys will be created
right away, no need for initial LDAP BIND once this entry will be
activated
- if initial LDAP ADD did not contain Kerberos attributes and
objectclasses, Kerberos keys will not be created and you would need to
have LDAP BIND once this entry will be activated.
The former is what 'ipa stageuser-add' is doing. The latter is what most
of external LDAP ADDs are doing. However, if you can extend an LDAP
entry template when doing that external LDAP ADD, nothing prevents you
from using a similar set of objectclasses/initial attribute values that
'ipa stageuser-add' is providing.
What we see now is that the krbPrincipalKey is generated without any
interaction (no implicit or explicit LDAP bind from our side).
The only thing we did recently is getting rid of Oracle Linux. We
switched to RHEL (9.5) and implicitly from FreeIPA to RedHat IDM (IPA
VERSION: 4.12.2, API_VERSION: 2.254).
What I would like to understand is why the relevant Kerberos
attributes (like krbPrincipalKey) now seem to be generated on the fly
whereas some time ago an LDAP bind was required to have them generated.
So far you have not showed how exactly the entry that you added to the
staging area looks like. It doesn't matter who creates it, without
seeing the content of 'ipa stageuser-show foo --all --raw' the rest is
a speculation.
Sorry. Took some time cause this is done by colleagues in a different
department.
A user is created with this LDAP classes and attributes:
dn: uid=testuser,cn=staged
users,cn=accounts,cn=provisioning,dc=linux,dc=mydomain,dc=at
nsaccountlock: false
uid: testuser
ou: some department
cn: testuser
sn: surname
givenname: somegivenname
objectclass: inetorgperson
objectclass: organizationalPerson
objectclass: person
objectclass: top
userpassword: <content suppressed>
When a user is created like this, we see that krbPrincipalKey,
karbLastAdminUnlock, krbLastPwdChange, krbPasswordExpiration are created
automatically. (this has definitely been different a whila ago)
--
_______________________________________________
FreeIPA-users mailing list -- freeipa-users@lists.fedorahosted.org
To unsubscribe send an email to freeipa-users-le...@lists.fedorahosted.org
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedorahosted.org/archives/list/freeipa-users@lists.fedorahosted.org
Do not reply to spam, report it:
https://pagure.io/fedora-infrastructure/new_issue