我想为有权访问GCP的用户设置OAuth2.0流。用户将登录到Web应用程序。然后,OAuth2.0流将需要请求允许应用程序根据他们的权限代表他们执行操作的同意。因此,需要申请的范围应该是涵盖他们对GCP的实际权限的范围。当涉及到OAuth2.0和GCP时,类似的事情是否可能发生?
5sxhfpxr1#
你看过吗?https://developers.google.com/identity/protocols/oauth2看来这能解决你的问题。独立于那个链接--〉是的,这是可以做的事情。你通过OAuth登录,一旦通过认证,该服务就可以使用GCP服务帐户https://cloud.google.com/iam/docs/service-accounts来使用GCP服务。
1hdlvixo2#
可以授予用户模拟服务帐户的权限。可以通过域范围委派(Google Workspace)向服务帐户授予模拟用户帐户的权限。用户不能模拟另一个用户。没有授予所需权限的机制。
qgzx9mmu3#
在GCP项目中,您可以使用以下类型的凭据访问Google API:
APIs and services > Credentials > CREATE CREDENTIALS > Help me choose
最后,当你这样说时:对于具有GCP访问权限的用户你的意思是这些用户有一个Google账户可以访问你的项目中使用的Google API吗?如果是这样的话,并且你的项目不需要访问用户的数据,那么服务账户可能是比OAuth 2.0同意屏幕更好的选择。我认为你 * 可以 * 让一个服务账户通过域范围委托来模拟用户,但请记住Google本身并不鼓励使用此功能。另请参阅Create access credentials。
3条答案
按热度按时间5sxhfpxr1#
你看过吗?https://developers.google.com/identity/protocols/oauth2
看来这能解决你的问题。
独立于那个链接--〉是的,这是可以做的事情。你通过OAuth登录,一旦通过认证,该服务就可以使用GCP服务帐户https://cloud.google.com/iam/docs/service-accounts来使用GCP服务。
1hdlvixo2#
可以授予用户模拟服务帐户的权限。
可以通过域范围委派(Google Workspace)向服务帐户授予模拟用户帐户的权限。
用户不能模拟另一个用户。没有授予所需权限的机制。
qgzx9mmu3#
在GCP项目中,您可以使用以下类型的凭据访问Google API:
1.服务帐户
因此,为了回答您的问题,在GCP中使用OAuth 2.0当然是可能的。
但是,如果不知道应用程序需要访问什么数据,就很难判断使用服务帐户还是OAuth 2.0客户端更合适。在GCP项目中,如果您转到
APIs and services > Credentials > CREATE CREDENTIALS > Help me choose
,向导将引导您完成为每个身份验证场景创建最合适凭据的过程:最后,当你这样说时:
对于具有GCP访问权限的用户
你的意思是这些用户有一个Google账户可以访问你的项目中使用的Google API吗?如果是这样的话,并且你的项目不需要访问用户的数据,那么服务账户可能是比OAuth 2.0同意屏幕更好的选择。我认为你 * 可以 * 让一个服务账户通过域范围委托来模拟用户,但请记住Google本身并不鼓励使用此功能。
另请参阅Create access credentials。