对于在 Google Cloud 虚拟机上运行的应用程序,使用服务账号进行身份验证是推荐且最安全的方法。虚拟机可以自动使用其关联的服务账号凭据向 Google Cloud API 进行身份验证。只需确保该服务账号被授予了访问 Cloud Pub/Sub 所需的最小权限 IAM 角色(例如 roles/pubsub.publisher)。
选项 B 不正确,因为访问范围是旧版授权机制,不应与 IAM 角色混淆或替代。IAM 角色是更精细和推荐的权限控制方式。选项 C 不安全且管理复杂,将访问令牌存储在 Cloud Storage 中存在安全风险。选项 D 引入了不必要的复杂性和延迟,Cloud Function 作为网关对于虚拟机直接访问 Pub/Sub 来说是多余的。