[Openstack-security] [Bug 1464750] Re: Service accounts can be used to login horizon

Dolph Mathews 1464750 at bugs.launchpad.net
Tue Jul 21 21:27:26 UTC 2015


Kathleen: That's already possible as a deployer option, but it's
certainly not the default per the policy.json files we see across
OpenStack today. You're correct in that the root problem here is one of
overly broad authorization ("admin" should be broken down into many more
roles with more specific use cases). It's a problem that exists across
OpenStack. If anyone has gone through the effort of defining more
granular roles for each service in OpenStack, they have not shared that
work, much less upstreamed the resulting policy.json files.

Travis: The core issue here is not particularly relevant to keystone's
v2 / v3 APIs, nor to Nova and Neutron. All services that I'm aware of
use the concept of a "service" user which in most deployments receive
overly broad "admin" level authorization (which should be clearly
understood by everyone as being analogous to having "root" of the entire
cloud). As I believe David Hill alluded in the bug description, those
accounts generally have passwords just like regular users (and regular
cloud operators) and can thus authenticate with keystone to generate
tokens just as any other API user can. Given service user's "admin"
authorization across OpenStack, they then have free reign to make any
API calls they please. Whether or not Horizon is involved is entirely a
non-issue, in my opinion.

As Adam pointed out, the problem described in bug 968696 is tightly
related to this one, if it's not a duplicate. The only difference here
is that service users are generally deployed with that level of
authorization, when they should not, and ultimately do not, require it.

-- 
You received this bug notification because you are a member of OpenStack
Security, which is subscribed to OpenStack.
https://bugs.launchpad.net/bugs/1464750

Title:
  Service accounts can be used to login horizon

Status in OpenStack Dashboard (Horizon):
  Incomplete
Status in OpenStack Security Advisory:
  Won't Fix
Status in OpenStack Security Notes:
  In Progress

Bug description:
  This is not a bug and may / may not be a security issue ... but it
  appears that the service account created in keystone are of the same
  privileges level as any other admin accounts created through keystone
  and I don't like that.

  Would it be possible to implement something that would distinguish
  user accounts from service accounts?  Is there a way to isolate some
  service accounts from the remaining of the openstack APIs?

  One kick example on this is that any service accounts have admin
  privileges on all the other services .   At this point, I'm trying to
  figure out why are we creating a distinct service account for each
  service if nothing isolate them.

  IE:

  glance account can spawn a VM
  cinder account can delete an image
  heat account can delete a volume
  nova account can create an image

  
  All of these service accounts have access to the horizon dashboard.  One small hack could be to prevent those accounts from logging in Horizon.

  Thanks,

  Dave

To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1464750/+subscriptions




More information about the Openstack-security mailing list