On 10/02/2012 05:20 PM, Brian Vetter wrote:
3.1 added support for non admin to use the api.
i.e., this should work.
which specific version are you using?

 From the about box in the admin web app:

    oVirt Engine Version:3.1.0-2.fc17


The curl command I send is:

    curl --cacert $CA_FILE -X GET -H "Filter: true" -u
    user@domain:password https://$OVIRT/api/vms > uservms.xml


The output when my user's group has a DOMAIN_ADMIN role contains the xml
for the VMs. The output when the user's group has either a power user or
a regular user role contains the error response with a 401 unauthorized
error.

I had lots of fun getting this server set up so it is possible I made a
mistake during installation, but it seems pretty functional right now.
Everything seems to be working but I haven't been able to to test out
how/if I can connect a new, non-portal client without having to add new
servlets.

i think you should get an empty list and not a 401 in any case, but just to make sure - you have the user role on a specific VM and you don't see it?
michael - thoughts?
maybe this was fixed post ovirt 3.1 fedora release?


Brian

On Oct 2, 2012, at 9:57 AM, Itamar Heim wrote:

On 10/02/2012 04:52 PM, Brian Vetter wrote:
Adding the "Filter:true" header to the curl request doesn't change
anything. If the user account is not an admin account, I get a 401
status result. So my question still stands, can the REST API be used
by a mere, non-admin "mortal" or is it only for administrative functions?

I'm in the process of trying to hook up a different client to a VM
managed by ovirt. I can't use the user portal app. So I was trying to
use the REST APIs on behalf of a normal, non-admin user to get the
list of the authenticating user's VMs and their connection information.

3.1 added support for non admin to use the api.
i.e., this should work.
which specific version are you using?


Brian

On Oct 2, 2012, at 2:15 AM, Itamar Heim wrote:

On 10/02/2012 06:28 AM, Brian Vetter wrote:
I've done two different things. First, I associated one of my
groups in my directory with being a VMUser which gave members
access to a particular VM. If I login with one of those users via
the User portal, I can see their VM (or VMs if I do more than one).
If I use the REST API (or ovirt-shell) using this user's account
and password, I get an unauthorized error.

Similarly, I have another group that is assigned the DomainManager
role. If I add this other user to that group, when I login with
that user via the user portal, I see the advanced portal. If I use
the REST-API (using curl) or ovirt-shell and use the user's login
information, I now am authorized and see a list of VMs returned as
XML (in the case of curl).

That said, I see all VMs in the system, not just the one assigned
to the user that logged in. So this makes me think that either the
REST API for getting the APIs as suggested by the article is an
administrative API and there is either (a) a different rest API/uri
that returns the logged in user's vms (the list that would be
returned to the portal) or (b) no way to get a particular user's
list of VMs authenticated as the user.

you need to specify to the api you want to view things in "user
mode" via the filter header.
Example:
curl -X GET -H "Filter: true" -u user@domain:password
http://[servername]:PORT/api/vms




Brian

On Oct 1, 2012, at 10:49 PM, Yair Zaslavsky wrote:

Hi Brian,
I looked at the wiki -
I assume you're referring to the "showVm" part.
Have you assigned any permissions to the user that is supposed to
view the VMs?
I assume you created the VMs with the administrator user, so any
other user will require to have a proper permissions in order to
view these VMs

Yair


On 10/02/2012 05:09 AM, Brian Vetter wrote:
I was trying to use both the rest api to view a user's vm
information. I found that the REST APIs always returned an
authentication error if the account I had logged into was not an
ovirt administrator. I am guessing that either (a) I am using the
wrong URL in the REST api or (b) you must be some kind of admin
to access the REST APIs. I noticed the same behavior when I was
using the ovirt-shell tool.

For example, I was trying to follow the instructions in
http://wiki.ovirt.org/wiki/How_to_Connect_to_SPICE_Console_Without_Portal
to get the list of VMs (presumably for the user that is logging
in), I get an unauthorized error. If the user account I login
with in the curl or ovirt-shell connect statement is an admin, I
get the list of VMs.

So my question here is does the REST-API need admin privileges or
am I using a url that requires admin privileges whereas some
others don't. And if it is the latter, is there somewhere that
documents the various rest api resources? For example, to go back
to the "How to connect to Spice console ..." article, how would
one use the REST API to fetch one's virtual machines, their
status, and connection info for them?

Thanks,

Brian






_______________________________________________
Users mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/users

Reply via email to