将 GCP DLP 与 DataFusion 结合使用,找不到模板

Using GCP DLP with DataFusion, unable to find template

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

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

备注:

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

项目 Y:

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

项目 X:

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

现在您可以设置权限了,返回项目 Y 并将您的 Redact 更新为指向项目 X。

  1. 转到数据融合 -> Studio
  2. 单击密文-> 属性
  3. 输入你在项目X中创建的模板ID,在我的示例中它是“test_template”
  4. 在项目 ID 下,输入项目 X 的​​项目 ID
  5. 运行 您的数据融合管道