【发布时间】:2022-07-28 18:01:49
【问题描述】:
我正在尝试从 SA_A 作为 SA_B 进行身份验证。 (我已经设置了所有权限和 API,所以这不是问题)。
我看了一些代码,不知道怎么做。
BigQuery 扩展 Service 并使用它来处理身份验证
选项 A
import { BigQuery, Dataset } from '@google-cloud/bigquery';
import { GoogleAuth } from 'google-auth-library';
const googleAuth = new GoogleAuth({
scopes: ['https://www.googleapis.com/auth/bigquery'],
keyFile: 'key.json',
clientOptions: {
targetPrincipal: 'SA_B',
},
});
const client = new BigQuery({authClient: googleAuth})
不起作用,因为即使负责身份验证的“服务”类访问它,BigQuery 的构造函数也不会公开它。
选项 B
const client = new BigQuery({
keyFilename: 'key.json',
clientOptions: {
targetPrincipal: 'SA_B',
},
});
无法工作,因为“服务”类忽略了它们。
【问题讨论】:
标签: node.js google-cloud-platform google-bigquery