dde*_*dek 5 google-api-nodejs-client google-kubernetes-engine google-workspace workload-identity
我们一直在内部应用程序上使用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()
Run Code Online (Sandbox Code Playgroud)
我们的组织正在尝试不再使用服务帐户密钥文件,而是转向 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()
Run Code Online (Sandbox Code Playgroud)
但是,创建的访问令牌没有设置主题。这意味着令牌无法访问 Directory API。
有没有办法使用 Workload Identity 创建一个令牌?
| 归档时间: |
|
| 查看次数: |
378 次 |
| 最近记录: |