<div dir="ltr"><div class="gmail_default" style="font-size:small">Hi all,<br><br></div><div class="gmail_default" style="font-size:small">I'm working in a European project that uses OpenStack and I am using horizon and keystone for our users and organization management solution. We have some requirements similar to yours Adrian: we need to allow users to sign up themselves (with all the common functionality of email activation, forgot password) plus support authentication using OAuth2.0.<br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">We are interested in having a standard open-source solution for these problems, therefore we are really interested in participating in this discussion to see other solutions for the problem, discuss them and collaborate in making such a service. I think this kind of requirements are common to anyone wanting to use OpenStack to build a public cloud system where there is no admin to create users.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">In the meantime, we have developed our open-source system for them using keystone extensions and django apps which satisfy our requirements. If there is interest in them I can share and explain in more detail our approach to both problems, and help build a well-integrated solution for everyone.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Cheers,</div><div class="gmail_default" style="font-size:small">Enrique Garcia Navalon</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-01-14 13:14 GMT+01:00 David Chadwick <span dir="ltr"><<a href="mailto:d.w.chadwick@kent.ac.uk" target="_blank">d.w.chadwick@kent.ac.uk</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Adrian<br>
<br>
You might be glad to know that we have already produced a blueprint and<br>
implementation for this, based on federated keystone and Horizon. You<br>
can read the specs here<br>
<br>
<a href="https://blueprints.launchpad.net/keystone/+spec/vo-management" target="_blank">https://blueprints.launchpad.net/keystone/+spec/vo-management</a><br>
<br>
and see a demo here<br>
<a href="http://icehouse.sec.cs.kent.ac.uk/" target="_blank">http://icehouse.sec.cs.kent.ac.uk/</a><br>
<br>
(However you will not be able to perform federated login without a<br>
Facebook or Google account, and you will also need the name of the VO<br>
role that you are to join, plus a secret/PIN - Contact me if you want one)<br>
<br>
Briefly, the administrator (could be keystone or domain admin) sets up a<br>
VO role, sends the details to the users who are to become members of it,<br>
along with a secret, and the user then logs in via his IdP (you can use<br>
Facebook or Google), quoting the secret and VO role. He is then enrolled<br>
in Keystone, either automatically, or pending admin approval (as a<br>
config option). The user can resign from the VO role anytime he wishes.<br>
<br>
I have updated your etherpad giving my comments<br>
<br>
regards<br>
<br>
David<br>
<br>
<br>
<br>
On 14/01/2015 05:06, Adrian Turjak wrote:<br>
> Hello openstack-dev,<br>
><br>
> I'm wondering if there is any interest or need for an open-source user<br>
> registration and management service for people using OpenStack.<br>
><br>
> We're currently at a point where we need a way for users to sign up<br>
> themselves, choose their own password, and request new users to be added<br>
> to their project. There doesn't seem to be anything out there, and most<br>
> vendors seem to have built their own systems to handle this or even<br>
> their own dashboard systems that do.<br>
><br>
> Horizon is built around the client tools, and your own personal token,<br>
> so it can't handle creating new users. Plus Keystone doesn't really have<br>
> any good way of handling temporary (unapproved) users and projects.<br>
><br>
> The suggested approach seems to be to build a service to sit along<br>
> Keystone, have it's own admin creds so it can create new users, and also<br>
> store temp user data locally until the user is approved.<br>
><br>
> Unless we can find a suitable solution for us quickly, we're likely to<br>
> be developing such a service. It would ideally have a pluggable approval<br>
> workflow, allowing new user requests, new project requests, creation of<br>
> clients in external client database/ERP systems. Plus it would have a<br>
> password reset-token system for having new users supply their password<br>
> once they are approved, which would also allow existing users to request<br>
> password resets.<br>
><br>
> Part of our requirements are easy to integrate into Horizon, fitting<br>
> neatly into the OpenStack ecosystem along other services, and being easy<br>
> to update/alter once we have hierarchical multi-tenancy and if it makes<br>
> some things easier.<br>
><br>
> I've written up a proposal to help us define our requirements, and a<br>
> copy of that is attached, and on etherpad:<br>
> <a href="https://etherpad.openstack.org/p/User_Management_Service" target="_blank">https://etherpad.openstack.org/p/User_Management_Service</a><br>
><br>
> Plus I've attached a couple of diagrams, which are sadly not UML, but<br>
> should give you some idea of two of the primary use cases.<br>
><br>
> Is this useful to anyone? Is this entirely the wrong approach? If it is<br>
> a useful service is there any interest in collaboration?<br>
><br>
> Thanks for any feedback.<br>
><br>
> Cheers,<br>
> -Adrian Turjak<br>
><br>
><br>
><br>
> __________________________________________________________________________<br>
> OpenStack Development Mailing List (not for usage questions)<br>
> Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
><br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div><br></div>