You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Cloud服务账号执行reset-windows-password命令报错求权限指导

问题描述

在Google Cloud中使用gcloud compute reset-windows-password命令时遇到权限相关问题:

  • 使用主账号执行以下命令可正常运行:
gcloud compute reset-windows-password my-instance --zone=my-zone --project=my-project
  • 使用服务账号执行同一命令时,报错如下:
ERROR: (gcloud.compute.reset-windows-password) Did not receive password in a reasonable amount of time. Please try again.
If this persists, confirm that the clock on your local system is correct.
Current UTC time on your system: [2023-08-21 13:11:24.059083]

已验证网络连接和系统时间均正常,怀疑是服务账号权限不足导致,但不知如何排查。

【更新】服务账号的项目级权限配置如下:

  • Storage Admin
  • Compute Instance Admin (v1)
  • Service Account User
所需权限及排查方案

gcloud compute reset-windows-password的执行流程涉及修改实例元数据、读取实例串口输出等操作,对应的核心权限及排查步骤如下:

核心权限要求

执行该命令的服务账号至少需要以下权限:

  1. compute.instances.get:获取目标Windows实例的基础信息
  2. compute.instances.setMetadata:向实例注入用于生成密码的临时公钥
  3. compute.instances.getSerialPortOutput:读取实例串口输出以获取加密后的密码(这是最容易引发超时错误的环节)
  4. iam.serviceAccounts.actAs:若目标实例关联了自定义服务账号,执行命令的服务账号需要拥有该权限(对应Service Account User角色),以完成密码生成流程中的身份模拟

排查步骤

  1. 验证串口输出权限
    用服务账号执行以下命令,测试是否能读取实例串口输出:

    gcloud compute instances get-serial-port-output my-instance --zone=my-zone --project=my-project
    

    若此命令报错,说明服务账号缺少compute.instances.getSerialPortOutput权限,需补全。

  2. 检查实例串口状态
    用主账号执行上述串口输出命令,确认输出中存在Windows密码生成相关的日志(如包含"password"的条目),排除实例自身运行异常导致无法生成密码的情况。

  3. 确认实例服务账号授权
    若目标实例使用了自定义服务账号,需确保执行命令的服务账号被授予该实例服务账号的Service Account User角色(即拥有iam.serviceAccounts.actAs权限)。

  4. 排查组织政策限制
    检查项目或组织是否存在限制实例元数据修改、串口输出读取的组织政策,这类政策也可能导致命令超时。

内容的提问来源于stack exchange,提问作者El_Merendero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 22:36:31