0
我在 Project X 中创建了一个名为 DLPTest 的 DLP 标识模板。
我的 Datafusion 资源托管在 Project Y 中。
问题是当我在 Datafusion 中使用 Redact 插件时,并在表单中提供模板 ID 或路径 -
projects/X/locations/ {LOCATION}/inspectTemplates/DLPTest 或
projects/X/inspectTemplates/DLPTest
所有权限均已提供给数据融合 SA、计算引擎 SA、DLP 服务帐户。Datafusion 找不到模板,因为它一直在 Project Y 中搜索模板。
> 错误日志 - > 原因:com.google.api.gax.rpc.InvalidArgumentException: io.grpc.StatusRuntimeException: INVALID_ARGUMENT: Invalid path:
Datafusion is在位置项目/Y/inspectTemplates/projects/DLPTest 中期待模板
如何让 DF 在单独项目中的正确位置查找模板?谢谢。
4

1 回答 1

1

当您希望 Project Y(您的数据融合所在)使用 Project X(DLP 所在)的资源时,将 Project Y 的数据融合和计算引擎服务帐户添加到 Project X。

笔记:

  • 数据融合服务帐号:service-xxxxxxx@gcp-sa-datafusion.iam.gserviceaccount.com
  • 默认计算引擎服务帐号:xxxxx-compute@developer.gserviceaccount.com

项目 Y:

  1. 转到 IAM 和管理 -> IAM
  2. 点击查看方式:“会员”
  3. 勾选复选框“包括 Google 提供的角色授权”
  4. 查找service-(Project Y的项目号)@gcp-sa-datafusion.iam.gserviceaccount.com(Project Y的项目号)-compute@developer.gserviceaccount.com
  5. 为服务添加角色“DLP 管理员”- (项目 Y 的项目编号)@gcp-sa-datafusion.iam.gserviceaccount.com

X计划:

  1. 转到 IAM 和管理 -> IAM
  2. 点击添加
  3. 在新成员下,输入 service-(Project Y 的项目号)@gcp-sa-datafusion.iam.gserviceaccount.com
  4. 授予“DLP 管理员”角色
  5. 重复第 2 步到第 4 步,但这次输入(项目 Y 的项目编号)-compute@developer.gserviceaccount.com

现在您可以设置权限,返回到项目 Y 并更新您的密文以指向项目 X。

  1. 转到数据融合 -> 工作室
  2. 单击编辑-> 属性
  3. 将您在 Project X 中创建的模板 ID,在我的示例中为“test_template” 在此处输入图像描述
  4. 在项目 ID 下,输入项目 X 的​​项目 ID 在此处输入图像描述
  5. 运行您的数据融合管道
于 2021-03-23T03:09:43.733 回答