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. 

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
Users@ovirt.org
http://lists.ovirt.org/mailman/listinfo/users

Reply via email to