Google Admin SDK:如何使用服务帐户电子邮件而不是特权用户的电子邮件来检索 G Suite 日志?

Google Admin SDK: How to use the service account email instead of a privileged user's for retrieving G Suite logs?

我正在使用无服务器 Python 函数来检索 G Suite 日志。我已完成以下操作以针对 Admin SDK 进行身份验证:

1) 创建了一个项目 2)创建了一个具有项目->所有者角色的服务帐户 3)创建私钥(JSON)文件 4) 启用全域委托 5) 启用管理SDK 6) 通过使用 https://www.googleapis.com/auth/admin.reports.audit.readonly

授权我的服务帐户,通过 'One or More API Scopes' 委派全域权限

现在,当 运行 我的授权应用程序时,我使用 1) 可以访问创建的服务帐户的用户名(特权用户的电子邮件地址)和 2) 私钥 (JSON) 文件服务帐户。

授权我的应用程序时,我使用 oauth2client.service_account 包中的 ServiceAccountCredentials

问题:

当 运行 我的应用程序时,除非我使用特权用户的用户名(电子邮件地址),否则我无法授权 G Suite。当我用此电子邮件地址替换服务帐户的电子邮件地址时,我无法检索 G Suite 日志。

是否可以将服务帐户配置为允许通过服务帐户电子邮件地址进行授权?如果可以,我该怎么做?

我找到问题的答案了。无法使用服务帐户的电子邮件地址。

检索 G Suite 日志的正确步骤是 1) 使用或 2) 创建具有查看日志访问权限的用户。

如果必须创建用户,可以从 Google Admin console. After, the appropriate role(s) can be created at Google IAM 开始在用户控制台上完成。最后,这些角色可以在 Google 管理控制台应用到用户。