In our case the front end is based on Cloud Run services, and we would like to (have to) use a SSO with an external Identity Provider. Thus we would prefer to use the WIF instead of an internal (inside the Cloud Run) SSO implementation. At this moment, the only option I have in mind is this one - https://cloud.google.com/iap/docs/use-workforce-identity-federation but I have not yet tried (will do shortly), so any other options or shared experience is welcome.
• Identities must be from within the same organization. - will it work with an external IdP through the WIF?
• Some integrations, such as Pub/Sub, might stop working if IAP is enabled - as Cloud Run services do communicate between each other through the PubSub service - will be a serious obstacle?
‘they’ - you mean human users? they work with the UI front end which is implemented as a set of cloud run services. And the access to that UI is to be protected (SSO with an external IdP)
the ‘default’ IAP implies that the IdP is Google, so a union of the IAP and WIF might be promising.
unfortunately no, for many reasons (including company wide). no way for identity synchronisation. Thus the Workforce Identity Federation - to try. And I am after shared knowledge, experience, links, etc.
IAP with WIF is the recommended path. A less ideal implementation could be service account impersonation:
• You grant your external users the ability to impersonate a Google Service Account.
• This service account has the run.routes.invoke permission.
• Your frontend code uses the impersonated service account to get tokens to call the backend.