GCP身份验证OAuth与服务帐户



我需要一些关于GCP上应用程序使用的最佳身份验证策略的建议。在阅读了所有文档之后,我正在努力确定接管OAuth与服务帐户的正确方向。

该应用程序将允许用户连接各自的谷歌搜索控制台帐户,同意该应用程序读取和收集搜索控制台印象数据。该应用程序将要求身份验证是持久的,因为该应用程序需要从用户同意之日起每天收集和处理数据。

我看到的一个选项是以编程方式为每个用户创建一个服务帐户,并要求用户将服务帐户电子邮件添加到他们希望连接到我的应用程序的各自谷歌搜索控制台帐户中。我看到这种方法的问题是,GCP项目的服务帐户限制为100个。

另一种是使用OAuth进行身份验证,并更正存储令牌的作用域,并在需要连接到每个搜索控制台帐户时使用这些令牌。我对这种方法的担忧是,同意书的有效期有多长,以及我是否会遇到到期问题。

为了让您有一点了解,服务帐户非常适合模拟域帐户,以实现无用户交互,并且所获得的信息仅针对您。请记住,服务帐户用于代表用户调用API的应用程序中。这意味着用户甚至不会知道你将要执行的应用程序动作。项目只需要一个服务帐户,并模拟高级访问(角色(用户。

但是,如果这是针对外部用户的,并且您希望他们看到其中的内容,我可能建议使用Oauth同意屏幕进行身份验证。这是因为使用ClientID,用户将作为最终用户进行身份验证,并访问应用程序中的用户数据。关于令牌的到期,您实际上可以请求刷新令牌

内部项目令牌最长可以持续7天,而外部项目令牌可以持续更长时间,具体取决于编码的刷新令牌。

最新更新