您运行无状态 VM 和 Cloud Run(已连接 VPC,ingress=Internal)。您创建了一个具有 roles/run.invoker 角色的服务账号来调度 Cloud Run 任务,但测试返回 403 Permission Denied。您应该怎么做?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 使用 Cloud Scheduler 和 Pub/Sub 来调用 Cloud Run。.
为什么这是答案
正确的做法是使用 Cloud Scheduler 和 Pub/Sub 来调用 Cloud Run。Cloud Scheduler 可以定期触发 Pub/Sub 消息,然后 Pub/Sub 可以配置为调用 Cloud Run 服务。这种模式是推荐的异步任务调度方式,并且 Cloud Scheduler 默认使用其服务账号进行身份验证,该服务账号可以被授予 roles/run.invoker 角色来调用 Cloud Run。 授予服务账号 roles/run.developer 角色不正确,因为此角色权限过高,且 roles/run.invoker 已足够调用服务。在 Compute Engine VM 上创建 cron 作业不正确,因为这增加了管理负担,且 Cloud Scheduler 是更原生的无服务器调度方案。将 Cloud Run ingress 更改为 Internal and Cloud Load Balancing 不正确,因为 ingress 设置与服务账号的调用权限无关,且 Cloud Load Balancing 主要用于外部流量管理。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡