【问题标题】:Is there a way to authenticate as a service account impersonating another service account to BigQuery Node.js client?有没有一种方法可以将另一个服务帐户模拟为 BigQuery Node.js 客户端的服务帐户?
【发布时间】: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


    【解决方案1】:

    你找到解决办法了吗?

    【讨论】:

    • 这篇文章看起来不像是试图回答这个问题。这里的每一篇文章都应该明确地尝试回答这个问题;如果您有批评或需要澄清问题或其他答案,您可以在其下方直接post a comment(如这个)。请删除此答案并创建评论或新问题。见:Ask questions, get answers, no distractions
    猜你喜欢
    • 2020-05-31
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 2015-02-26
    • 2018-06-22
    • 2021-11-01
    相关资源
    最近更新 更多