问题排查

如果您在使用 Cloud Healthcare API 时遇到问题,请查阅以下实用的问题排查步骤。

无法启用 Cloud Healthcare API

首次在 Google Cloud 项目中启用 Cloud Healthcare API 时,您可能会遇到权限错误,指出您无权为项目启用 Google Cloud API。

如需了解如何启用 Google Cloud API(包括 Cloud Healthcare API),请参阅启用和停用 API

无法向 Cloud Healthcare API 进行身份验证

调用 Cloud Healthcare API 时,您可能会收到一条错误消息,表明您的“应用默认凭据”不可用。

如需了解如何配置应用默认凭据或如何将身份验证凭据手动传递到应用或命令,请参阅向 API 进行身份验证

缺少 Cloud Healthcare API 服务帐号或 Healthcare Service Agent 角色

启用 Cloud Healthcare API 后,系统会自动创建 Cloud Healthcare Service Agent 服务帐号。这是 Google 管理的服务帐号。您无法完全删除该服务帐号,但在某些情况下,该服务帐号可能不会显示在身份和访问权限管理页面中,且您可能会遇到 Cloud Healthcare API 问题。

为使 Cloud Healthcare API 正常运行并完成从 Pub/Sub 发布和接收消息或向 Cloud Logging 写入指标等任务,Cloud Healthcare Service Agent 服务帐号必须存在,且必须具有 Healthcare Service Agent IAM 角色。

如果遇到以下任何问题,您可以重新创建 Cloud Healthcare Service Agent 服务帐号或向其授予 Healthcare Service Agent IAM 角色:

  • 您无法在身份和访问权限管理页面中找到 Cloud Healthcare Service Agent 服务帐号。
  • 可以找到 Cloud Healthcare Service Agent 服务帐号,但它不具有包含 Healthcare Service Agent 角色。

借助 gcloud 命令行工具并使用 Cloud Healthcare Service Agent 服务帐号的标识符(格式为 service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount),将 healthcare.serviceAgent 角色添加到该服务帐号中。

如需重新创建该服务帐号或向其授予 Healthcare Service Agent IAM 角色,请运行 gcloud projects add-iam-policy-binding 命令。如需查找 PROJECT_IDPROJECT_NUMBER,请参阅识别项目

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com \
    --role=roles/healthcare.serviceAgent

如果请求成功,命令提示符将显示类似于以下示例的消息:

Updated IAM policy for project [PROJECT_ID].
bindings:
...
- members:
  - serviceAccount:service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com
  role: roles/healthcare.serviceAgent
...
etag: VALUE
version: VALUE

再次返回 Identity and Access Management,并验证以下各点:

  • 成员列包含一个格式为 service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount 的服务帐号标识符。
  • 成员列的上述标识符所在的同一行中,名称列包含的值是 Cloud Healthcare Service Agent
  • 成员列的上述标识符所在的同一行中,角色列包含的值是 Healthcare Service Agent