使用GCP时,Service Account是肯定躲不开的,今天来聊一下Service Account是个什么东西。
在 GCP 上,Service Account是一种用于认证和授权 GCP 应用程序和服务的机制,就像您在日常生活中使用的用户名和密码一样。Service Account允许应用程序和服务使用它们的身份访问 GCP 资源,而不是使用个人 Google 帐号。这样,您就可以更好地控制应用程序和服务对 GCP 资源的访问,也更容易管理这些应用程序和服务的身份验证和授权。
虽然听起来像是账户,但是我觉得跟平常理解的账户的概念不一样,说白了就是权限的设置,或者说是权限的扩展好一些。
定义一些Service Account,可以给不同的User或者不同的服务提供不同的Service Account,进行一些权限方面的管理。
例如,可以将某个Service Account与拥有 BigQuery 数据阅读权限的 IAM 角色相关联,以允许该Service Account在 GCP 上读取 BigQuery 中的数据。
有些时候,我们需要在代码里指定Service Account,比如我们需要用Python开发一个小的API,要CICD到CloudRun上,CloudRun运行的时候会指定一个Service Account,叫做A;
但是我们在Python逻辑处理的时候,需要访问某个PJ的BigQuery的数据,但是A没有访问权限,管理员出于权限管理的考虑,给了你一个可以访问该BigQuery的Service Account,叫做B;
如何在A和B之间切换?
其实在这种情况下,A只是负责CloudRun运行的,可视为从始至终的Serv