implement rbac support for admin dashboard

Registered by Andre Aranha

Summary:
Implement RBAC on Admin dashboard.

Motivation:
Dashboards should reflect the policies permissions, if a user has permission to list hypervisors, that option should appear in the Admin dashboard.

Use Case #1
    As a cloud admin I want to define new roles to be used in my cloud: cloud_admin, the role to manager the cloud, domain admin for the domain, project admin, the role to manager the project the user is the admin, and member, the usual user with no admin privilege.

As seen in code, Horizon only shows the Admin dashboard if the user has the role admin ( https://github.com/openstack/horizon/blob/master/openstack_dashboard/dashboards/admin/dashboard.py#L33 ). This is undesirable in the Use Case #1, because I renamed and split the role admin to cloud_admin, domain_admin and project_admin.

Use Case #2
I want to give permission to users with role member in a domain to list volumes.

With the currently implementation this is not possible, because of the same case above, as these users are not admins, the Horizon won't show the Admin dashboard.

Description:
In order to implement this feature it's required to remove the constraint that only a user with role admin is able to see the Admin dashboard ( https://github.com/openstack/horizon/blob/master/openstack_dashboard/dashboards/admin/dashboard.py#L33 ). Also it's desirable to replace the permissions in each panel for the specific rules for the associate operations.

UX:
The UX will not be modified, except that it will show dashboards and panels for non-admin users as well.

Outside Dependencies:
N/A

Requirements Update Required:
N/A

Doc Impact:
N/A

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Andre Aranha
Direction:
Needs approval
Assignee:
None
Definition:
Superseded
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
David Lyle

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/admin-rbac,n,z

Addressed by: https://review.openstack.org/126988
    Implementing RBAC in Admin Dashboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.