[midPoint] SSO, passwords, and end users
Radovan Semancik
radovan.semancik at evolveum.com
Mon Jul 18 19:35:37 CEST 2016
Hi,
On 07/18/2016 06:54 PM, Florin. Stingaciu wrote:
> So I managed to resolve the "Old Password" input field on the
> credentials page, however the password propagation for the midPoint
> repository resource is enabled by default. Is there anyway to specify
> one particular resource to be enabled by default? We want to avoid
> storing any passwords on the midPoint DB at all costs.
I think there is a way to hide the password propagation dialog. Use the
propagationUserControl setting (see the XSD schema or maybe one of my
colleagues can provide an example).
Then simply use password outbound mappings to propagate the password
just to one resource.
However, currently it is not easy to avoid storing password in midpoint
database. MidPoint philosophy is to always synchronize between focus
(user) and projection (account) and never between projections directly.
So, the password needs to be present in midPoint user. And for now
complete user is stored in the database.
There was some discussion about the setting to store passwords in hashed
form (as opposed to encrypted form as it is now). Or even to handle
password only in memory and not to store it at all. I would really like
to implement that - and I was expecting this flexibility during midPoint
design, so the implmenetation should not be that difficult. But
obviously this feature haven't attracted attention of any midPoint
subscriber or sponsor. Therefore it is not implemented.
If you want to avoid storing the password you can do some magic with
scripting hook and remove the password from the user and user deltas at
the right moment in the request processing "clockwork": just after it
was propagated to projection context but before the user is stored. I
believe that this is possible, but it will require very clever
manipulation of model context.
... or you can get a subscription or sponsor this feature.
> In total we have three repositories. One for the midPOint repository,
> an LDAP server (which is where we want to change passwords by default)
> and lastly there's a read only Active Directory. Is there any way
> (either via security policies, or the authorization model) to only
> show and allow password changes on the LDAP server?
Yes. If you set up authorizations in a proper way then the GUI should
adapt. But easier way would be to set up fixed (strong) mappings for
password propagation and completely disallow account changes.
However, currently the GUI is designed to conveniently change only the
user password. And we have no plans to extend that to account passwords
as the common use case is to change user password and propagate the
change to the resources. We do not want to confuse end user too much ...
and in fact many users find the password propagation dialog too
confusing, hence the option to disable it. So just one entry for the
password should be enough. The way forward is to control the way how
user password is stored in midpoint repository. I'm sorry that we do not
have that yet. But anyone can help with funding of this feature.
It could work like this:
User changes his password in midPoint (already implemented)
MidPoint will propagate the password to the resources using the mappings
(already implemented)
MidPoint consults the password storage policy and forgets the password
(not implemented)
So, just a little piece is missing.
--
Radovan Semancik
Software Architect
evolveum.com
More information about the midPoint
mailing list