Bug 1164286
| Summary: | [RFE] RHEV-M API needs mechanism to allow an authenticated user to query in the context of another user | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Virtualization Manager | Reporter: | Matt Smith <mjs> |
| Component: | ovirt-engine | Assignee: | Martin Perina <mperina> |
| Status: | CLOSED WONTFIX | QA Contact: | |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | unspecified | CC: | bazulay, gscott, juan.hernandez, lpeer, lsurette, mjs, mkalinin, rbalakri, Rhev-m-bugs, srevivo, ssekidde, tmishler, ykaul |
| Target Milestone: | --- | Keywords: | FutureFeature |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Enhancement | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-02-23 17:20:03 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | Infra | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1523346 | ||
|
Description
Matt Smith
2014-11-14 14:45:53 UTC
I'd suggest to implement this using the HTTP "From" header (or any other custom header). That header could contain the identifier of the user to impersonate: GET /ovirt-engine/api/vms HTTP/1.1 From: joe ... This could be combined with a new "Impersonate" permission that the authenticated user should have in order to be allowed to actually impersonate other users. This could be a system permission or attached to specific profiles, users or groups. The required changes should be confined to the authentication layer and to the backend. Note also that for this particular use case (finding pools available for a particular user) it may be simpler to add support to query pools by user, like we can query VMs by user. If we do so then the caller could run the query with the admin user: GET /api/vmpools?search=user.name%3D=theuser HTTP/1.1 (In reply to Juan Hernández from comment #3) > Note also that for this particular use case (finding pools available for a > particular user) it may be simpler to add support to query pools by user, > like we can query VMs by user. If we do so then the caller could run the > query with the admin user: > > GET /api/vmpools?search=user.name%3D=theuser HTTP/1.1 This query would also need to be extended beyond pools, e.g., to allow identification of VMs that the user instantiated from those pools. At which point, it may be beneficial to simply implement the query across all resource types. BZ<2>Jira re-sync |