I think we all need the details for this. How do you issue credentials to customers? Do you expect customer operators to recognize the username / password in your domain to authenticate the client to your service?
One option might be to give the client an OAuth 2.0 update token, and they put that update token in their application configuration (securely) or automatically bind it when the application loads. Refresh tokens are valid indefinitely unless canceled.
Then transfer the OAuth 2.0 update token directly through the application engine application and to BigQuery / Google Cloud Storage. All ACLs (which client has permission for what) can then be processed initially in Cloud Storage / BigQuery.
You can also force them to use tokens themselves in a web browser, provided that they have credentials. They will need to do this only once when setting up the application, and the token will be saved by the application. For more information, see the OAuth 2.0 usage guide for installed applications: https://developers.google.com/accounts/docs/OAuth2InstalledApp
source share