<div dir="ltr">Hi !<div><br></div><div>I investigated trust's use cases and encountered the problem: When I use auth_token obtained from keystoneclient using trust, I get <b>403</b> Forbidden error: <b>You are not authorized to perform the requested action.</b></div><div><br></div><div>Steps to reproduce: </div><div><br></div><div>- Import v3 keystoneclient (used keystone and keystoneclient from master, tried also to use stable/icehouse)</div><div>- Import v3 novaclient<br>- initialize the keystoneclient:</div><div> <font face="monospace, monospace"> keystone = keystoneclient.Client(username=username, password=password, tenant_name=tenant_name, auth_url=auth_url)</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="arial, helvetica, sans-serif">- create a trust:</font></div><div><font face="monospace, monospace"> trust = keystone.trusts.create(</font><div style="font-family:monospace,monospace"> keystone.user_id,</div><div style="font-family:monospace,monospace"> keystone.user_id,</div><div style="font-family:monospace,monospace"> impersonation=True,</div><div style="font-family:monospace,monospace"> role_names=['admin'],</div><div style="font-family:monospace,monospace"> project=keystone.project_id</div><div style="font-family:monospace,monospace"> )</div><div style="font-family:monospace,monospace"><br></div><div><font face="arial, helvetica, sans-serif">- initialize new keystoneclient:</font></div><div style="font-family:monospace,monospace"><div> client_from_trust = keystoneclient.Client(</div><div> username=username, password=password,</div><div> trust_id=<a href="http://trust.id">trust.id</a>, auth_url=auth_url,</div><div> )</div></div><div style="font-family:monospace,monospace"><br></div><div><font face="arial, helvetica, sans-serif">- create nova client using new token from new client:</font></div><div style="font-family:monospace,monospace"><div> nova = novaclient.Client(</div><div> auth_token=client_from_trust.auth_token,</div><div> auth_url=auth_url_v2,</div><div> project_id=from_trust.project_id,</div><div> service_type='compute',</div><div> username=None,</div><div> api_key=None</div><div> )</div></div><div style="font-family:monospace,monospace"><br></div><div><font face="arial, helvetica, sans-serif">- do simple request to nova:</font></div><div> <font face="monospace, monospace">nova.servers.list()</font><br></div><div><font face="monospace, monospace"><br></font></div><div><font face="arial, helvetica, sans-serif">- get the error described above.</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><br>Maybe I misunderstood something but what is wrong? I supposed I just can work with nova like it was initialized using direct token.</font></div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><font>Best Regards,</font></div><div><font>Nikolay</font></div></div></div>
</div></div>