尝试在 GCP 中创建从项目 A 到项目 B 的 BigQuery 数据集传输配置
Trying to Create a BigQuery Dataset Transfer config from Project A to Project B in GCP
我在项目 A 中有一个服务帐户 admin@proj1.iam.gserviceaccount.com
这是我整个组织的项目所有者,因此我们使用它来使用我们的自动化在不同项目中创建资源。
我正在尝试使用上述来自 Project A
的服务帐户在 Project B
中通过 Terraform 创建一个 Google Big query Data Transfer Config
。
它给了我这个错误
Error creating Config: googleapi: Error 400: P4 service account needs iam.serviceAccounts.getAccessToken permission. Running the following command may resolve this error: gcloud iam service-accounts add-iam-policy-binding Admin@projectA.iam.gserviceaccount.com --member='serviceAccount:service-<Project_B_ID>@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com' --role='roles/iam.serviceAccountTokenCreator'
我在将创建数据集的 ProjectB
中尝试了 运行ning 上面的内容,它给了我一个错误 admin@proj1.iam.gserviceaccount.com
不存在。
我还没有在 ProjectA
中尝试过它(不允许 运行 CLI cmd)加上一切都是通过 Terraform 管理的,有没有办法解决这个问题而不需要手动 运行 这个。
或任何其他形式来解决此问题?
仅供参考:这仅与资源创建有关,数据集及其传输将仅限于项目 B
您需要将用户 “admin@proj1.iam.gserviceaccount.com”
绑定到项目 B 并分配角色 “roles/iam.serviceAccountTokenCreator”
。更多信息 here。
您可以将此示例代码与终端一起使用
gcloud iam service-accounts add-iam-policy-binding Admin@projectA.iam.gserviceaccount.com --member='serviceAccount:service-<Project_B_ID>@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com' --role='roles/iam.serviceAccountTokenCreator'
或者您可以使用 IAM 控制台并将此角色 roles/iam.serviceAccountTokenCreator 分配给用户 admin@proj1.iam.gserviceaccount.com
。
我在项目 A 中有一个服务帐户 admin@proj1.iam.gserviceaccount.com
这是我整个组织的项目所有者,因此我们使用它来使用我们的自动化在不同项目中创建资源。
我正在尝试使用上述来自 Project A
的服务帐户在 Project B
中通过 Terraform 创建一个 Google Big query Data Transfer Config
。
它给了我这个错误
Error creating Config: googleapi: Error 400: P4 service account needs iam.serviceAccounts.getAccessToken permission. Running the following command may resolve this error: gcloud iam service-accounts add-iam-policy-binding Admin@projectA.iam.gserviceaccount.com --member='serviceAccount:service-<Project_B_ID>@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com' --role='roles/iam.serviceAccountTokenCreator'
我在将创建数据集的 ProjectB
中尝试了 运行ning 上面的内容,它给了我一个错误 admin@proj1.iam.gserviceaccount.com
不存在。
我还没有在 ProjectA
中尝试过它(不允许 运行 CLI cmd)加上一切都是通过 Terraform 管理的,有没有办法解决这个问题而不需要手动 运行 这个。
或任何其他形式来解决此问题?
仅供参考:这仅与资源创建有关,数据集及其传输将仅限于项目 B
您需要将用户 “admin@proj1.iam.gserviceaccount.com”
绑定到项目 B 并分配角色 “roles/iam.serviceAccountTokenCreator”
。更多信息 here。
您可以将此示例代码与终端一起使用
gcloud iam service-accounts add-iam-policy-binding Admin@projectA.iam.gserviceaccount.com --member='serviceAccount:service-<Project_B_ID>@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com' --role='roles/iam.serviceAccountTokenCreator'
或者您可以使用 IAM 控制台并将此角色 roles/iam.serviceAccountTokenCreator 分配给用户 admin@proj1.iam.gserviceaccount.com
。