We would like to implement an analytical tool with the aid of Bigquery and Cloud Storage services. The tool should run on App Engine and expose REST interface so that all requests go through that interface and subsequently are forwarded to Bigquery. Authorizing access to Bigquery should be based on App Engine service account (App Identity API). However, we also need to authenticate the tool clients. The client is always another app or service so OAuth 2.0 and web browser based authentication is not acceptable for us. Is there a way how we can implement such authentication and somehow bind it with Bigquery a Cloud Storage ACL?
Consider situation as follows. A client has been given Google account in our domain. It sends a request to our REST interface and provides credentials (email and password) with other details. The tool authenticates the client and sends request on its behalf to Bigquery (or Cloud Storage). In case that the client tries to access Dataset (Bigquery) or Bucket/Entity (Cloud Storage) without correct permission (set by means of Bigquery/Cloud Storage ACL), the access is forbidden.