0

我们一直在使用Google Directory API在内部应用程序上获取用户的个人资料。当我们进行身份验证时,我们一直在为服务和google-auth-library JWT类使用 json 密钥文件。服务帐户具有域范围委派以使用此端点。因此,访问令牌需要subject设置为工作区管理员。

const jwt = new JWT({
  email: key.client_email,
  key: key.private_key,
  subject: '<admin-email-address>',
  scopes: 'https://www.googleapis.com/auth/admin.directory.user.readonly',
})

const accessToken = await jwt.getAccessToken()

我们的组织正在尝试从对服务帐户使用密钥文件转变为转向 GKE Workload Identity。我们可以使用应用程序默认凭据进行身份验证,将主题设置为clientOptions.

const auth = new GoogleAuth({
  scopes: 'https://www.googleapis.com/auth/admin.directory.user.readonly',
  clientOptions: {
    subject: '<admin-email-address>'
  }
})

const accessToken = await auth.getAccessToken()

但是,创建的访问令牌没有主题集。这意味着令牌无法访问 Directory API。

有没有办法使用 Workload Identity 创建一个令牌?

4

0 回答 0